Collision issue between fast moving object and static object

The default physics rate is not sufficient to simulate such small cars traveling at such speeds in a realistic way.

At 10 m/s (36 km/h), with the default physics rate (50 Hz), each physics step moves the car 20 cm, which is a huge distance for an RC car. Because of this, when the car reaches the curb, it can go from “no collision” to “collider penetrating the curb” in a single timestep. The physics system then handles the collision by forcing a de-penetration.

Since the collision itself is unavoidable, neither collision detection, physics materials, nor Rigidbody settings will resolve the problem: the collision and de-penetration will still happen. The problem is that the wheels (WheelColliders/raycasts) don’t even have a chance to do their job.

The solution is to increase the physics rate according to the scale of the cars. For example, if the scale of your cars is 1:10, then you need a 10x higher physics rate: 50 → 500 Hz. To do this, configure Project Settings > Time > Fixed Timestep from 0.02 (50 Hz) to 0.002 (500 Hz). This allows the physics system to resolve the RC car simulation with the same level of detail as standard-sized cars.

No, because the distance the car travels during each timestep is huge. All collisions will likely cause a de-penetration event.

The car feeling so different probably means that your code is time-dependent. Most likely, your calculations are using the simulation timestep incorrectly.

The way I would handle this project is:

  • Configure the fixed timestep proportionally to the car’s RC scale, as described above.

  • Configure realistic values everywhere in the car. Mass = the same SI mass as an actual RC car, SI distances for the raycasts and their positions, forces = the same small forces in Newtons that power RC cars, spring-dampers = same small spring and damper rates as in RC cars’ suspension, etc.

  • Don’t use scales other than 1,1,1 in the car’s Transform, as that could affect the physics simulation. You may scale down the visual meshes only.

  • Apply time-independent forces. Never include Time.deltaTime or Time.fixedDeltaTime in the force calculations, as doing so will make the handling dependent on the timestep.