General
Unity version: 2021.3.18f1
Fish-Networking version: 4.5.4hf0 Pro
Issue: #814
Related: #812
Description
In the example, the server and client load the global game scene.
After the client initializes, both start spawning SimpleBullet every 300ms.
The SimpleBullet is a pooled object that allows for predicting spawn/despawn.
The blue bullet represents is own object, while the grey one represents the other player.
When we go to another global scene you can see bullets that shouldn't be there. We can also change the scene again, and the bullets will still be there.
At the same time, there are no bullets on the server, there is no script that would create them either, and everyone has SceneCondition.
The SceneCondition condition is set in ObserverManager.
All NetworkObjects have a NetworkObserver component with the use Manager parameter.
The spawn logic is the same as here: #812
Replication
Steps to reproduce the behaviour:
- Open the "NestedSpawn.Menu" scene in both windows;
- Start the Server and Client in one window and Client in other;
- Press the "Load Scene" button on Server;
- Wait for a few bullets to be re-spawned;
- Click to the "Next scene" button;
- If no bullets, repeat the loop;
Expected behaviour
Bullets should only be on their own scene and should not migrate.
It seems that there should be no warnings and errors at all, as there is no logic other than spawn and despawn.