Enabling Attached Object Collision

From Onset Developer Wiki

SetObjectAttached disables the collision of objects. Here is how to enable collision for attached objects again. Be careful when collisions overlap vehicles.

server.lua:

--- Set this property value to your attached object:
SetObjectPropertyValue(o, "_enableCollision", true)

client.lua:

AddEvent("OnObjectStreamIn", function(object)

    local _enableCollision = GetObjectPropertyValue(object, "_enableCollision")
    
    if _enableCollision == true then
        
        -- We need to delay enabling the collision. Attached objects have their collision set in the attach RPC that comes after the stream event.
        Delay(200, function(object)
            if IsValidObject(object) then
                GetObjectActor(object):SetActorEnableCollision(true)
                local SMC = GetObjectStaticMeshComponent(object)
                SMC:SetMobility(EComponentMobility.Movable)
                SMC:SetCollisionEnabled(ECollisionEnabled.QueryAndPhysics)
                print("Enabled collision")
            end
        end, object)
        
    end
    
end)