Newly joined players do not sync the real position immediately if choose UnreliableOnChange

Options
Juntao
Juntao
I have created a game contains several hundreds of game objects need synchronization.
Each client download the same AssetBundles and then Instantiated independently.
The code was like the demo at https://doc.photonengine.com/en-us/pun/current/manuals-and-demos/instantiation

However, if I choose Unreliable for the prefab I used, the synchronization works fine. Since these game objects do not need to be sync-ed continually, I changed them back to UnreliableOnChange.
But client-2 only show the initial state while joined even though client-1 moved some objects. If now they make a move, the sync would be fine.

I wonder if this is an expected behavior? If so, will it be possible to make the client 2,3,etc knows the "buffered" positions after the game objects were instantiated dynamically?

Regards,
    public class PUNController : Photon.PunBehaviour
    {
        public override void OnJoinedRoom()
        {
            playerControllerObject.GetComponent<PlayerController>().updatePlayerlist(PhotonNetwork.playerList.ToList());

            if (PhotonNetwork.isMasterClient)
            {
                this.photonView.RPC("OpLoadSceneItemFromServer", PhotonTargets.AllBuffered);
            }
        }

        [PunRPC]
        public void OpLoadSceneItemFromServer()
        {
            GetComponent<SceneSaveAndBuild>().LoadSceneItemFromServer();
        }
    }

    public class SceneSaveAndBuild : MonoBehaviour
    {
        public void LoadSceneItemFromServer()
        {
            GameObjectService.LoadAssetAsync().Subscribe(asset =>
            {
                var item = Instantiate(asset.GameObjectPrototype) as GameObject;
                var views = item.GetComponentsInChildren<PhotonView>();
                var photonView = views[0];
                if (photonView != null)
                {
                    photonView.viewID = asset.viewId; //this viewId was generated within the LoadAssetAsync() method, the order are the same on different client.
                }
            });
        }
    }