Summary
In UE 5.8, the C++ Vehicle template uses IsMovingOnGround() to decide whether to apply airborne angular damping. The Chaos vehicle movement component does not appear to override this function, so it uses the base implementation, which only returns false.
Issue code:
UE_5.8\Templates\TP_VehicleAdv\Source\TP_VehicleAdv\TP_VehicleAdvPawn.cpp
// add some angular damping if the vehicle is in midair
bool bMovingOnGround = ChaosVehicleMovement->IsMovingOnGround();
GetMesh()->SetAngularDamping(bMovingOnGround ? 0.0f : 3.0f);
UE_5.8/Engine/Source/Runtime/Engine/Classes/GameFramework/NavMovementComponent.h
inline bool UNavMovementComponent::IsMovingOnGround() const
{
return false;
}
What Type of Bug are you experiencing?
Simulation
Steps to Reproduce
Create a C++ Vehicle template project in UE 5.8.
In TP_VehicleAdvPawn.cpp, log the result of ChaosVehicleMovement->IsMovingOnGround() in Tick.
Drive the sports car on a flat surface and observe the result and angular damping.
Expected Result
The grounded check returns true while the car is on the ground, setting angular damping to 0. Airborne damping of 3 is applied only when the car is in the air.
Observed Result
Source inspection indicates the inherited function returns false, causing the template to set angular damping to 3 every tick, including while driving on the ground. Removing the two lines noticeably increases the car’s rotation speed during a powered drift.
Affects Versions
5.8
Platform(s)
Windows
Additional Notes
The template comment says the damping is intended for when the vehicle is in midair. In the installed UE 5.8 source, UNavMovementComponent::IsMovingOnGround() returns false; no override was found in the Chaos Vehicles plugin. The grounded result and damping should be confirmed in a fresh template runtime test.