It’s a crate for dynamic and contextual input mappings for Bevy, inspired by Unreal Engine Enhanced Input.
I really like the UE approach and decided to bring it to Bevy.
Despite being the first release, it’s packed with features:
- Map inputs from various sources (keyboard, gamepad, etc.) to gameplay actions like
Jump
,Move
, orAttack
. - Assign actions to different contexts like
OnFoot
orInCar
, which are regular components. - Activate or deactivate contexts by simply adding or removing components.
- Control how actions accumulate input from sources and consume it.
- Layer multiple contexts on a single entity, controlled by priority.
- Apply modifiers to inputs, such as dead zones, inversion, scaling, etc., or create custom modifiers by implementing a trait.
- Assign conditions for how and when an action is triggered, like “hold”, “tap”, “chord”, etc. You can also create custom conditions, such as “on the ground”.
- React on actions with observers.
I’ve implemented everything from UE and even added some extras. The crate also has ~90% test coverage.
You must log in or register to comment.
This does look cool. How would it work together with Steam Input?
Thanks!
It should work seamlessly since Steam Input operates at a lower level.
The app will receive the already-mapped input, so no additional handling needed.