Multiboxer validates many references and values at startup. A configuration error normally prevents startup and reports the offending path or name.
Check these first:
Valid path:
"executable": "C:\\Games\\MyGame\\Game.exe"
Without a command-line argument, Multiboxer first looks for:
%APPDATA%\MultiBoxer\config\default.json
If it is absent, the application tries to copy the installed config\default.json template there. In development or when copying fails, it may use the template beside the application. The Config button opens the file actually loaded for this run.
main_region must:
regions.instances[].region entry.Every instance must own an existing region, and two instances cannot initially own the same region.
Verify:
display is the correct zero-based monitor index written as a string.An invalid or unavailable display value can fall back to monitor 0.
The configuration validator does not verify executable paths. Check that the file exists, the account can run it, and any working_directory is correct. Remember to double backslashes in JSON.
Use a name from keys and actions. Combos must contain modifiers first and one ordinary key last:
Valid: Ctrl+Shift+1
Invalid: 1+Ctrl
Invalid: Ctrl+
Invalid: Ctrl+Shift
The wildcard is any, not *.
Check that:
actions contains at least one outer step.keys, or a UI/selection mechanism invokes its name.targets resolves to an active managed instance.execute_on matches the edge you expect.The required action shape is:
"actions": [
[
{ "action": "forward" }
]
]
The double nesting represents steps and the actions within each step.
Instance, region, and keymap references are case-insensitive but must otherwise match configured names. Valid target selectors are only all, all_other, self, and explicit instance names.
Named keymap state actions and UI bindings require a keymap with name. Duplicate named keymaps fail validation.
sync_mouse: true performs a one-time pointer synchronization before an action. It does not enable continuous broadcasting.
Use this for continuous broadcasting:
{
"action": "mouse_broadcast",
"mouse_broadcast_mode": "toggle"
}
The mode changes on trigger release. once and until_click stop at the next mouse button-down event.
This is an advanced/internal feature. Start with:
"inject_virtual_mouse_dll": false
When enabled, Multiboxer must find compatible Injector32.exe and MouseVirtualizer32.dll helper files. Security software may quarantine them, and the target process must be compatible. Enable debug for more detail.
When capture_compositor.enabled is true:
backend must be desktop_duplication_d3d11.fps must be between 1 and 240.stream_regions must retain at least one valid non-main region.main_region cannot appear in the streams.Compositor initialization failure is fatal to startup. Disable the compositor while testing the basic window layout.
Button IDs must be non-empty and unique across ui.buttons and every keymaps[].ui_button. Coordinates cannot be negative, and dimensions must be greater than zero. A non-empty keymap binding must name an existing keymap.
Allowed roles are config and action. A keymap-owned ui_button requires the containing keymap to have a name.
Enable diagnostics temporarily:
"debug": true,
"debug_log_path": "logs\\multiboxer.log"
Relative log paths are resolved from the configuration file's directory. If no path is specified, logging uses:
%TEMP%\MultiBoxerLogs\multiboxer.log
Turn detailed logging off again after troubleshooting if you do not need it.