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

    • Shatur@lemmy.ml
      cake
      OP
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      28 days 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.