An input manager for Bevy, inspired by Unreal Engine’s Enhanced Input. We use it for Project Harmonia, but it’s general-purpose.

Highlights

  • Pull-based API is now strongly typed, just like triggers. Example: actions.value::<Move>() returns the defined output type of Move.
  • Action mocking. Example: actions.mock::<Move>(ActionState::Fired, Vec2::ONE, Duration::from_secs(2)). The last parameter is generic, so you can also set the time in frames or until manually cleared.
  • Preparation for upcoming networking integrations. Mostly more convenient access to internals.
  • Many small but important ergonomic improvements.

📜Full changelog 📦bevy_enhanced_input