#bevy #input #bevy-enhanced-input

bevy_enhanced_input

Input manager for Bevy, inspired by Unreal Engine Enhanced Input

15 releases (9 breaking)

Uses new Rust 2024

new 0.10.0-rc.5 Apr 15, 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

#212 in Game dev

Download history 4/week @ 2024-12-31 67/week @ 2025-01-07 256/week @ 2025-01-14 256/week @ 2025-01-21 32/week @ 2025-01-28 62/week @ 2025-02-04 20/week @ 2025-02-11 11/week @ 2025-02-18 24/week @ 2025-02-25 17/week @ 2025-03-04 73/week @ 2025-03-11 74/week @ 2025-03-18 17/week @ 2025-03-25 22/week @ 2025-04-01 408/week @ 2025-04-08

587 downloads per month

MIT/Apache

200KB
4K 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.15.0 0.4-0.9
0.14.0 0.1-0.3

License

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

Dependencies

~59–97MB
~1.5M SLoC