InputForge v0.1.1
InputForge v0.1.1
A quick follow-up release, one day after the initial Asset Library submission — a few real bugs were caught by the new unit tests, and some practical features came out of building a demo scene.
New
-
Context equality — compare contexts by name with
==/!=, so you can checkEnhancedInputSystem.GetInstance().GetCurrentContext() == GameplayContextwithout holding a reference to the exact same resource. -
PreventFallbackContext— when enabled, only the topmost context handles input; nothing falls through to lower contexts even if it doesn't match. Useful for modal states like a pause menu or mouse-look mode that should fully take over input. -
DuplicateContextBehavior— controls what happens if you push a context that's already active. Defaults to Replace, which moves it to the top instead of leaving a stale duplicate behind. -
Stack & context signals —
EnhancedInputSystemnow emitsActiveContextChanged,ContextPushed,ContextPopped. EachInputMappingContextalso emits its ownPushed,Popped, andPriorityChanged. -
Throughput benchmarks — added stability/throughput tests comparing InputForge's dispatch against N classes each overriding
_Input()independently. InputForge comes out ~1.5x cheaper at 10 handlers and ~6.8x cheaper at 500 handlers. Full write-up in SMOKE_BENCH.md.
Fixed
DeadzoneModifiernow correctly zeroes a value exactly equal to the deadzone threshold (was <, now <=) — caught by the new unit tests.- Fixed a signal bug where
ActiveContextChangedcould fire incorrectly when popping a non-topmost context, or when re-pushing an already-topmost one.
Other
- Fixed .gitattributes so Asset Library installs only pull addons/input_forge, not any other locally-installed addons.