If a given BasePart is CanCollide=False, it does not fire anymore the Touched event with the Terrain.
I am attaching a simple Studio file to reproduce the issue.
In the file a CanCollide=false Part is falling down slowly, passes through the Terrain and then passes through the BasePlate.
The passing through the terrain is not registered either on the server or on the client by the 2 callbacks, which I have attached in Server script and Local script.
Passing through the Baseplate is registered both on the server and on the client.
Does it fire when you have two parts instead of one being Terrain? Are you sure it worked like this before? I’m pretty sure .Touched only fires when the physics engine registers a part creating contact with another object, which I think is impossible if it doesn’t have any collision.
I am sure it was working ok few days ago.
Today I noticed that the landings of the spacecrafts in my game have become too “smooth” even if I turn off the engine from a high altitude.