ImperiumFix
Fixes a longstanding issue with Imperium
About this mod Author’s original text
ImperiumFix
Fixes a longstanding issue with Imperium.
Specifically, errors like this one:
[14:56:17.1767915] [Error: Unity Log] Exception 'NullReferenceException' thrown from state change monitor 'InputActionState' on 'DiscreteButton:/Keyboard/ctrl'
[14:56:17.1767915] [Error: Unity Log] NullReferenceException: Object reference not set to an instance of an object
Stack trace:
UnityEngine.InputSystem.InputActionState.ProcessInteractions (UnityEngine.InputSystem.InputActionState+TriggerState& trigger, System.Int32 interactionStartIndex, System.Int32 interactionCount) (at:IL_003E)
UnityEngine.InputSystem.InputActionState.ProcessControlStateChange (System.Int32 mapIndex, System.Int32 controlIndex, System.Int32 bindingIndex, System.Double time, UnityEngine.InputSystem.LowLevel.InputEventPtr eventPtr) (at:IL_024D)
UnityEngine.InputSystem.InputActionState.UnityEngine.InputSystem.LowLevel.IInputStateChangeMonitor.NotifyControlStateChanged (UnityEngine.InputSystem.InputControl control, System.Double time, UnityEngine.InputSystem.LowLevel.InputEventPtr eventPtr, System.Int64 mapControlAndBindingIndex) (at:IL_000E)
UnityEngine.InputSystem.InputManager.FireStateChangeNotifications (System.Int32 deviceIndex, System.Double internalTime, UnityEngine.InputSystem.LowLevel.InputEvent* eventPtr) (at:IL_008E)
UnityEngine.InputSystem.LowLevel.<>c__DisplayClass7_0:b__0(NativeInputUpdateType, NativeInputEventBuffer*)
UnityEngineInternal.Input.NativeInputSystem:NotifyUpdate(NativeInputUpdateType, IntPtr)
Not only do they pollute your logs everytime you press ctrl/space, but the flight system also breaks.
One known temporary work-around is to re-assign the Toggle Flight, Flying Ascend and Flying Descend keybinds.
You'd have to do this for every boot though.
Also note: Not everyone seems to have this issue. If you don't have it, lucky you!
This is a band-aid fix until Imperium officially fixes this.
It works by reloading all Imperium keybinds whenever you join/host a lobby.
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.
Install these first, or the mod will not work: