I just finished reading these classes:
AWheeledVehicle
AWheeledVehicleMovementComponent
AWheeledVehicleMovementComponent4W
I’v read codes of racing game sample in market place too. I have serious doubts about the whole vehicle system. *AWheeledVehicle *was too small and the whole system is dependent on implementation of WheeledVehicleMovementComponent, It was a big and somehow complicated class, but a key virtual has remained unimplemented : SetupVehicle, without this function the whole Implementation is useless, so I looked at *AWheeledVehicleMovementComponent4W *and found a horrifying, long, unfamiliar and Physx related stuff there, (the rest of the class was a detailed abstraction of a 4Wheel vehicle which looked pretty awesome). It seems to me that other than building 4W vehicles on top of these codes, writhing other kinds of vehicles like motorcycles or tank are not possible (or very hard) using these classes (Since *SetupVehicle *must get overridden and this requires some level of (if not deep) knowledge about physics core of engine).
So what do you suggest to me if I tell you I want to make a tank, motorcycle or a snowmobile? Is it worth dealing with Physx or is it better to simulate it using constrains and sockets? Or maybe I get it all wrong?