Player.Room would be a string value that determines who a player can see in-game. If two players in the same game have different room values, they will not be able to see each other’s character model. All movement and physics replication on the client would be disconnected between the two character models and reconnected once the players have matching Room properties. This feature would cut down the client load for MMORPG or any game with a large world.
A Part.Room or Model.Room property would be nice to have along with this feature. Players would only see the parts that match their own Room property value.
I would rather vote for multiple workspaces and being able to set which workspace a player is currently playing in, this would eliminate more problems at once. I would really not like to manually set a property on each and every model/part in the game in the way you describe. Any other features that you want (i.e. players not being able to chat with players from other workspaces) could be implemented through a custom chat / option in stock chat that way.
I mean you can already kinda do that in FE games by deleting the players that are not in your room from workspace but separate workspaces would be ehh as universe while not perfect already exist.
Deleting characters breaks their replication, and not all things are easy to delete/re-create instantly (e.g. large chunks of Terrain). Would be nice to have an elegant solution to this. We already have a feature request for multiple “spaces” up here though, if you want to respond to that:
Eh… not really. Cells has a thousand different meanings and in programming its not uncommon for a few API’s to share the same name for different properties. (they however do use differently named Enums). Honestly for the sake of making ROBLOX look professional, would prefer it to be named Cell because Cell can relate to both interior and exterior cells while the word “room” makes you first think of a room and can be a bit hard to wrap your head around calling both an interior cell a room and an exterior cell a room, because room is an interior structure and not exterior structure/world.
But moving on from namespacing, what kind of problems would this cause with replication?
I’ve never heard of “cell” used to describe something like this. The closest I can think of is Bethesda games which separate the game into cells, but multiple of those can be loaded at once (e.g. exterior cells), so I’m not sure if it’s a great usage of terminology. Unity uses the term “scene” which is more appropriate IMO.
As for replication, I would assume the correct behavior would be only the objects in the current scene would replicate to the client. Wouldn’t make sense for me to be receiving updates for something I couldn’t see. Scenes would be server-side (not client-side).