Templates
Templates overview
Templates are reusable controller-to-MIDI mappings. Learn how they differ from presets and how Universal Controller MIDI loads them.
Updated
A template is a complete controller mapping packaged as a single JSON file — button-to-note assignments, axis CCs, stick corner zones, touchpad routing, OSC targets, and adaptive trigger haptics, all in one flat object. It is the unit you ship, share, version, and ultimately drop into someone else's library so they get your sound in one click.
Everything else in the app — the mapping editor, the marketplace, the import wizard — exists to produce, modify, or move templates around. If you understand the shape of one, you understand 90% of the app.
Templates vs presets
In Universal Controller MIDI the words get tossed around, so pin them down. A preset is a template that lives in your library and is currently selectable from the dropdown. A template is the file on disk (or in the marketplace) that produced it. Every one of the 48 bundled mappings is both — a template shipped inside the binary, exposed as a preset.
Why split the terms? Because a template can exist without ever being loaded, and a preset can be edited live without writing anything to disk. Keep the distinction and the rest of the docs make sense. The deeper breakdown lives at presets vs templates.
What lives inside
Every template conforms to schema_version: 2. The shape is flat and predictable — no nested mapping graphs, no inheritance, no conditional layers. If you can read JSON, you can read a template:
{
"name": "Beat Making — Finger Drumming",
"schema_version": 2,
"midi_channel": 0,
"deadzone": 0.05,
"poll_hz": 100,
"buttons": { "0": 36, "1": 38 },
"axes": { "0": 3, "1": 4 },
"hats": { "up": 78, "down": 79, "left": 80, "right": 81 },
"left_stick_corners": { "enabled": true, "n": 8, "notes": [64,65,66,67,68,69,70,71], "r_enter": 0.92, "r_exit": 0.75 },
"right_stick_corners": { "enabled": false },
"touchpad": { "enabled": false },
"osc": { "enabled": false },
"l2_haptic_effect": null,
"r2_haptic_effect": null
} The 48 bundled categories at a glance
The pack inside the binary is deliberately broad. Here's how it splits, so you know whether your use case is already covered before you go writing JSON:
| Category | Templates | Example | Primary surface |
|---|---|---|---|
| Beat making | 9 | Finger Drumming, MPC-style 16-pad | buttons + stick corners |
| DAW control | 11 | FL Studio Channel Rack, Pro Tools HUI | buttons + axes |
| VJ / visuals | 7 | Resolume Arena, Modul8, TouchDesigner | axes + touchpad |
| MPE / expression | 4 | MPE Polyphonic, Sticks-as-LFO | axes + touchpad |
| Live performance | 8 | Podcast Soundboard, Adaptive Triggers | haptics + buttons |
| OSC / non-MIDI | 5 | Drone OSC Flight, lighting console | osc |
| Hardware-specific | 4 | 8BitDo Pro 2 Paddles, GameCube adapter | varies |
The 48 bundled templates live inside the app binary. They never overwrite your saved presets and you cannot break them by editing — duplicates are written to your user library instead.
Real-world template patterns
Five recipes that come up over and over. Steal these as starting points:
- Finger-drum kit — 16 face/shoulder buttons mapped to
buttonsas GM drum notes (36–51),deadzone: 0.05, no stick corners. The starter pack. - Scale-locked melody — both stick corners at
n: 8, notes set to a scale (C major, A minor pent), D-pad shifts octaves via program change. - VJ scratch deck — left stick to
axesCC 1+2 for clip XY, touchpad enabled for two-finger speed/pitch, shoulder buttons trigger scenes. - Expression rig — L2/R2 as continuous CCs (mod wheel + expression),
l2_haptic_effect: "trigger_resist"for that bow-feel, sticks driving LFO depth. - Hybrid OSC controller — half the surface speaks MIDI to a DAW, the other half routes through the
oscblock to lighting or visuals. One controller, two protocols.
Where to next
Pick a path:
- Use a built-in template — fastest way to make sound in 30 seconds.
- Customize a template — override fields without forking.
- Create one from scratch — when none of the 48 fit.
- Best practices — the rules I wish I'd known.
- Marketplace concept — how shared templates actually move around.