Skip to content

Commit c3eeb41

Browse files
update
Making adjustments based on review discussion.
1 parent eb40ac0 commit c3eeb41

1 file changed

Lines changed: 7 additions & 14 deletions

File tree

com.unity.netcode.gameobjects/Runtime/Spawning/NetworkSpawnManager.cs

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1121,9 +1121,6 @@ internal bool AuthorityLocalSpawn([NotNull] NetworkObject networkObject, ulong n
11211121
NetworkLog.LogError(new Context(LogLevel.Developer, "Player prefab is marked as belonging to a scene. This may cause issues.").AddNetworkObject(networkObject).AddInfo("SceneName", networkObject.SceneOrigin.name));
11221122
networkObject.InScenePlaced = false;
11231123
}
1124-
// This logic is no longer true with the adjustments to spawn pre-disabled in-scene placed NetworkObjects.
1125-
// Leaving this for reference purposes.
1126-
//NetworkLog.InternalAssert(sceneObject == networkObject.InScenePlaced, "Legacy sceneObject value should match calculated InScenePlaced value.");
11271124

11281125
if (!networkObject.InScenePlaced && NetworkManager.LogLevel <= LogLevel.Error)
11291126
{
@@ -1595,32 +1592,28 @@ internal void ServerSpawnSceneObjectsOnStartSweep()
15951592
// Determine if this is even a valid thing to spawn:
15961593
// - If it is not based on a registered prefab, it is invalid.
15971594
// - If the GlobalObjectIdHash is zero, it is invalid.
1598-
var isInvalidInstanceToSpawn = !NetworkManager.NetworkConfig.Prefabs.IsBasedOnRegisteredPrefab(networkObject) || networkObject.GlobalObjectIdHash == 0;
1595+
var isValidInstanceToSpawn = NetworkManager.NetworkConfig.Prefabs.IsBasedOnRegisteredPrefab(networkObject) && networkObject.GlobalObjectIdHash != 0;
15991596

16001597
// If we are a valid prefab asset, marked as in-scene placed, but this was marked during runtime by the post processor.
1601-
if (!isInvalidInstanceToSpawn && networkObject.InScenePlaced && networkObject.InScenePlacedPostProcessorMarkedDuringRuntime)
1598+
if (isValidInstanceToSpawn && networkObject.InScenePlaced && networkObject.InScenePlacedPostProcessorMarkedDuringRuntime)
16021599
{
16031600
// Then it is not in-scene placed and was pre-instantiated. Spawn dynamically.
16041601
networkObject.InScenePlaced = false;
16051602
}
16061603
else if (networkObject.InScenePlaced && !networkObject.InScenePlacedPostProcessorMarkedDuringRuntime)
16071604
{
16081605
// If this was marked as in-scene placed within the editor, then it is valid.
1609-
isInvalidInstanceToSpawn = false;
1606+
isValidInstanceToSpawn = true;
16101607
}
16111608

16121609
var wasPreInstantiated = !networkObject.IsSpawned && !networkObject.InScenePlaced;
16131610

16141611
// Dynamically created NetworkObjects instances are not supported and will not be spawned during the sweep.
1615-
if (wasPreInstantiated && isInvalidInstanceToSpawn)
1612+
if (wasPreInstantiated && !isValidInstanceToSpawn)
16161613
{
1617-
// If this isn't the original prefab asset being skipped over (integration test would be a good example), then log the error.
1618-
if (!NetworkManager.NetworkConfig.Prefabs.IsActualPrefabAsset(networkObject))
1619-
{
1620-
NetworkManager.Log.Error(new Context(LogLevel.Error, $"Detected a pre-instantiated {nameof(GameObject)} " +
1621-
$"with a {nameof(NetworkObject)} component instance that is not a registered prefab nor an in-scene placed {nameof(NetworkObject)}." +
1622-
$" Dynamically creating unregistered {nameof(NetworkObject)}s is not supported! This {nameof(NetworkObject)} will not be spawned.").AddNetworkObject(networkObject));
1623-
}
1614+
NetworkManager.Log.Error(new Context(LogLevel.Error, $"Detected a pre-instantiated {nameof(GameObject)} " +
1615+
$"with a {nameof(NetworkObject)} component instance that is not a registered prefab nor an in-scene placed {nameof(NetworkObject)}." +
1616+
$" Dynamically creating unregistered {nameof(NetworkObject)}s is not supported! This {nameof(NetworkObject)} will not be spawned.").AddNetworkObject(networkObject));
16241617
continue;
16251618
}
16261619

0 commit comments

Comments
 (0)