https://github.com/projectharmonia/bevy_enhanced_input
Input manager for Bevy.
https://github.com/projectharmonia/bevy_enhanced_input
bevy input
Last synced: about 1 month ago
JSON representation
Input manager for Bevy.
- Host: GitHub
- URL: https://github.com/projectharmonia/bevy_enhanced_input
- Owner: projectharmonia
- License: apache-2.0
- Created: 2024-10-06T13:06:45.000Z (7 months ago)
- Default Branch: master
- Last Pushed: 2025-04-09T23:44:03.000Z (about 1 month ago)
- Last Synced: 2025-04-10T02:18:56.989Z (about 1 month ago)
- Topics: bevy, input
- Language: Rust
- Homepage: https://crates.io/crates/bevy_enhanced_input
- Size: 615 KB
- Stars: 83
- Watchers: 2
- Forks: 10
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE-APACHE
Awesome Lists containing this project
- awesome-bevy - `bevy_enhanced_input`
- awesome-bevy - `bevy_enhanced_input`
README
# Bevy Enhanced Input
[](https://crates.io/crates/bevy_enhanced_input)
[](https://docs.rs/bevy_enhanced_input)
[](#license)
[](https://codecov.io/gh/projectharmonia/bevy_enhanced_input)Input manager for [Bevy](https://bevyengine.org), inspired by [Unreal Engine Enhanced Input](https://dev.epicgames.com/documentation/en-us/unreal-engine/enhanced-input-in-unreal-engine).
## 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` 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](https://docs.rs/bevy_enhanced_input) for more details.
See also examples in the repo. [simple.rs](examples/simple.rs) should be a good starting point.
Have any questions? Feel free to ask in the dedicated [`bevy_enhanced_input` channel](https://discord.com/channels/691052431525675048/1297361733886677036) 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](LICENSE-APACHE) or [MIT License](LICENSE-MIT) at your option.