Methods to handle 'instancing'/different player states based on events in multiplayer games

Hey there,

Hoping for a little help here.

I’m working on a concept for a game which will be multiplayer enabled. Therefore I want to build the multiplayer aspects into the game first before anything else however I’m unsure about how the network components are handled when two players
occupy the same level but are in different states or are in different levels in different states?

Let’s just say that both players enter the world and start a game event together(Same state)
Player 1 then completes an event however Player 2 is not complete with the event.
Player 1 has his game state updated and player 2 continues with no changes to the level.
Player 3 enters the game and she has the same state as player 1, so replication works fine but how do I prevent player 2 from getting data from the other players(1&3)? In this case I would like to update level components and hide player 2 from players 1& 3

Is there some place that I can flag actors for multiple states and then simply update these values for certain clients only as indicated in the above example? (An actor appears to either be replicated or not?)

On a similar vein but if a level uses streaming can the above be achieved or would streaming become cumbersome?
In other words assuming different states of a level streaming changes to different groups of players or would it be best to create unique level “tiles”?

Lastly I would love to know which components within the source code are relevant/important when going about designing the above.

I understand that this will probably require custom code, however what I really need to wrap my head around is how the engine will handle the above and how to approach these things. I certainly don’t want to start coding blind :slight_smile:

Thank you very much in advance for any help/comments/suggestions