6 releases (breaking)

new 0.5.0 Dec 5, 2024
0.4.0 Nov 30, 2024
0.3.0 Nov 30, 2024
0.2.1 Nov 20, 2024
0.1.0 Oct 20, 2024

#800 in Game dev

Download history 151/week @ 2024-10-20 2/week @ 2024-10-27 163/week @ 2024-11-03 11/week @ 2024-11-10 127/week @ 2024-11-17 120/week @ 2024-11-24 281/week @ 2024-12-01

542 downloads per month

MIT/Apache

180KB
4K SLoC

Bevy Enhanced Input

crates.io docs.rs codecov

Dynamic and contextual input mappings for Bevy, inspired by Unreal Engine Enhanced Input.

Features

  • Map inputs from various sources (keyboard, gamepad, etc.) to gameplay actions like Jump, Move, or Attack.
  • Assign actions to different contexts like OnFoot or InCar, 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 by implementing a trait.
  • React on actions with observers.

Getting Started

Check out the quick start guide for more details.

See also examples in the repo. simple.rs should be a good starting point.

Have any questions? Feel free to ask in the dedicated bevy_enhanced_input channel in Bevy's Discord server.

Bevy compatibility

bevy bevy_enhanced_input
0.15.0 0.4-0.5
0.14.0 0.1-0.3

Dependencies

~54–91MB
~1.5M SLoC