DAI 3.0 · VEHICLES

Build a Camera-Steered Vehicle

Turn a ridden entity into a server-authoritative vehicle driven by real forward/strafe/jump/sprint/look input.

1. Create the mount entity

Create a native entity and give it a rider seat. Your dai_vehicles definition uses that entity type as its carrier.

2. Configure movement

{
  "carrier": "demo:light_cycle",
  "numbers": {
    "acceleration": 0.05, "max_speed": 1.2,
    "drag": 0.03, "braking": 0.12, "turn_rate": 7,
    "boost_multiplier": 1.45
  },
  "flags": {
    "camera_steering": true, "allow_reverse": false,
    "allow_jump": false, "gravity": true
  },
  "events": {"boost": "action:demo:cycle_boost"}
}

3. Keep physics authoritative

The client sends current input state; the server applies acceleration, steering, braking and speed caps. Use events for effects/costs instead of rebuilding movement in commands.

Use the Creator: these schemas can be pasted into the type-specific JSON fields in DAI Content / Runtime Definitions. Unknown fields are preserved on import/export.