T[] The array of objects found matching the type specified.
Returns a list of all active loaded objects of Type type
.
This method does not return objects attached to inactive GameObjects. This method also does not return assets (such as meshes, textures or prefabs), or objects with HideFlags.DontSave set.
Use Resources.FindObjectsOfTypeAll to avoid these limitations.
In Editor, this searches the Scene view by default. If you want to find an object in the Prefab stage, see the StageUtility APIs.
Note: This function is very slow. It is not recommended to use this function every frame.
In most cases you can use the singleton pattern instead.
using UnityEngine;
// Ten GameObjects are created and have TextMesh and // CanvasRenderer components added. // When the game runs press the Space key to display the // number of TextMesh and CanvasRenderer components.
public class ScriptExample : MonoBehaviour { private const int count = 10;
void Start() { var gameObjects = new GameObject[count]; var expectedTextMeshObjects = new TextMesh[count]; var expectedCanvasObjects = new CanvasRenderer[count];
for (var i = 0; i < count; ++i) { gameObjects[i] = new GameObject(); expectedTextMeshObjects[i] = gameObjects[i].AddComponent<TextMesh>(); expectedCanvasObjects[i] = gameObjects[i].AddComponent<CanvasRenderer>(); } }
void Update() { if (Input.GetKeyDown(KeyCode.Space)) { var foundCanvasObjects = FindObjectsOfType<CanvasRenderer>(); var foundTextMeshObjects = FindObjectsOfType(typeof(TextMesh)); Debug.Log(foundCanvasObjects + " : " + foundCanvasObjects.Length); Debug.Log(foundTextMeshObjects + " : " + foundTextMeshObjects.Length); } } }
type | The type of object to find. |
Object[]
Returns an array of all active loaded objects of Type type
.
The older, non-generic version of this method. In most cases you should use the generic version of this method.