Skip to content

projectharmonia/bevy_enhanced_input

Repository files navigation

Bevy Enhanced Input

crates.io docs.rs license codecov

Input manager 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, controlled by Actions<C> components.
  • 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.
  • Control how actions accumulate input from sources and consume it.
  • React to actions with observers.

Getting Started

Check out the quick start guide for more details.

See also examples in the repo. simple_fly_cam.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.16.0 0.11
0.15.0 0.4-0.10
0.14.0 0.1-0.3

License

Licensed under either of Apache License, Version 2.0 or MIT License at your option.