Photon syncing objects

I’m working on a multiplayer shooter and this issue popped up and I can think of no relatively simple way to solve it:
Let’s say you and some people are playing a game, you’ve picked some stuff up(weapons, pickups,ect), then comes a new player. Generally by what means do I let that new player know what items are picked up and which players are holding which items?

Photon Instantiate only works so far as to syncing transform information, I need to sync other information as well such as ownership, uses, ect…

I know RPC’s are used to let other players in the game know what actions are taking place but this doesn’t let new players know what has happened prior to entering the game.

Should I use buffered RPC’s? Doesn’t seem efficient calling this every time something like a weapon is picked up.

Should I make a list of all dynamic objects in the scene then have the new player query the host about them updating the new player’s object list? No guarantee this will either be efficient or work.

This seems like an insanely simple problem, someone please point me in the right direction.

Hi,

Have you explored Player custom Properties? this is likely the best way to do this, you store the pickups, weapons, energies, whatever inside Player Custom properties, and these custom properties will be available and synchronized automatically over the network, making it a reliable source of data for what you need to do.

https://doc-api.exitgames.com/en/pun/current/class_photon_player.html#af8815abb8edaafbe6bddbf328f9612fb
https://doc-api.exitgames.com/en/pun/current/class_photon_player.html#a027b1aeee40c53f98d29af4ca8e07f47
https://doc-api.photonengine.com/en/pun/current/group__public_api.html#ggaf30bbea51cc8c4b1ddc239d1c5c1468fa67402d95c324cda2b6d6e2fc391ae941

Buffered RPC in your case is not optimal, because you would receive too much buffered rpc, one for each time someone picked up something and you would need to to go through all and only take in account eh last one, so not the right way in your case.

Bye,

Jean