Physics go haywire and inconsistent when using "RecreatePhysicsState"

sure.

UPCCVehicleMovementComponent* movementcomp = NewVehicle->GetPCCVehicleMovementComponent();
	UPCCWheelInfo* wheelobjF = wheelSettingsFront.GetDefaultObject();
	UPCCWheelInfo* wheelobjB = wheelSettingsBack.GetDefaultObject();
	TArray<FWheelSetup> tires;
	if (wheelSettingsFront != nullptr)
	{
		FWheelSetup wheelFL;
		//Left
		wheelFL.WheelClass = wheelobjF->WheelSettings.CustomWheel;
		wheelFL.BoneName = wheelobjF->WheelSettings.BoneNameLeft;
		wheelFL.AdditionalOffset = wheelobjF->WheelSettings.AdditionalOffsetLeft;
		wheelFL.bDisableSteering = wheelobjF->WheelSettings.bDisableSteering;
		tires.Add(wheelFL);

		FWheelSetup wheelFR;
		//Right
		wheelFR.WheelClass = wheelobjF->WheelSettings.CustomWheel;
		wheelFR.BoneName = wheelobjF->WheelSettings.BoneNameRight;
		wheelFR.AdditionalOffset = wheelobjF->WheelSettings.AdditionalOffsetRight;
		wheelFR.bDisableSteering = wheelobjF->WheelSettings.bDisableSteering;
		tires.Add(wheelFR);
	}

	if (wheelSettingsBack != nullptr)
	{
		FWheelSetup wheelBL;

		//Left
		wheelBL.WheelClass = wheelobjB->WheelSettings.CustomWheel;
		wheelBL.BoneName = wheelobjB->WheelSettings.BoneNameLeft;
		wheelBL.AdditionalOffset = wheelobjB->WheelSettings.AdditionalOffsetLeft;
		wheelBL.bDisableSteering = wheelobjB->WheelSettings.bDisableSteering;
		tires.Add(wheelBL);

		FWheelSetup wheelBR;
		//Right
		wheelBR.WheelClass = wheelobjB->WheelSettings.CustomWheel;
		wheelBR.BoneName = wheelobjB->WheelSettings.BoneNameRight;
		wheelBR.AdditionalOffset = wheelobjB->WheelSettings.AdditionalOffsetRight;
		wheelBR.bDisableSteering = wheelobjB->WheelSettings.bDisableSteering;
		tires.Add(wheelBR);

	}	
	movementcomp->WheelSetups = tires;
	movementcomp->CreateVehicle();
	movementcomp->RecreatePhysicsState();