PhysX Vehicle reference
Quick lookup for public headers, buses, samples, and hard limits. Field-level authoring tables live in Components; workflows in Getting started, Wheeled, and Tracked.
Gem
| Item | Value |
|---|---|
| Gem name | PhysXVehicle |
| Depends on | PhysX5, PhysXCommon, LmbrCentral |
| Maturity | Shipped |
| Physics backend | PhysX 5 via AzPhysics (not NVIDIA Vehicle SDK) |
Public includes
Gems/PhysXVehicle/Code/Include/PhysXVehicle/
├── VehicleControlBus.h
├── VehicleStateBus.h
├── VehicleNotificationBus.h
└── VehicleTypeIds.h
Configuration structs live under Code/Source/Configuration/ (editor / runtime serialization). They are not separate scriptable assets.
Buses (chassis entity id)
| Bus | BehaviorContext | Key APIs |
|---|---|---|
VehicleControlRequestBus | Yes (PhysX Vehicle) | SetThrottle, SetBrake, SetSteer, SetHandbrake, SetGear, SetTrackThrottle |
VehicleStateRequestBus | Yes | GetSpeed, GetEngineRpm, GetCurrentGear, wheel grounded / compression / ω / count, track speeds & travel |
VehicleNotificationBus | No (C++ events) | OnWheelGroundedChanged, OnGearChanged, OnVehicleAirborne |
VehicleChassisTrackRequestBus | No (internal) | Track ↔ Chassis configuration push |
Components
| Editor | Runtime |
|---|---|
| PhysX Vehicle Chassis | VehicleChassisComponent |
| PhysX Vehicle Drive | VehicleDriveComponent |
| PhysX Vehicle Track | TrackComponent |
Templates: VehicleTemplate = Sedan / OffRoad / Truck / Tank via MakeChassisTemplate / MakeTrackTemplate.
Sample asset
| Path | Role |
|---|---|
Gems/PhysXVehicle/Assets/Scripts/VehicleDriveExample.lua | StartingPointInput → control bus sample driver |
Debug
| Switch | Values / notes |
|---|---|
| Chassis Debug → Enabled (+ draw toggles) | Per-vehicle |
vehicle_DebugDraw | 0 per-vehicle, 1 force on, -1 force off |
| Show ImGui | Requires ImGui Gem + PHYSXVEHICLE_IMGUI_ENABLED |
Limits
You can rely on:
- Raycast wheeled + tracked simulation on PhysX 5;
- Prefab-serialized component configs and editor templates;
- Impulse forces each physics sub-step;
- Scriptable control and state (Lua / Script Canvas / C++).
Do not assume:
- NVIDIA PhysX Vehicle SDK integration;
- Separate wheel rigid bodies or wheel colliders;
- Soft tires, detailed aero, clutch / turbo modeling;
- Pacejka Magic Formula (field reserved, unimplemented);
- Enter / exit vehicle gameplay;
- Multi-axle Truck (4-wheel simplification);
- BehaviorContext reflection for notifications or live config mutation APIs.
Related user guides
- World Streaming — large outdoor levels.
- Double-precision rendering — origin-stable large worlds.
- Parent topic: Simulation.