-
Notifications
You must be signed in to change notification settings - Fork 464
Closed
Labels
priority:highThis issue has high priority and we are focusing to resolve itThis issue has high priority and we are focusing to resolve itstat:importedStatus - Issue is tracked internally at UnityStatus - Issue is tracked internally at Unitytype:bugBug ReportBug Report
Description
Description
SpawnManager.InstantiateAndSpawn doesn't instantiate the prefab when run on a server.
Reproduce Steps
- Add a cube to the scene with a Network Object component
- Create a prefab from that cube and add it to the Network Prefab list; remove the original from the scene
- Add an empty to the scene and add the following component:
using Unity.Netcode;
using UnityEngine;
[RequireComponent(typeof(NetworkObject))]
public class Spawner : NetworkBehaviour
{
public NetworkObject prefab;
public override void OnNetworkSpawn()
{
if (!IsServer)
{
return;
}
NetworkManager.SpawnManager.InstantiateAndSpawn(prefab);
NetworkManager.SpawnManager.InstantiateAndSpawn(prefab);
}
}- Assign the cube prefab to the
Spawnercomponent - Start the project as a server (not host)
Actual Outcome
The cube prefab never gets instantiated, causing:
- No cubes get added to the scene/hierarchy
- (Inside the Editor only) The first
InstantiateAndSpawncauses the errorTransform resides in a Prefab asset and cannot be set to prevent data corruption - The second
InstatiateAndSpawncauses the errorSpawnStateException: Object is already spawned
Expected Outcome
Two cubes spawn.
Environment
- OS: Windows 10 (22H2)
- Unity Version: 2022.3.7f1
- Netcode Version: Release 1.8.1
Metadata
Metadata
Assignees
Labels
priority:highThis issue has high priority and we are focusing to resolve itThis issue has high priority and we are focusing to resolve itstat:importedStatus - Issue is tracked internally at UnityStatus - Issue is tracked internally at Unitytype:bugBug ReportBug Report