A Unity 6 / Quest 2 viewer for exploring Might and Magic VI maps in VR.
demo.mp4
This repository does not include Might and Magic VI game assets. You need a valid local MM6 installation to generate maps, textures, sprites, and the APK.
The demo video is included for preview only. A prebuilt APK is intentionally not distributed here, because the playable APK contains map, texture, sprite, and audio data generated from the original game files.
- Extracts MM6 outdoor and indoor map data from your local installation.
- Converts textures, sprites, terrain, buildings, monsters, villagers, and decorations into Unity assets.
- Builds a Quest 2 VR viewer with teleport, left-stick movement, snap turn, and jump.
- Directly opens New Sorpigal for the current Quest test flow.
The demo file is tracked in this repo:
media/demo.mp4
If GitHub does not render the video inline, open it from the link above.
- Unity
6000.4.0f1 - Unity Android Build Support with SDK, NDK, and OpenJDK
- Python 3
- Meta Quest 2 in Developer Mode
- A valid local Might and Magic VI installation
Expected game-data layout:
originaldata/
Might and Magic 6/
data/
Games.lod
BITMAPS.LOD
SPRITES.LOD
icons.lod
new.lod
Sounds/
2.mp3
...
Building New Sorpigal, any other outdoor map, indoor dungeons, or the final Quest APK requires the original MM6 game data from your own installation. The scripts read the .LOD archives locally and generate Unity-ready assets on your machine; those generated assets are not included in this repository.
Run from the repo root:
python3 tools/build_mm6_new_sorpigal_package.py --install-dir "originaldata/Might and Magic 6"For more maps, use the other build scripts in tools/ after placing the same original game data under originaldata/Might and Magic 6, for example:
python3 tools/build_mm6_outdoor_world_packages.py --install-dir "originaldata/Might and Magic 6"
python3 tools/build_mm6_indoor_test_packages.py --install-dir "originaldata/Might and Magic 6"Open the Unity project:
unity/MM6OutdoorImporter
In Unity, run:
Tools/MM6/Configure Quest 2 Project Settings
Tools/MM6/Prepare New Sorpigal Quest Test
Tools/MM6/Build Quest 2 APK
The APK is written locally to:
unity/MM6OutdoorImporter/Builds/Quest2/MM6Viewer-Quest2.apk
The APK is not committed to this public repo, even for the demo build. Build it locally first from your own MM6 installation:
unity/MM6OutdoorImporter/Builds/Quest2/MM6Viewer-Quest2.apk
Then install it with adb:
- Enable Developer Mode for the headset in the Meta Horizon mobile app.
- Connect the Quest 2 over USB.
- Put on the headset and accept the USB debugging prompt.
- Verify the device is visible:
adb devices- Install or update the app:
adb install -r unity/MM6OutdoorImporter/Builds/Quest2/MM6Viewer-Quest2.apkIf adb says device unauthorized, keep the headset awake, disconnect and reconnect USB if needed, then accept the USB debugging dialog inside the headset before retrying.
If the APK exists at the absolute local path used during development, this is equivalent:
adb install -r unity/MM6OutdoorImporter/Builds/Quest2/MM6Viewer-Quest2.apkThat local APK is a demo/test build, but it is still generated from original MM6 game data. To build New Sorpigal or any other map, keep your original game files local under originaldata/Might and Magic 6 and regenerate the Unity packages/APK on your own machine.
- Left stick: move
- Left secondary button: jump
- Left primary button: toggle direct movement
- Right stick: snap turn
- Right trigger: teleport
tools/: Python extraction and packaging scripts.unity/MM6OutdoorImporter/: Unity project.Scripts/: optional MMExtension helper script.media/demo.mp4: demo video.
Ignored local/generated content includes originaldata/, generated/, Unity Library/, generated imported maps, generated packages, APKs, logs, and extracted MM6 assets.