Search Issue Tracker
Won't Fix
Votes
11
Found in [Package]
1.6.0
Issue ID
NCCBUG-216
Regression
No
The GlobalObjectIdHash on the NetworkObject component is different from its prefab when the prefab is put into the hierarchy
Reproduction steps:
1. Open the attached “ASDQWE” project
2. Open the “Assets/Scenes/MainMenu.unity” Scene
3. Build and run the Player (File > Build And Run)
4. Inside the Player, press the “Is Server” Button
5. Inside the Editor, enter the Play Mode
6. Inside the Game View, press the “Is Client” Button
7. Observe the Console Window
Expected result: No error is thrown
Actual result: “[Netcode] NetworkPrefab hash was not found! In-Scene placed NetworkObject soft synchronization failure for Hash: 3844675318!" and “[Netcode] Failed to spawn NetworkObject for Hash 3844675318" errors are thrown
Reproducible with: 1.5.1 (2021.3.30f), 1.5.2 (2022.3.8f1), 1.6.0 (2023.1.11f1, 2023.2.0b7, 2023.3.0a3)
Reproducible on: Intel macOS 13.5
Not reproducible on: No other environment tested
Comments (2)
-
MKark
Nov 02, 2023 07:29
I should add that the GlobalObjectIdHash is different between
- prefab in editor
- prefab in scene
- runtime object on the dedicated server (Linux) -
MKark
Nov 02, 2023 07:09
Same here. It happened after an update to 2023.1.17 with Netcode for GO 1.6.
All of the affected NetworkObjects have the same parent.
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Mono Windows Builds don't produce full log callstacks when generating logs
- AssetBundles fail to load when running in Built Players for Mobile Devices
- UI elements with text gets bigger and grey when Player window is moved to another screen with different resolution
- System name accepts multiline text but crops it on confirmation, duplicates input, and shrinks the field when empty
- UI element scale and position are wrong in project build when DRS is changed with HDR and Software Dynamic Resolution enabled
Resolution Note:
Hi,
We have reviewed the issue carefully, and in this case it is a misconfiguration.
- When the user clicks the Client Button in the MainMenu scene, it loads the GameLoader scene and then invokes a method upon the scene being loaded. The GameLoader scene contains two network prefab instances (CLIENT, SERVER).
- When the GameLoader scene is done loading, the StartClientAsync method deletes the SERVER network prefab instance. It invokes the NetworkManager.StartClient
- It then immediately deletes the SERVER network prefab on the client side after that.
- The client receives the Synchronization event from the server, which will include synchronization information for the SERVER network prefab instance.
- The client throws a soft-synch error...because the SERVER prefab no longer exists (it was just deleted prior to getting the synchronization message).
This will result in the client connecting with no soft synchronization errors.