"GTA V" apartment - Selective Replication - Replicate data to set of players

Hello everyone!

I’m a beginner in UE and I’ve mostly been planning and learning how to do some functionalities with the engine. Also, pardon my English, I’m not a native speaker.
I’ve stumbled across this problem and besides trying to search for an answer I could not find one.

I want to be able to replicate GTA V’s apartments functionality.
By this I mean: I want to be able to have a level (apartment) where players can individually access and load their own custom meshes (furniture, decoration), environment (background music), etc.
Furthermore: I would like to be able to “invite” other players to join and load the same environment to the group of joined players.

Ideia 1
Have a player controller store a special class, lets say “ApartmentManager”, that owns information on the current group of players and environment data to load and show.
This way I can tell each client to display its own stuff and group of players (hiding other players and not showing other meshes). However, this seems a LOT of work, since there are so many things to consider like: blocking noises, effects, particles e etc from other players and players actions, literally isolating players “manually”. There is also a network drawback that many players will be sharing data of each other in the same place, but only a few will actually be seeing each other.

Questions

  1. Is this the correct way of doing it?
  2. Is there a better option?
  3. Is there a selective replication where I can choose which players get which information from the server?

Thank you guys for your help!! :slight_smile: