bevyengine/bevy · error · AxisSettingsError

invalid livezone_lowerbound {0}, expected value [-1.0..=0.0]

Error message

invalid livezone_lowerbound {0}, expected value [-1.0..=0.0]

What it means

AxisSettingsError validation variant: GamepadAxisSettings construction rejected livezone_lowerbound because it fell outside the required -1.0..=0.0 range. This bound marks where the negative (leftward) axis leaves the deadzone; pass a value between -1.0 and 0.0 inclusive.

Source

Thrown at crates/bevy_input/src/gamepad.rs:289

    pub value: f32,
}

impl GamepadAxisChangedEvent {
    /// Creates a new [`GamepadAxisChangedEvent`].
    pub fn new(entity: Entity, axis: GamepadAxis, value: f32) -> Self {
        Self {
            entity,
            axis,
            value,
        }
    }
}

/// Errors that occur when setting axis settings for gamepad input.
#[derive(Error, Debug, PartialEq)]
pub enum AxisSettingsError {
    /// The given parameter `livezone_lowerbound` was not in range -1.0..=0.0.
    #[error("invalid livezone_lowerbound {0}, expected value [-1.0..=0.0]")]
    LiveZoneLowerBoundOutOfRange(f32),
    /// The given parameter `deadzone_lowerbound` was not in range -1.0..=0.0.
    #[error("invalid deadzone_lowerbound {0}, expected value [-1.0..=0.0]")]
    DeadZoneLowerBoundOutOfRange(f32),
    /// The given parameter `deadzone_lowerbound` was not in range -1.0..=0.0.
    #[error("invalid deadzone_upperbound {0}, expected value [0.0..=1.0]")]
    DeadZoneUpperBoundOutOfRange(f32),
    /// The given parameter `deadzone_lowerbound` was not in range -1.0..=0.0.
    #[error("invalid livezone_upperbound {0}, expected value [0.0..=1.0]")]
    LiveZoneUpperBoundOutOfRange(f32),
    /// Parameter `livezone_lowerbound` was not less than or equal to parameter `deadzone_lowerbound`.
    #[error("invalid parameter values livezone_lowerbound {} deadzone_lowerbound {}, expected livezone_lowerbound <= deadzone_lowerbound", livezone_lowerbound, deadzone_lowerbound)]
    LiveZoneLowerBoundGreaterThanDeadZoneLowerBound {
        /// The value of the `livezone_lowerbound` parameter.
        livezone_lowerbound: f32,
        /// The value of the `deadzone_lowerbound` parameter.
        deadzone_lowerbound: f32,
    },

View on GitHub (pinned to 396ca72708)

Solutions

  1. Clamp livezone_lowerbound to [-1.0, 0.0]
  2. Validate user-provided settings before constructing GamepadAxisSettings
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at crates/bevy_input/src/gamepad.rs:289 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of bevyengine/bevy@396ca72708 (2026-08-20). Data as JSON: /api/errors/7dc1d05e9e0a705b. Report an issue: GitHub.