18 releases (11 breaking)

Uses new Rust 2024

0.12.0 May 25, 2025
0.10.0 Apr 24, 2025
0.8.0 Mar 17, 2025
0.5.0 Dec 5, 2024
0.4.0 Nov 30, 2024

#87 in Game dev

Download history 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 381/week @ 2025-05-07 565/week @ 2025-05-14 242/week @ 2025-05-21 1118/week @ 2025-05-28 1738/week @ 2025-06-04

3,743 downloads per month
Used in foxtrot

MIT/Apache

215KB
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_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.12
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–100MB
~1.5M SLoC