#Using Predicted Despawn on object with Client Side Prediction Enabled

15 messages · Page 1 of 1 (latest)

barren ore
#

Both on the latest pre-release and on the latest stable release

When calling Despawn from the client on an object with prediction enabled, there's this null reference error when trying to stop the prediction it seems

NullReferenceException: Object reference not set to an instance of an object
FishNet.Object.NetworkObject.InvokeStopCallbacks_Prediction (System.Boolean asServer) (at Assets/FishNet/Runtime/Object/NetworkObject.Prediction.cs:310)
FishNet.Object.NetworkObject.InvokeStopCallbacks (System.Boolean asServer, System.Boolean invokeSyncTypeCallbacks) (at Assets/FishNet/Runtime/Object/NetworkObject.Callbacks.cs:116)
FishNet.Object.NetworkObject.Deinitialize (System.Boolean asServer) (at Assets/FishNet/Runtime/Object/NetworkObject.cs:952)
FishNet.Managing.Object.ManagedObjects.Despawn (FishNet.Object.NetworkObject nob, FishNet.Object.DespawnType despawnType, System.Boolean asServer) (at Assets/FishNet/Runtime/Managing/Object/ManagedObjects.cs:162)
FishNet.Managing.Client.ClientObjectCache.IterateDespawn (FishNet.Managing.Client.CachedNetworkObject cnob) (at Assets/FishNet/Runtime/Managing/Client/Object/ObjectCaching.cs:498)
FishNet.Managing.Client.ClientObjectCache.<Iterate>g__ProcessObject|13_0 (FishNet.Managing.Client.CachedNetworkObject cnob, System.Boolean spawn, System.Int32 index, FishNet.Managing.Client.ClientObjectCache+<>c__DisplayClass13_0& ) (at Assets/FishNet/Runtime/Managing/Client/Object/ObjectCaching.cs:403)
FishNet.Managing.Client.ClientObjectCache.Iterate () (at Assets/FishNet/Runtime/Managing/Client/Object/ObjectCaching.cs:270)
FishNet.Managing.Client.ClientObjects.IterateObjectCache () (at Assets/FishNet/Runtime/Managing/Client/Object/ClientObjects.cs:482)
FishNet.Managing.Client.ClientManager.ParseReader (FishNet.Serializing.PooledReader reader, FishNet.Transporting.Channel channel, System.Boolean print) (at Assets/FishNet/Runtime/Managing/Client/ClientManager.cs:537)
FishNet.Managing.Client.ClientManager.ParseReceived (FishNet.Transporting.ClientReceivedDataArgs args) (at Assets/FishNet/Runtime/Managing/Client/ClientManager.cs:384)
FishNet.Managing.Client.ClientManager.Transport_OnClientReceivedData (FishNet.Transporting.ClientReceivedDataArgs args) (at Assets/FishNet/Runtime/Managing/Client/ClientManager.cs:342)
FishNet.Transporting.Tugboat.Tugboat.HandleClientReceivedDataArgs (FishNet.Transporting.ClientReceivedDataArgs receivedDataArgs) (at Assets/FishNet/Runtime/Transporting/Transports/Tugboat/Tugboat.cs:238)
FishNet.Transporting.Tugboat.Client.ClientSocket.IterateIncoming () (at Assets/FishNet/Runtime/Transporting/Transports/Tugboat/Core/ClientSocket.cs:295)
FishNet.Transporting.Tugboat.Tugboat.IterateIncoming (System.Boolean server) (at Assets/FishNet/Runtime/Transporting/Transports/Tugboat/Tugboat.cs:211)
FishNet.Managing.Transporting.TransportManager.IterateIncoming (System.Boolean server) (at Assets/FishNet/Runtime/Managing/Transporting/TransportManager.cs:705)
FishNet.Managing.Timing.TimeManager.TryIterateData (System.Boolean incoming) (at Assets/FishNet/Runtime/Managing/Timing/TimeManager.cs:1043)
FishNet.Managing.Timing.TimeManager.IncreaseTick () (at Assets/FishNet/Runtime/Managing/Timing/TimeManager.cs:708)
FishNet.Managing.Timing.TimeManager.<TickUpdate>g__MethodLogic|100_0 () (at Assets/FishNet/Runtime/Managing/Timing/TimeManager.cs:376)
FishNet.Managing.Timing.TimeManager.TickUpdate () (at Assets/FishNet/Runtime/Managing/Timing/TimeManager.cs:366)
FishNet.Transporting.NetworkReaderLoop.Update () (at Assets/FishNet/Runtime/Transporting/NetworkReaderLoop.cs:28)```
#

NOTE: The error happens on the client only

#

forsenThinking doing some debugging by mself.. seems like the Prediction StopCallbacks get called twice..

#

Deinitialize gets called twice.. forsenThinking

swift osprey
#

Hm, interesting 🤔

barren ore
#

Yea I think it might be a bug as first the object gets deinitialized by the client with Predicted Despawn and then it sends the despawn message to the server which sends it back to the client and so it tries to deinitialize again

swift osprey
#

You mentioned that you tested on 4.4.5 pre-release 3, right? Since I believe the spawning system is being refactored in it

#

I've let FirstGearGames know about it so it will hopefully be looked into shortly

barren ore
#

I also have the same desync issue as #1281259848285032448 , even created a new project to see if it wasn't me messing something up

orchid flint
#

@barren ore How's this issue for you on current release?

unkempt kettle
orchid flint