So I'm currently in the process of making a game like "Design It", and in this game everyone teleports to a changing area.
I don't want to create a room for each player so I thought about just making the characters invisible and use collision groups to make them cancollided.
I just can't figure out how to do this properly, basically MOST people will be in the changing area, but I don't understand how to make it so those who AREN"T in the changing room DO have player collisions still.
An example: 7 players are in a room, I want their collisions off. 3 players outside of the room, still should have their collisions
I got no clue how to do this, any help would be appreciated :)
Here is the code I've been using from the wiki:
local PhysicsService = game:GetService("PhysicsService") local Players = game:GetService("Players") local playerCollisionGroupName = "Players" PhysicsService:CreateCollisionGroup(playerCollisionGroupName) PhysicsService:CollisionGroupSetCollidable(playerCollisionGroupName, playerCollisionGroupName, false) local previousCollisionGroups = {} local function setCollisionGroup(object) if object:IsA("BasePart") then previousCollisionGroups[object] = object.CollisionGroupId PhysicsService:SetPartCollisionGroup(object, playerCollisionGroupName) end end local function setCollisionGroupRecursive(object) setCollisionGroup(object) for _, child in ipairs(object:GetChildren()) do setCollisionGroupRecursive(child) end end local function resetCollisionGroup(object) local previousCollisionGroupId = previousCollisionGroups[object] if not previousCollisionGroupId then return end local previousCollisionGroupName = PhysicsService:GetCollisionGroupName(previousCollisionGroupId) if not previousCollisionGroupName then return end PhysicsService:SetPartCollisionGroup(object, previousCollisionGroupName) previousCollisionGroups[object] = nil end