All PhysX Vehicle editor components appear under category PhysX Vehicle in the Add Component menu. Configuration is Prefab-serialized on the component—there is no separate vehicle asset type.
Component overview
| Editor name | Runtime | Provides | Requires | Notes |
|---|
| PhysX Vehicle Chassis | VehicleChassisComponent | Chassis service | Dynamic Rigid Body + Collider + Transform | Solver host; Control / State buses |
| PhysX Vehicle Drive | VehicleDriveComponent | Drive service | Chassis | Keyboard / gamepad → control bus |
| PhysX Vehicle Track | TrackComponent | Track service | Chassis | Track geometry + friction; enables tracked mode |
One chassis, one drive, and one track per entity (same-service components are incompatible with each other). AI and scripts may omit Drive and write the control bus directly.
PhysX Vehicle Chassis
Editor actions
| Control | Effect |
|---|
| Template | None / Sedan / OffRoad / Truck / Tank |
| Apply Template | Replaces chassis config via MakeChassisTemplate |
| Configuration | Editable VehicleChassisConfiguration tree |
Tank template sets Vehicle Kind = Tracked and clears the wheel list; pair with Track’s Apply Tank Track Preset.
Chassis fields
| Field | Default (concept) | Purpose |
|---|
| Wheels | Empty → defaults at activate | Array of WheelConfiguration |
| Drive | Sedan-like powertrain | DriveConfiguration |
| Center of mass offset | (0, 0, -0.25) | Local CoM tweak applied on activate |
| Anti-roll stiffness | 0 | 0 disables anti-roll |
| Ackermann ratio | 1 | 0 parallel … 1 full Ackermann |
| Steer rate | 4 | Max normalized steer change / second |
| Gravity | 9.81 | Sprung-mass / auto-stiffness estimation |
| Forward axis | PositiveY | Chassis forward (PositiveY / X, NegativeY / X) |
| Vehicle kind | Wheeled | Wheeled or Tracked |
| Debug | all draw off | See
Debugging |
EnsureDefaultWheels() builds a default 4-wheel sedan layout when the wheeled wheel list is empty.
WheelConfiguration
| Field | Purpose |
|---|
| Local anchor | Suspension top in chassis local space |
| Suspension dir | Ray direction (default (0, 0, -1)) |
| Suspension | Nested SuspensionConfiguration |
| Tire | Nested TireConfiguration |
| Is steering | Whether the wheel steers |
| Is driven | Whether the wheel can receive drive torque |
| Max steer angle | Degrees (steering wheels) |
| Brake bias | [0, 1] share of brake torque |
| Wheel Entity Id | Optional visual mesh entity for pose sync |
SuspensionConfiguration
| Field | Default | Purpose |
|---|
| Rest length | 0.35 m | Natural length / ray baseline |
| Max travel | 0.18 m | Maximum compression |
| Stiffness | 40000 N/m | Used when auto-stiffness is off |
| Damping ratio | 0.35 | ζ used to derive damping |
| Auto stiffness | true | Compute stiffness from sprung mass |
| Target rest ratio | 0.3 | Fraction of rest length at static settle (auto) |
TireConfiguration
| Field | Default | Purpose |
|---|
| Radius | 0.34 m | Wheel radius |
| Width | 0.22 m | Visual / sweep hint |
| Long stiffness | 60000 | Drive / brake force per unit slip ratio |
| Lat stiffness | 80000 | Side force per radian slip angle |
| Friction | 1.0 | Base coefficient (combined with ground) |
| Rolling resistance | 0.015 | Rolling drag coefficient |
| Use Magic Formula | false | Reserved / unimplemented — leave off |
| Inertia | 1.5 kg·m² | Wheel rotational inertia |
DriveConfiguration
| Field | Default | Purpose |
|---|
| Peak torque | 250 N·m | Engine curve amplitude |
| Idle / peak torque / max RPM | 800 / 4000 / 7000 | Curve and redline |
| Gear ratios | {3.5, 2.2, 1.5, 1.1, 0.85} | Forward gears; reverse from first |
| Final drive | 3.7 | Differential ratio |
| Max brake torque | 1500 N·m | Per-wheel brake ceiling |
| Drive type | FrontWheel | FWD / RWD / AWD / Tracked |
| Efficiency | 0.9 | Drivetrain efficiency |
| Auto shift | true | RPM-threshold shifting |
| Up / down shift RPM | 6000 / 2500 | Auto-shift thresholds |
PhysX Vehicle Drive
Prototype input layer on the same entity as Chassis.
| Field | Purpose |
|---|
| Enabled | Connect / disconnect input listener |
| Steer scale | Multiplier on combined keyboard + gamepad steer |
Input map (when enabled):
| Input | Control |
|---|
| W / S | Throttle / brake |
| A / D | Steer |
| Space | Handbrake |
| Gamepad R2 / L2 / LX | Throttle / brake / steer |
Does not consume input events (other listeners still receive them). For production input bindings, prefer Lua / Script Canvas / StartingPointInput—see
Scripting and control.
PhysX Vehicle Track
| Control / field | Purpose |
|---|
| Apply Tank Track Preset | Fills config via MakeTrackTemplate(Tank) |
| Road wheels per side | Default 6 |
| Track half-width | Default 1.4 m |
| First wheel offset Y | Default 2.0 m |
| Wheel spacing | Default 0.8 m |
| Suspension top Z | Default 0 m |
| Wheel radius | Default 0.4 m |
| Suspension | Shared SuspensionConfiguration for all road wheels |
| Long / lat friction | Default 0.6 / 1.4 |
| Long / lat gain | Default 8000 / 12000 |
| Max track speed | Default 12 m/s |
Internal VehicleChassisTrackRequestBus (SetTrackConfiguration / ClearTrackConfiguration) is used by Track ↔ Chassis and is not a public scripting API.
Services and entity rules
- Chassis requires a dynamic rigid body and a collider on the same entity.
- Track requires Chassis; applying Track without the Tank chassis template / tracked kind is incomplete.
- Drive requires Chassis; omit it when AI owns the control bus.
Next steps