InstantiateGameObjects(int, int, NativeArray<int>, NativeArray<int>, Scene)
Creates a specified number of instances of a GameObject identified by its instance ID and populates NativeArrays with the instance IDs of the new GameObjects and their Transform components.
Read time 1 minuteLast updated 11 days ago
Definition
- Type: Method
- Namespace: UnityEngine
- Assembly: UnityEngine.CoreModule
public static void InstantiateGameObjects(int sourceInstanceID, int count, NativeArray<int> newInstanceIDs, NativeArray<int> newTransformInstanceIDs, Scene destinationScene = default)
Parameters
The instance ID of the GameObject to create additional instances of.
The number of instances of the GameObject to create.
Pre-allocated NativeArray to populate with the instance IDs of the new GameObjects. Must be the same size as .
countPre-allocated NativeArray to populate with the instance IDs of the Transforms of the new GameObjects. Must be the same size as .
countThe Scene to place the instantiated GameObjects into. If default, then the GameObjects will be added to the currently active Scene.
Remarks
Use to instantiate multiple GameObjects as a batch. An instance ID can be resolved to an object using Resources.InstanceIDToObject.
InstantiateGameObjectsusing System;using Unity.Collections;using UnityEngine;public class InstantiateInstanceID : MonoBehaviour{public GameObject prefab;public int count = 100; int m_InstanceID; NativeArray<int> m_InstanceIds; NativeArray<int> m_TransformIds; void Start() { m_InstanceID = prefab.GetInstanceID(); m_InstanceIds = new NativeArray<int>(count, Allocator.Persistent); m_TransformIds = new NativeArray<int>(count, Allocator.Persistent); GameObject.InstantiateGameObjects(m_InstanceID, count, m_InstanceIds,m_TransformIds ); } void OnDestroy() { m_InstanceIds.Dispose(); m_TransformIds.Dispose(); }}
Additional Resources: GameObject.SetGameObjectsActive, Resources.InstanceIDToObject