SetGameObjectsActive
Activates or deactivates multiple GameObjects identified by instance ID.
Read time 5 minutesLast updated 2 days ago
Definition
- Type: Method
- Namespace: UnityEngine
- Assembly: UnityEngine.CoreModule
SetGameObjectsActive(NativeArray<int>, bool)
Activates or deactivates multiple GameObjects identified by instance ID.
public static void SetGameObjectsActive(NativeArray<int> instanceIDs, bool active)
Parameters
Instance IDs of GameObjects to activate or deactive.
The active state to set, where sets the GameObjects to active and sets them to inactive.
truefalseRemarks
Use to activate or deactivate multiple GameObjects as a batch.
SetGameObjectsActiveusing System;using Unity.Collections;using UnityEngine;using UnityEngine.InputSystem;//Add this script to a GameObject. This example requires the Input System package.public class DeactivateGOComponent : MonoBehaviour{public GameObject prefab;public int count = 100; NativeArray<int> m_SpawnedInstanceIDsNative; int[] m_SpawnedInstanceIDs; bool m_SetActive = false; bool m_UseSlowMethod = false; void Start() { m_SpawnedInstanceIDs = new int[count]; //Spawn some prefabs for (int i = 0; i < count; i++) { //Save their instanceID m_SpawnedInstanceIDs[i] = Instantiate(prefab).GetInstanceID(); } //Create native array with instanceIDs m_SpawnedInstanceIDsNative = new NativeArray<int>(m_SpawnedInstanceIDs, Allocator.Persistent); } void Update() { if (Keyboard.current[Key.A].wasPressedThisFrame) { if (m_UseSlowMethod) { SetActiveSlow(m_SetActive); } else { SetActiveFast(m_SpawnedInstanceIDsNative, m_SetActive); } m_SetActive = !m_SetActive; } } void SetActiveSlow(bool setActive) { foreach(int id in m_SpawnedInstanceIDs) { ((GameObject)Resources.InstanceIDToObject(id)).SetActive(setActive); } } static void SetActiveFast(NativeArray<int> ids, bool setActive) { GameObject.SetGameObjectsActive(ids, setActive); } void OnDestroy() { m_SpawnedInstanceIDsNative.Dispose(); }}
Additional Resources: GameObject.SetActive, GameObject.InstantiateGameObjects.
SetGameObjectsActive(NativeArray<EntityId>, bool)
Activates or deactivates multiple GameObjects identified by instance ID.
public static void SetGameObjectsActive(NativeArray<EntityId> entityIds, bool active)
Parameters
The active state to set, where sets the GameObjects to active and sets them to inactive.
truefalseRemarks
Use to activate or deactivate multiple GameObjects as a batch.
SetGameObjectsActiveusing System;using Unity.Collections;using UnityEngine;using UnityEngine.InputSystem;//Add this script to a GameObject. This example requires the Input System package.public class DeactivateGOComponent : MonoBehaviour{public GameObject prefab;public int count = 100; NativeArray<int> m_SpawnedInstanceIDsNative; int[] m_SpawnedInstanceIDs; bool m_SetActive = false; bool m_UseSlowMethod = false; void Start() { m_SpawnedInstanceIDs = new int[count]; //Spawn some prefabs for (int i = 0; i < count; i++) { //Save their instanceID m_SpawnedInstanceIDs[i] = Instantiate(prefab).GetInstanceID(); } //Create native array with instanceIDs m_SpawnedInstanceIDsNative = new NativeArray<int>(m_SpawnedInstanceIDs, Allocator.Persistent); } void Update() { if (Keyboard.current[Key.A].wasPressedThisFrame) { if (m_UseSlowMethod) { SetActiveSlow(m_SetActive); } else { SetActiveFast(m_SpawnedInstanceIDsNative, m_SetActive); } m_SetActive = !m_SetActive; } } void SetActiveSlow(bool setActive) { foreach(int id in m_SpawnedInstanceIDs) { ((GameObject)Resources.InstanceIDToObject(id)).SetActive(setActive); } } static void SetActiveFast(NativeArray<int> ids, bool setActive) { GameObject.SetGameObjectsActive(ids, setActive); } void OnDestroy() { m_SpawnedInstanceIDsNative.Dispose(); }}
Additional Resources: GameObject.SetActive, GameObject.InstantiateGameObjects.
SetGameObjectsActive(ReadOnlySpan<int>, bool)
Activates or deactivates multiple GameObjects identified by instance ID.
public static void SetGameObjectsActive(ReadOnlySpan<int> instanceIDs, bool active)
Parameters
Instance IDs of GameObjects to activate or deactive.
The active state to set, where sets the GameObjects to active and sets them to inactive.
truefalseRemarks
Use to activate or deactivate multiple GameObjects as a batch.
SetGameObjectsActiveusing System;using Unity.Collections;using UnityEngine;using UnityEngine.InputSystem;//Add this script to a GameObject. This example requires the Input System package.public class DeactivateGOComponent : MonoBehaviour{public GameObject prefab;public int count = 100; NativeArray<int> m_SpawnedInstanceIDsNative; int[] m_SpawnedInstanceIDs; bool m_SetActive = false; bool m_UseSlowMethod = false; void Start() { m_SpawnedInstanceIDs = new int[count]; //Spawn some prefabs for (int i = 0; i < count; i++) { //Save their instanceID m_SpawnedInstanceIDs[i] = Instantiate(prefab).GetInstanceID(); } //Create native array with instanceIDs m_SpawnedInstanceIDsNative = new NativeArray<int>(m_SpawnedInstanceIDs, Allocator.Persistent); } void Update() { if (Keyboard.current[Key.A].wasPressedThisFrame) { if (m_UseSlowMethod) { SetActiveSlow(m_SetActive); } else { SetActiveFast(m_SpawnedInstanceIDsNative, m_SetActive); } m_SetActive = !m_SetActive; } } void SetActiveSlow(bool setActive) { foreach(int id in m_SpawnedInstanceIDs) { ((GameObject)Resources.InstanceIDToObject(id)).SetActive(setActive); } } static void SetActiveFast(NativeArray<int> ids, bool setActive) { GameObject.SetGameObjectsActive(ids, setActive); } void OnDestroy() { m_SpawnedInstanceIDsNative.Dispose(); }}
Additional Resources: GameObject.SetActive, GameObject.InstantiateGameObjects.
SetGameObjectsActive(ReadOnlySpan<EntityId>, bool)
Activates or deactivates multiple GameObjects identified by instance ID.
public static void SetGameObjectsActive(ReadOnlySpan<EntityId> entityIds, bool active)
Parameters
The active state to set, where sets the GameObjects to active and sets them to inactive.
truefalseRemarks
Use to activate or deactivate multiple GameObjects as a batch.
SetGameObjectsActiveusing System;using Unity.Collections;using UnityEngine;using UnityEngine.InputSystem;//Add this script to a GameObject. This example requires the Input System package.public class DeactivateGOComponent : MonoBehaviour{public GameObject prefab;public int count = 100; NativeArray<int> m_SpawnedInstanceIDsNative; int[] m_SpawnedInstanceIDs; bool m_SetActive = false; bool m_UseSlowMethod = false; void Start() { m_SpawnedInstanceIDs = new int[count]; //Spawn some prefabs for (int i = 0; i < count; i++) { //Save their instanceID m_SpawnedInstanceIDs[i] = Instantiate(prefab).GetInstanceID(); } //Create native array with instanceIDs m_SpawnedInstanceIDsNative = new NativeArray<int>(m_SpawnedInstanceIDs, Allocator.Persistent); } void Update() { if (Keyboard.current[Key.A].wasPressedThisFrame) { if (m_UseSlowMethod) { SetActiveSlow(m_SetActive); } else { SetActiveFast(m_SpawnedInstanceIDsNative, m_SetActive); } m_SetActive = !m_SetActive; } } void SetActiveSlow(bool setActive) { foreach(int id in m_SpawnedInstanceIDs) { ((GameObject)Resources.InstanceIDToObject(id)).SetActive(setActive); } } static void SetActiveFast(NativeArray<int> ids, bool setActive) { GameObject.SetGameObjectsActive(ids, setActive); } void OnDestroy() { m_SpawnedInstanceIDsNative.Dispose(); }}
Additional Resources: GameObject.SetActive, GameObject.InstantiateGameObjects.