14
submitted 2 weeks ago by Shatur@lemmy.ml to c/bevy@programming.dev

It's a crate for dynamic and contextual input mappings for Bevy, inspired by Unreal Engine Enhanced Input.

I really like the UE approach and decided to bring it to Bevy.

Despite being the first release, it's packed with 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, which are regular components.
  • Activate or deactivate contexts by simply adding or removing components.
  • Control how actions accumulate input from sources and consume it.
  • 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, such as "on the ground".
  • React on actions with observers.

I've implemented everything from UE and even added some extras. The crate also has ~90% test coverage.

๐Ÿ“ฆbevy_enhanced_replicon

top 4 comments
sorted by: hot top controversial new old
[-] arendjr@programming.dev 2 points 2 weeks ago

This does look cool. How would it work together with Steam Input?

[-] Shatur@lemmy.ml 2 points 2 weeks ago* (last edited 2 weeks ago)

Thanks!

It should work seamlessly since Steam Input operates at a lower level.
The app will receive the already-mapped input, so no additional handling needed.

[-] smiletolerantly@awful.systems 2 points 1 week ago
[-] Shatur@lemmy.ml 1 points 1 week ago
this post was submitted on 20 Oct 2024
14 points (100.0% liked)

Bevy

236 readers
1 users here now

A community for discussion around the bevy game engine! https://bevyengine.org/

founded 11 months ago
MODERATORS