Wheels - Implementation and Principal

What you’re doing is very close to my project. I’m still not sure whether to make the pawns a collection of actors or one actor with many components, but here’s basically how I do my wheels. A “wheel” is an actor that is constrained to a parent actor through a physicsconstraintcomponent. The Wheel has for variables InputTorque and Radius. For an infinite grip scenario, it is pretty simple to implement. Every frame, the Wheel shoots a few raycasts around itself to determine where the ground is, reads its input torque, and applies a force on itself based on the input torque, wheel radius, wheel axis direction, and wheel contact point.

You can skip all of the math and just apply a torque to a wheel shaped collider that is constrained to the robot if you’re only talking low speeds. WHeeledVehicleMovementComponent won’t work for odd shaped or odd wheel numbered vehicles.