Fx collision problem with VehicleDemo Project

if I create a new Map for this project (vehicleDemo4.3) and create a New Landscape using the existing Landscape Material I don’t get the Dust/Sand FX on the wheels when the Vehicle hit the Landscape ground (the FX still work as expected whit the static meshes).
I have tried to start from a new Map many times, but can’t never get the result of the Default Starter Map on the Lanscape:
so I’m assuming that the “Collision check” that drive the Fx for the landscape it’s set by default to just work with the default starter Landscape, right?

Saddly the core function of the vehicle it’s in C++ and I’m more familiar with Blueprints right now. In any case I have tried to check the BuggyPawn.cpp, but I’m not sure if my problem may be located in this lines of code, maybe related to RegisterComponentWithWorld(GetWorld());:

void ABuggyPawn::SpawnNewWheelEffect(int WheelIndex)
{
	DustPSC[WheelIndex] = NewObject<UParticleSystemComponent>(this);
	DustPSC[WheelIndex]->bAutoActivate = true;
	DustPSC[WheelIndex]->bAutoDestroy = false;
	DustPSC[WheelIndex]->RegisterComponentWithWorld(GetWorld());
	DustPSC[WheelIndex]->AttachTo(Mesh, VehicleMovement->WheelSetups[WheelIndex].BoneName);
}

void ABuggyPawn::UpdateWheelEffects(float DeltaTime)
{
	if (VehicleMovement && bTiresTouchingGround == false && LandingSound)	//we don't update bTiresTouchingGround until later in this function, so we can use it here to determine whether we're landing
	{
		float MaxSpringForce = VehicleMovement->GetMaxSpringForce();
		if (MaxSpringForce > SpringCompressionLandingThreshold)
		{
			UGameplayStatics::PlaySoundAtLocation(this, LandingSound, GetActorLocation());
		}
	}

	bTiresTouchingGround = false;

	if (DustType && !bIsDying &&
		VehicleMovement && VehicleMovement->Wheels.Num() > 0)
	{
		const float CurrentSpeed = GetVehicleSpeed();
		for (int32 i = 0; i < ARRAY_COUNT(DustPSC); i++)
		{
			UPhysicalMaterial* ContactMat = VehicleMovement->Wheels[i]->GetContactSurfaceMaterial();
			if (ContactMat != NULL)
			{
				bTiresTouchingGround = true;
			}
			UParticleSystem* WheelFX = DustType->GetDustFX(ContactMat, CurrentSpeed);

			const bool bIsActive = DustPSC[i] != NULL && !DustPSC[i]->bWasDeactivated && !DustPSC[i]->bWasCompleted;
			UParticleSystem* CurrentFX = DustPSC[i] != NULL ? DustPSC[i]->Template : NULL;
			if (WheelFX != NULL && (CurrentFX != WheelFX || !bIsActive))
			{
				if (DustPSC[i] == NULL || !DustPSC[i]->bWasDeactivated)
				{
					if (DustPSC[i] != NULL)
					{
						DustPSC[i]->SetActive(false);
						DustPSC[i]->bAutoDestroy = true;
					}
					SpawnNewWheelEffect(i);
				}
				DustPSC[i]->SetTemplate(WheelFX);
				DustPSC[i]->ActivateSystem();
			}
			else if (WheelFX == NULL && bIsActive)
			{
				DustPSC[i]->SetActive(false);
			}
		}
	}

any Tips?