The best solution would be to use singletons or nodes that are automatically generated when a client connects for RPC calls. This allows the clients to have a consistent view of the game world, and also ensures that they don't receive any redundant or unnecessary data from the server. Additionally, this approach allows the server to only broadcast the data that is relevant to the clients. For example, if a player is joining late, the server can only broadcast the changes that have occurred since the player last joined.