Skip to content

Scene object expecting prefab ID #1034

@maxkratt

Description

@maxkratt

Necessary Information

  • Unity version: 6.3
  • Fish-Networking version: 4.7.1

Description

When spawning a scene object that was disabled before run-time, it throws the following warning on the host, and the following error on host and clients. The object never spawns on client-side.

The warning (click to expand)
NetworkObject Name [SceneNob] ObjectId [1] OwnerId [-1] GameObject HashCode [-2686] unexpectedly has an unset PrefabId while it's not nested. Please report this warning.
UnityEngine.Debug:LogWarning (object)
FishNet.Managing.Logging.LevelLoggingConfiguration:LogWarning (string) (at Assets/FishNet/Runtime/Managing/Logging/LevelLoggingConfiguration.cs:139)
FishNet.Managing.NetworkManager:InternalLogWarning (string) (at Assets/FishNet/Runtime/Managing/NetworkManager.Logging.cs:74)
FishNet.Managing.NetworkManagerExtensions:LogWarning (FishNet.Managing.NetworkManager,string) (at Assets/FishNet/Runtime/Managing/NetworkManager.Logging.cs:129)
FishNet.Managing.Object.ManagedObjects:WriteChangedTransformProperties (FishNet.Object.NetworkObject,bool,FishNet.Serializing.Writer) (at Assets/FishNet/Runtime/Managing/Object/ManagedObjects.Spawning.cs:305)
FishNet.Managing.Object.ManagedObjects:WriteSpawn (FishNet.Object.NetworkObject,FishNet.Serializing.PooledWriter,FishNet.Connection.NetworkConnection) (at Assets/FishNet/Runtime/Managing/Object/ManagedObjects.Spawning.cs:92)
FishNet.Managing.Server.ServerObjects:RebuildObservers (FishNet.Object.NetworkObject,FishNet.Connection.NetworkConnection,System.Collections.Generic.List`1<FishNet.Object.NetworkObject>,bool) (at Assets/FishNet/Runtime/Managing/Server/Object/ServerObjects.Observers.cs:464)
FishNet.Managing.Server.ServerObjects:RebuildObservers (System.Collections.Generic.IList`1<FishNet.Object.NetworkObject>,System.Collections.Generic.IList`1<FishNet.Connection.NetworkConnection>,bool) (at Assets/FishNet/Runtime/Managing/Server/Object/ServerObjects.Observers.cs:370)
FishNet.Managing.Server.ServerObjects:RebuildObservers (FishNet.Connection.NetworkConnection,bool) (at Assets/FishNet/Runtime/Managing/Server/Object/ServerObjects.Observers.cs:300)
FishNet.Managing.Scened.SceneManager:RebuildObservers (System.Collections.Generic.IList`1<FishNet.Connection.NetworkConnection>) (at Assets/FishNet/Runtime/Managing/Scened/SceneManager.cs:2160)
FishNet.Managing.Scened.SceneManager:AddConnectionToScene (FishNet.Connection.NetworkConnection,UnityEngine.SceneManagement.Scene) (at Assets/FishNet/Runtime/Managing/Scened/SceneManager.cs:1947)
FishNet.Managing.Scened.SceneManager:AddOwnerToDefaultScene (FishNet.Object.NetworkObject) (at Assets/FishNet/Runtime/Managing/Scened/SceneManager.cs:1911)
FishNet.Component.Spawning.PlayerSpawner:SceneManager_OnClientLoadedStartScenes (FishNet.Connection.NetworkConnection,bool) (at Assets/FishNet/Runtime/Generated/Component/Spawning/PlayerSpawner.cs:112)
FishNet.Managing.Scened.SceneManager:TryInvokeLoadedStartScenes (FishNet.Connection.NetworkConnection,bool) (at Assets/FishNet/Runtime/Managing/Scened/SceneManager.cs:502)
FishNet.Managing.Scened.SceneManager:OnClientLoadedScenes (FishNet.Connection.NetworkConnection,FishNet.Managing.Scened.ClientScenesLoadedBroadcast,FishNet.Transporting.Channel) (at Assets/FishNet/Runtime/Managing/Scened/SceneManager.cs:706)
FishNet.Managing.Scened.SceneManager:OnClientSentEmptyStartScenes (FishNet.Connection.NetworkConnection,FishNet.Managing.Scened.EmptyStartScenesBroadcast,FishNet.Transporting.Channel) (at Assets/FishNet/Runtime/Managing/Scened/SceneManager.cs:605)
FishNet.Broadcast.Helping.ClientBroadcastHandler`1<FishNet.Managing.Scened.EmptyStartScenesBroadcast>:InvokeHandlers (FishNet.Connection.NetworkConnection,FishNet.Serializing.PooledReader,FishNet.Transporting.Channel) (at Assets/FishNet/Runtime/Serializing/Helping/Broadcasts.cs:96)
FishNet.Managing.Server.ServerManager:ParseBroadcast (FishNet.Serializing.PooledReader,FishNet.Connection.NetworkConnection,FishNet.Transporting.Channel) (at Assets/FishNet/Runtime/Managing/Server/ServerManager.Broadcast.cs:94)
FishNet.Managing.Server.ServerManager:ParseReceived (FishNet.Transporting.ServerReceivedDataArgs) (at Assets/FishNet/Runtime/Managing/Server/ServerManager.cs:844)
FishNet.Managing.Server.ServerManager:Transport_OnServerReceivedData (FishNet.Transporting.ServerReceivedDataArgs) (at Assets/FishNet/Runtime/Managing/Server/ServerManager.cs:697)
FishNet.Transporting.Tugboat.Tugboat:HandleServerReceivedDataArgs (FishNet.Transporting.ServerReceivedDataArgs) (at Assets/FishNet/Runtime/Transporting/Transports/Tugboat/Tugboat.cs:292)
FishNet.Transporting.Tugboat.Server.ServerSocket:IterateIncoming () (at Assets/FishNet/Runtime/Transporting/Transports/Tugboat/Core/ServerSocket.cs:469)
FishNet.Transporting.Tugboat.Tugboat:IterateIncoming (bool) (at Assets/FishNet/Runtime/Transporting/Transports/Tugboat/Tugboat.cs:223)
FishNet.Managing.Transporting.TransportManager:IterateIncoming (bool) (at Assets/FishNet/Runtime/Managing/Transporting/TransportManager.cs:636)
FishNet.Managing.Timing.TimeManager:TryIterateData (bool) (at Assets/FishNet/Runtime/Managing/Timing/TimeManager.cs:1115)
FishNet.Managing.Timing.TimeManager:IncreaseTick () (at Assets/FishNet/Runtime/Managing/Timing/TimeManager.cs:734)
FishNet.Managing.Timing.TimeManager:<TickUpdate>g__MethodLogic|113_0 () (at Assets/FishNet/Runtime/Managing/Timing/TimeManager.cs:393)
FishNet.Managing.Timing.TimeManager:TickUpdate () (at Assets/FishNet/Runtime/Managing/Timing/TimeManager.cs:381)
FishNet.Transporting.NetworkReaderLoop:Update () (at Assets/FishNet/Runtime/Transporting/NetworkReaderLoop.cs:29)
The error (click to expand)
Spawned object has an invalid prefabId. Make sure all objects which are being spawned over the network are within SpawnableObjects on the NetworkManager.
UnityEngine.Debug:LogError (object)
FishNet.Managing.Logging.LevelLoggingConfiguration:LogError (string) (at Assets/FishNet/Runtime/Managing/Logging/LevelLoggingConfiguration.cs:148)
FishNet.Managing.NetworkManager:InternalLogError (string) (at Assets/FishNet/Runtime/Managing/NetworkManager.Logging.cs:82)
FishNet.Managing.NetworkManagerExtensions:LogError (FishNet.Managing.NetworkManager,string) (at Assets/FishNet/Runtime/Managing/NetworkManager.Logging.cs:140)
FishNet.Managing.Client.ClientObjects:GetInstantiatedNetworkObject (FishNet.Managing.Client.CachedNetworkObject) (at Assets/FishNet/Runtime/Managing/Client/Object/ClientObjects.cs:700)
FishNet.Managing.Client.ClientObjectCache:<Iterate>g__ProcessObject|13_0 (FishNet.Managing.Client.CachedNetworkObject,bool,int,FishNet.Managing.Client.ClientObjectCache/<>c__DisplayClass13_0&) (at Assets/FishNet/Runtime/Managing/Client/Object/ObjectCaching.cs:301)
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:569)
FishNet.Managing.Client.ClientManager:ParseReader (FishNet.Serializing.PooledReader,FishNet.Transporting.Channel,bool) (at Assets/FishNet/Runtime/Managing/Client/ClientManager.cs:646)
FishNet.Managing.Client.ClientManager:ParseReceived (FishNet.Transporting.ClientReceivedDataArgs) (at Assets/FishNet/Runtime/Managing/Client/ClientManager.cs:450)
FishNet.Managing.Client.ClientManager:Transport_OnClientReceivedData (FishNet.Transporting.ClientReceivedDataArgs) (at Assets/FishNet/Runtime/Managing/Client/ClientManager.cs:398)
FishNet.Transporting.Tugboat.Tugboat:HandleClientReceivedDataArgs (FishNet.Transporting.ClientReceivedDataArgs) (at Assets/FishNet/Runtime/Transporting/Transports/Tugboat/Tugboat.cs:278)
FishNet.Transporting.Tugboat.Client.ClientSocket:IterateIncoming () (at Assets/FishNet/Runtime/Transporting/Transports/Tugboat/Core/ClientSocket.cs:254)
FishNet.Transporting.Tugboat.Tugboat:IterateIncoming (bool) (at Assets/FishNet/Runtime/Transporting/Transports/Tugboat/Tugboat.cs:225)
FishNet.Managing.Transporting.TransportManager:IterateIncoming (bool) (at Assets/FishNet/Runtime/Managing/Transporting/TransportManager.cs:636)
FishNet.Managing.Timing.TimeManager:TryIterateData (bool) (at Assets/FishNet/Runtime/Managing/Timing/TimeManager.cs:1116)
FishNet.Managing.Timing.TimeManager:IncreaseTick () (at Assets/FishNet/Runtime/Managing/Timing/TimeManager.cs:734)
FishNet.Managing.Timing.TimeManager:<TickUpdate>g__MethodLogic|113_0 () (at Assets/FishNet/Runtime/Managing/Timing/TimeManager.cs:393)
FishNet.Managing.Timing.TimeManager:TickUpdate () (at Assets/FishNet/Runtime/Managing/Timing/TimeManager.cs:381)
FishNet.Transporting.NetworkReaderLoop:Update () (at Assets/FishNet/Runtime/Transporting/NetworkReaderLoop.cs:29)

Replication Steps

  1. Download and import example
  2. Open SceneObjectExpectingPrefabID scene
  3. Run as host
  4. See errors

Expected Behavior

No errors and object should spawn on clients.

Sample Project

SceneObjectExpectingPrefabID.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions