Hello! I found this earlier, its called Collision Filtering Try this maybe? I didn't test it, but I hope this worked. Also if this doesn't work, or no one can answer there is some other articals and stuff around the internet. Hopefully this helps.
01 | local PhysicsService = game:GetService( "PhysicsService" ) |
03 | PhysicsService:CreateCollisionGroup(npcGroup) |
04 | PhysicsService:CollisionGroupSetCollidable(npcGroup, npcGroup, false ) |
05 | local function setCollisionGroupRecursive(object) |
06 | if object:IsA( "BasePart" ) then |
07 | PhysicsService:SetPartCollisionGroup(object, npcGroup) |
09 | for _, child in ipairs (object:GetChildren()) do |
10 | setCollisionGroupRecursive(child) |
14 | setCollisionGroupRecursive(npc) |