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

Highlights

  • Command-based API for mocking:
commands
    .entity(context)
    .mock_once::<Player, Jump>(ActionState::Fired, true);
  • ⁨⁨⁨⁨⁨ActionSettings::consume_input⁩⁩⁩⁩⁩ now defaults to ⁨⁨⁨⁨⁨false⁩⁩⁩⁩⁩. This should make the input less footgunny.

The crate is planned for upstreaming, so please try it out and share your feedback.

📜Full changelog 📦bevy_enhanced_input