# Bob Settings

FocalRig uses the same **Bob Settings** for stride-driven bob effects on both the camera and the weapon.

Nodes that use Bob:
- [Aim Weapon](aim-weapon.md) (**Weapon Bob**)
- [First Person Camera Control](first-person-camera-control.md) (**Head Bob**)

The bob solver resolves a phasor: a stride phase plus an intensity multiplier. You can derive that phasor from movement speed or feed one in from somewhere else.

## Bob Settings

| Property | Type | Description |
|----------|------|-------------|
| Source | [Bob Source Settings](#bob-source-settings) | How the bob phasor is determined |
| Phase Offset | float | Phase offset relative to the stride cycle (0 to 1, one full cycle) |
| Intensity Smoothing | [Smoothing Settings](smoothing.md) | Smoothing applied to the resolved bob intensity |
| Effect | [Bob Effect Settings](#bob-effect-settings) | The translation and rotation amplitudes of the bob |
| Weight | float | How much bob to apply (0 = no effect, 1 = full effect) |

## Bob Source Settings

| Property | Type | Description |
|----------|------|-------------|
| Mode | [Bob Source Mode](#bob-source-mode) | How to derive the bob phasor |
| Speed | [Bob Speed Settings](#bob-speed-settings) | Speed-based source configuration used when **Mode** is **Speed** |
| External Phasor | [Bob Phasor](#bob-phasor) | Externally supplied phasor used when **Mode** is **External** |

## Bob Source Mode

| Value | Description |
|-------|-------------|
| **Speed** | Derives phase and intensity from movement speed |
| **External** | Uses an externally supplied phasor so multiple bob effects can share the same stride timing |

## Bob Speed Settings

| Property | Type | Description |
|----------|------|-------------|
| Stride Period | float (s) | Time for one complete stride cycle. Match this to your locomotion animation |
| Speed Range | Range (cm/s) | Speed range over which bob intensity ramps from 0 to 1 |
| Speed Source | [Bob Speed Source](#bob-speed-source) | Where to read the current movement speed from |
| Manual Speed | float (cm/s) | Movement speed used when **Speed Source** is **Manual** |

## Bob Speed Source

| Value | Description |
|-------|-------------|
| **NavMovement** | Auto-detects speed from a movement component that implements `INavMovementInterface` |
| **Manual** | Uses the provided **Manual Speed** value |

## Bob Phasor

| Property | Type | Description |
|----------|------|-------------|
| Phase | float | Phase angle in radians |
| Intensity | float | Intensity multiplier from 0 to 1 |

## Bob Effect Settings

| Property | Type | Description |
|----------|------|-------------|
| Vertical Amplitude | float (cm) | Vertical position bob amplitude |
| Horizontal Amplitude | float (cm) | Horizontal position bob amplitude |
| Pitch Amplitude | float (deg) | Pitch rotation amplitude |
| Roll Amplitude | float (deg) | Roll rotation amplitude |
