Instead of every mod competing for the same handful of buttons, each mod claims its own context. The player cycles between contexts on the fly with a reserved key, and a compact animated HUD on the right side of the screen shows which one is active.
Why it's worth using
- No more button conflicts — each mod gets its own input context; other mods' bindings can't fire while yours is active.
- No more key shortage — A, B, Z, C-buttons and the stick are reused across contexts, so you're not limited by the controller.
- Full control schemes — build combat, menus, tools, camera modes, minigames, or anything else that needs its own set of bindings.
- Modal by design — a layer can absorb input entirely, so a pause menu can swallow every button press while it's open.
- Zero commitment — register one layer and one action, ignore the rest of the API. No dependencies, nothing is replaced.
- Global hooks included — bind actions that fire regardless of context, perfect for hotkeys, debug toggles, or shared behavior.
- Built-in HUD — the active layer is drawn automatically, with a per-layer accent color and smooth fade in/out so it never gets in the way.
- Layer-aware extras — listen for layer changes, draw UI only while a given layer is active, query the current layer or list all registered ones.
- Safe to detach — every hook has a matching unsubscribe, so a mod can clean up completely when it unloads.
For more integration details join the official sm64coopdx Discord or contact me in Discord: @crazydany_