Quickstart: Using and Making Packs
How to use the in-app shader manager, assign packs to models, tune parameter sliders, and create new packs with live hot reload.
Managing Shader Packs in MMDX12
Click the Shader (셰이더) tab in the top navigation bar (located between “Library” and “Benchmark”) to open the shader pack manager.
The “Installed” (설치됨) Tab
Displays every pack installed on your system as interactive cards:
- Card Overview: Preview thumbnail, localized title, version number, author credits, tags, and origin badge (Built-in / 기본 제공, Installed / 설치됨, Online / 온라인).
- Status Indicators:
Ready(사용 가능): The manifest is valid and the pack is ready to be assigned.Compiled(컴파일됨): Successfully compiled in the current session.Compile Error(컴파일 오류): HLSL compilation failed; marked in red, with full compiler diagnostic logs displayed in the inspector.Incompatible(호환되지 않음): The pack’s API version or minimum app version exceeds your installed version of MMDX12.Invalid Manifest(매니페스트 오류): Parsing failed or required keys are missing inpack.json.Duplicate(중복): Shares an ID with another pack discovered earlier; non-selectable.
- Available Actions:
Open Folder(폴더 열기): Opens the selected pack directory in File Explorer.Delete(삭제): Removes an installed or online pack (built-in packs cannot be deleted).Install ZIP(zip 설치): File picker to select a.zippack archive. You can also drag and drop a.zipfile directly onto the window.New Pack(새 팩 만들기): Creates a fresh template in your user folder.Reload(다시 불러오기): Rescans pack folders and clears stale caches.
The “Online” (온라인) Tab
Browse the official curated gallery from https://mmdx.codingbot.kr/shader-packs/index.json:
- Install: Downloads the pack zip archive, verifies its SHA-256 hash and byte size against the index, and extracts it safely.
- Update: If a newer version is released in the gallery, an
Update(업데이트) button appears automatically.
Assigning a Pack to a Character
Packs are assigned per character model, not globally:
- Library Screen:
- Select a character model and look at the right inspector panel.
- Click the Shader (셰이더) row. A searchable modal opens showing
MMD Default(MMD 기본) followed by all available packs.
- Pack Settings (Sliders):
- When a pack is active, parameter sliders appear under
Pack Settings(팩 설정). - Adjust values like shadow thresholds, softness, warmth, or rim highlights in real time.
- Only modified parameters are saved into your character preferences, keeping default behaviors intact for untouched settings.
- When a pack is active, parameter sliders appear under
- Play Mode Live Tweaking:
- While a dance is playing, click the diamond button (◇) in the bottom toolbar to open the same settings drawer.
- Studio Editor:
- Select an actor model and inspect the
Shaderrow. Saved directly into.mmdxprojproject files under theshaderkey.
- Select an actor model and inspect the
- Command-Line Override:
- You can temporarily override a character’s pack from the terminal:
PassMMDX12.exe --shader-pack hoyo_toon--shader-pack noneto force standard MMD rendering across all characters.
- You can temporarily override a character’s pack from the terminal:
Creating Your First Pack with Hot Reload
You never need to restart MMDX12 while authoring shaders:
- In the Shader Manager, click New Pack (새 팩 만들기) and choose an ID (e.g.
my_pack). - MMDX12 sets up
<MMDX12>/shader_packs/my_pack/populated with a cleanpack.jsonand a commentedsurface.hlsltemplate. - Open the folder in your code editor of choice (such as VS Code).
- In MMDX12, assign
my_packto your character in the Library. - Edit
surface.hlslor tweakpack.json. The moment you save, MMDX12 detects the file system change, compiles the HLSL with DXC in milliseconds, and reloads the viewport seamlessly. - If a compilation error occurs, the character gracefully falls back to default shading without crashing, and a red diagnostic banner appears with line-by-line compiler messages.