Version: 2019.1

Object.FindObjectsOfType

Switch to Manual
public static Object[] FindObjectsOfType (Type type);

Parameters

typeThe type of object to find.

Returns

Object[] The array of objects found matching the type specified.

Description

Returns a list of all active loaded objects of Type type.

It will return no assets (meshes, textures, prefabs, ...) or inactive objects. Will not return objects that have HideFlags.DontSave set. Use Resources.FindObjectsOfTypeAll to avoid these limitations.

Please note that 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 components added. // When the game runs press the Space key and the number of // TextMesh components are displayed.

public class ScriptExample : MonoBehaviour { private const int count = 10;

void Start() { var gameObjects = new GameObject[count]; var expectedObjects = new TextMesh[count];

for (var i = 0; i < count; ++i) { gameObjects[i] = new GameObject(); expectedObjects[i] = gameObjects[i].AddComponent<TextMesh>(); } }

void Update() { if (Input.GetKeyDown(KeyCode.Space)) { var foundObjects = FindObjectsOfType<TextMesh>(); Debug.Log(foundObjects + " : " + foundObjects.Length); } } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961