https://github.com/maotovisk/mapwizard
A toolset of utilities for osu! standard mappers
https://github.com/maotovisk/mapwizard
avalonia beatmap copier csharp dotnet hitsound manager mapping metada osu
Last synced: 2 months ago
JSON representation
A toolset of utilities for osu! standard mappers
- Host: GitHub
- URL: https://github.com/maotovisk/mapwizard
- Owner: maotovisk
- Created: 2024-03-31T01:10:05.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2026-03-27T07:40:57.000Z (2 months ago)
- Last Synced: 2026-03-27T19:31:14.188Z (2 months ago)
- Topics: avalonia, beatmap, copier, csharp, dotnet, hitsound, manager, mapping, metada, osu
- Language: C#
- Homepage: https://mapwizard.maot.dev
- Size: 17.4 MB
- Stars: 11
- Watchers: 2
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# MapWizard
Cross-platform osu! beatmap utility suite built with C#/.NET 10 and Avalonia.
[](https://github.com/maotovisk/MapWizard/releases)


[](https://github.com/maotovisk/MapWizard)
## Current Features
- HitSound Copier
- Metadata Manager
- Combo Colour Studio
- Map Picker
- Theme/settings management
- Update stream + updater integration
## Projects
- `MapWizard.Desktop`: Avalonia desktop app.
- `MapWizard.Tools`: core tooling logic.
- `MapWizard.Tests`: test suite.
## Requirements
- .NET SDK `10.0.0` or later (see `global.json`).
- Velopack CLI (`vpk`) for release packaging.
## Run from Source
```bash
git clone https://github.com/maotovisk/MapWizard.git
cd MapWizard
dotnet restore
dotnet build
dotnet run --project MapWizard.Desktop
```
Optional software rendering fallback:
```bash
dotnet run --project MapWizard.Desktop -- --software-rendering
```
Or:
```bash
MAPWIZARD_FORCE_SOFTWARE_RENDERING=1 dotnet run --project MapWizard.Desktop
```
## Tests
```bash
dotnet test MapWizard.Tests/MapWizard.Tests.csproj
```
## Release Builds
Packaging scripts are in `MapWizard.Desktop/`:
- `build-linux.sh`
- `build-osx.sh`
- `build-win.sh`
- `build-win.bat`
## Config and Data Paths
Settings file: `MainSettings.ini`
- Windows: `%APPDATA%\MapWizard\MainSettings.ini`
- macOS: `~/Library/Application Support/MapWizard/MainSettings.ini`
- Linux: `$XDG_CONFIG_HOME/MapWizard/MainSettings.ini` (fallback: `~/.config/MapWizard/MainSettings.ini`)
Combo Colour Studio local projects:
- Windows: `%APPDATA%\MapWizard\ComboColourStudio\projects.json`
- macOS: `~/Library/Application Support/MapWizard/ComboColourStudio/projects.json`
- Linux: `$XDG_DATA_HOME/MapWizard/ComboColourStudio/projects.json` (fallback: `~/.local/share/MapWizard/ComboColourStudio/projects.json`)
## Credits
- [OliBomby's Mapping Tools](https://github.com/olibomby/mapping_tools) for inspiration.
- The original [Map Wizard](https://github.com/maotovisk/map-wizard) (Tauri/Svelte implementation).
- [osu! file format docs](https://osu.ppy.sh/help/wiki/osu!_File_Formats).
- [ppy/osu](https://github.com/ppy/osu) for reference.
- [OsuMemoryDataProvider](https://github.com/Piotrekol/ProcessMemoryDataFinder) (Windows memory reader dependency).
- [hwsmm/cosutrainer](https://github.com/hwsmm/cosutrainer) for Linux osu! memory reading reference.
## Contributing
Issues and pull requests are welcome.