How can I know if a player is in a room?

I’m making a spookie game and am unsure what the best way to tell what room a player’s character is in.

You’ll need to use Region3.


Is there a more detailed post on regions? like ones with example and ways you can use it?

1 Like

No, but you can search up YouTube videos.

1 Like

or use a part size as the room and when it touched by a player’s humanoid or parts then the player is on the room
if the humanoid or the part is not a player character’s property children then you can use the GetPlayerFromCharacter()


I know touch events are not always the most reliable are are regions better?

1 Like

You shouldn’t use any of them. TouchEnded event has some blemishes like not firing when the player respawns, also Region3 functions are deprecated, they got replaced with Overlap functions.

Here’s an official topic which explains its usage in a simple way: Introducing OverlapParams - New Spatial Query API


You can use ZonePlus:


local Zone = require(game:GetService("ReplicatedStorage").Zone)
local container = workspace.SafeZoneContainer
local zone =

    print(("%s entered the zone!"):format(player.Name))

    print(("%s exited the zone!"):format(player.Name))
1 Like

So half hitbox parts for each room and if a player is in that hitbox then they are in that room? Ok, I think this is the solution, but I must go to bed. I will try this tomorrow and mark this as a solution once I get it to work.

1 Like