#bevy #input #input-action

bevy_enhanced_input

Input manager for Bevy, inspired by Unreal Engine Enhanced Input

17 releases (10 breaking)

Uses new Rust 2024

0.11.0 Apr 24, 2025
0.9.0 Apr 8, 2025
0.8.0 Mar 17, 2025
0.5.0 Dec 5, 2024
0.4.0 Nov 30, 2024

#147 in Game dev

Download history 286/week @ 2025-01-15 189/week @ 2025-01-22 31/week @ 2025-01-29 57/week @ 2025-02-05 23/week @ 2025-02-12 9/week @ 2025-02-19 40/week @ 2025-02-26 104/week @ 2025-03-12 50/week @ 2025-03-19 13/week @ 2025-03-26 57/week @ 2025-04-02 444/week @ 2025-04-09 195/week @ 2025-04-16 465/week @ 2025-04-23 273/week @ 2025-04-30

1,415 downloads per month

MIT/Apache

210KB
4.5K SLoC

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.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.

Dependencies

~61–98MB
~1.5M SLoC