AWheeledVehicle constructor:
FName AWheeledVehicle::VehicleMovementComponentName(TEXT("MovementComp"));
FName AWheeledVehicle::VehicleMeshComponentName(TEXT("VehicleMesh"));
AWheeledVehicle::AWheeledVehicle(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer)
{
Mesh = ObjectInitializer.CreateDefaultSubobject<USkeletalMeshComponent>(this, VehicleMeshComponentName);
Mesh->SetCollisionProfileName(UCollisionProfile::Vehicle_ProfileName);
Mesh->BodyInstance.bSimulatePhysics = true;
Mesh->BodyInstance.bNotifyRigidBodyCollision = true;
Mesh->BodyInstance.bUseCCD = true;
Mesh->bBlendPhysics = true;
Mesh->bGenerateOverlapEvents = true;
Mesh->bCanEverAffectNavigation = false;
RootComponent = Mesh;
VehicleMovement = ObjectInitializer.CreateDefaultSubobject<UWheeledVehicleMovementComponent, UWheeledVehicleMovementComponent4W>(this, VehicleMovementComponentName);
VehicleMovement->SetIsReplicated(true); // Enable replication by default
VehicleMovement->UpdatedComponent = Mesh;
}
UWheeledVehicleMovementComponent4W declaration:
UCLASS()
class ENGINE_API UWheeledVehicleMovementComponent4W : public UWheeledVehicleMovementComponent
There are a lot of code inside UWheeledVehicleMovementComponent4W. You can download all this files from GitHub.