Checking if a mesh supports Debris Physics

Hello everyone,

I did copy a script from the CORE API to have a scatter effect on a object that has been destroyed. It works, but drops over 50 error messages that the part "does not support physics." Is there a way to check that before?

Here is the code for the client from the API:

function OnDied()
    -- The client script receive the death event
    -- Finds all Static Meshes in the local hierarchy
    local childMeshes = script.parent:FindDescendantsByType("StaticMesh")
    -- Finds the new parent, a Client-context named "DebrisParent"
    local clientContext = World.FindObjectByName("DebrisParent")
    for _,mesh in ipairs(childMeshes) do
        -- Change parent, as we assume the old one is being destroyed
        mesh.parent = clientContext
        -- Enable debris physics
        mesh.isSimulatingDebrisPhysics = true
        -- Some Static Meshes don't support debris physics, so we must check
        if mesh.isSimulatingDebrisPhysics then
            -- Additional collision settings
            mesh.collision = Collision.FORCE_ON
            mesh.cameraCollision = Collision.FORCE_OFF
            -- Set a life span, so the mesh destroys itself after a few seconds
            mesh.lifeSpan = RNG:GetNumber(3, 6)
            -- Give a random velocity to the mesh, away from ground
            local vel = RNG:GetVector3FromCone(Vector3.UP, 90) * EXPLOSION_POWER
            -- Destroy meshes immediately if they don't support debris physics

Select all your static meshes in the Client Context and set the Collision to FORCE_ON.

Thank you! :slight_smile: But it won't let me - message: Descendants of physic objects cannot have collisions. :frowning: