Vehicle Debug Commands

Reference for Chaos Vehicle debug commands, helping users visualize the vehicle physics simulation.

Choose your operating system:

Windows

macOS

Linux

Chaos Vehicles come with a variety of debug commands to help you visualize what is happening during the vehicle simulation. All the vehicle-specific commands start with p.vehicle. The commands are enabled by following them with 1, and are disabled by following them with 0. These commands either enable or disable vehicle physics or render debug lines in the scene.

Many of the debug rendering commands are called from the physics thread and need to be enabled with the p.chaos.debugdraw.enabled 1 command before they can be visualized in the scene.

Vehicle Console Debug

p.Vehicle debug commands display in the editor command console

Generic Commands

Generic commands apply to all vehicle types and include visualizing forces and locations, and disabling features and forces.

Visualize Forces and Locations

Command

Description

**p.Vehicle.ShowCOM**

Enables or disables the center of mass visualization.

**p.Vehicle.ShowModelOrigin**

Enables or disables the origin visualization.

**p.Vehicle.ShowAerofoilForces**

Enables or disables the aerofoil visualization.

**p.Vehicle.ShowAerofoilSurface**

Enables or disables the surface visualization.

**p.Vehicle.ShowAllForces**

Enables or disables the force visualization.

**p.Vehicle.SetForceDebugScaling**

Sets scaling for force visualization. If the forces are large and the lines appear too long, lower the scaling of the rendered lines by using a smaller value.

Disable Features and Forces

These commands will turn off specific forces in isolation to other force. This can help isolate which system is generating a particular behavior in the vehicle movement.

Command

Description

**p.Vehicle.DisableSuspensionForces**

Disables suspension forces in isolation of other forces.

**p.Vehicle.DisableFrictionForces**

Disables wheel friction forces in isolation of other forces.

**p.Vehicle.DisableRollbarForces**

Disables suspension roll bar forces in isolation of other forces.

**p.Vehicle.DisableTorqueControl**

Disables direct torque control.

**p.Vehicle.DisableStabilizeControl**

Disables position stabilization control.

**p.Vehicle.DisableAerodynamics**

Disables aerodynamic force drag / downforce.

**p.Vehicle.DisableAerofoils**

Disables aerofoil forces.

**p.Vehicle.DisableThrusters**

Disables thruster forces.

Wheeled Vehicle Commands

Command

Description

**p.Vehicle.ShowWheelCollisionNormal**

Shows the hit location and normal of the surface that the wheel raycast has hit.

**p.Vehicle.ShowSuspensionRaycasts**

Shows the suspension raycast length. The color indicates whether the ray hit something (green), or not (red).

**p.Vehicle.ShowSuspensionLimits**

Enables or disables the suspension limits visualization.

**p.Vehicle.ShowWheelForces**

Enables or disables the wheel forces visualization.

**p.Vehicle.ShowSuspensionForces**

Enables or disables the suspension forces visualization.

**p.Vehicle.ShowRaycastComponent**

Displays the name of the component the wheels are in contact with (from the raycast hit).

**p.Vehicle.ShowRaycastMaterial**

Displays the name of the physics material that the wheels are in contact with (from the raycast hit).

Vehicle Commands Overrides

Command

Description

**p.Vehicle.ControlInputWakeTolerance**

Sets the threshold used by the control input to wake up the vehicle if it is sleeping. The default is 0.02.

**p.Vehicle.TraceTypeOverride**

Global override of the ray trace type. A value of 1 uses Simple collision, while a value of 2 uses Complex collision.

**p.Vehicle.SetMaxMPH**

Set a top speed override in miles per hour(affects all vehicles). Can help debug an issue or can be used in conjunction with the throttle override.

**p.Vehicle.ThrottleOverride**

Global override of the throttle control input (range 0 to 1). This is useful for testing the performance of many vehicles driving at once.

**p.Vehicle.SteeringOverride**

Global override of the steering value (range -1 to 1). This is useful for testing the performance of many vehicles driving at once, as you can set them to dre in circles over the terrain.

**p.Vehicle.BatchQueries**

Enable or disable batching of suspension raycasts.

**p.Vehicle.EnableMultithreading**

Enable or disable parallel updates of all vehicles. If a threading crash is suspected, then the vehicle manager can be switched from parallel updates to serial updates. This will simulate vehicles one at a time.

Vehicle Stat Commands

Command

Description

**stat ChaosVehicle**

Displays timings for the different parts of the vehicle simulation.

**stat ChaosVehicleManager**

Displays timings for simulating all the vehicles in the scene. It also displays counters showing the number of vehicles, and the portion of vehicles currently awake or sleeping.

Using the Center of Mass

The location of the center of mass has a significant effect on vehicle handling. A high center of mass will cause the vehicle to roll more in corners, or dip more under acceleration and braking.

Pushing the center of mass forward will make steering less reactive since the movement arm will be longer for the rear wheels and shorter for the front wheels. This means that the lateral forces on the rear wheels will have a greater effect on the angular rotation of the vehicle compared to the front wheels.

Visualizing where the center of mass is located is one of the most useful tools for debugging vehicle behavior. A Center Of Mass Offset defined on the skeletal mesh can shift the center of mass position relative to the initially calculated location from the collision model. The center of mass visualization command p.Vehicle.ShowCOM 1 displays the current center of mass position after any offset has been applied.

Center of mass visualized

Center of mass visualized