# FindAnyObjectByType

> Retrieves any active loaded object of Type T.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine](/engine/6000.7/script-reference/unityengine.md)
* **Assembly:** UnityEngine.CoreModule

## FindAnyObjectByType\<T>()

Retrieves any active loaded object of Type T.

```csharp
public static T FindAnyObjectByType<T>() where T : Object
```

### Returns

| Type | Description                                                                                                                       |
| ---- | --------------------------------------------------------------------------------------------------------------------------------- |
| T    | Returns an arbitrary active loaded object that matches the specified type. If no object matches the specified type, returns null. |

### Remarks

`Object.FindAnyObjectByType` doesn't return assets (for example meshes, textures, or prefabs), or inactive objects. It also doesn't return objects that have [HideFlags.DontSave](/engine/6000.7/script-reference/unityengine/hideflags/dontsave.md) set.

The object that this method returns isn't guaranteed to be the same between calls, but it is always of the specified type. This method is faster than [Object.FindFirstObjectByType](/engine/6000.7/script-reference/unityengine/object/findfirstobjectbytype.md) if you don't need a specific object instance.

See Also: [Object.FindFirstObjectByType](/engine/6000.7/script-reference/unityengine/object/findfirstobjectbytype.md), [Object.FindObjectsByType](/engine/6000.7/script-reference/unityengine/object/findobjectsbytype.md).

### Examples

```csharp
using UnityEngine;
using System.Collections;

// Search for any object of Types TextMesh and CanvasRenderer,
// if found print the names, else print a message
// that says that it was not found.
public class ExampleClass : MonoBehaviour
{
    void Start()
    {
        TextMesh texture = (TextMesh)FindAnyObjectByType(typeof(TextMesh));
        if (texture)
            Debug.Log("TextMesh object found: " + texture.name);
        else
            Debug.Log("No TextMesh object could be found");

        CanvasRenderer canvas = FindAnyObjectByType<CanvasRenderer>();
        if (canvas)
            Debug.Log("CanvasRenderer object found: " + canvas.name);
        else
            Debug.Log("No CanvasRenderer object could be found");
    }
}
```

## FindAnyObjectByType\<T>(FindObjectsInactive)

Retrieves any loaded object of type T, with the option to include inactive objects.

```csharp
public static T FindAnyObjectByType<T>(FindObjectsInactive findObjectsInactive) where T : Object
```

### Parameters

**** (\[FindObjectsInactive]\(/engine/6000.7/script-reference/unityengine/findobjectsinactive)): Whether to include components attached to inactive GameObjects.

### Returns

| Type | Description                                                                                                        |
| ---- | ------------------------------------------------------------------------------------------------------------------ |
| T    | An arbitrary loaded object that matches the specified type. If no object matches the specified type, returns null. |

## FindAnyObjectByType(Type)

Retrieves any active loaded object of the specified type.

```csharp
public static Object FindAnyObjectByType(Type type)
```

### Parameters

**** (\[Type]\(https\://learn.microsoft.com/dotnet/api/system.type)): The type of object to find.

### Returns

| Type                                                            | Description                                                                                                               |
| --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| [Object](/engine/6000.7/script-reference/unityengine/object.md) | An arbitrary active loaded object that matches the specified type. If no object matches the specified type, returns null. |

## FindAnyObjectByType(Type, FindObjectsInactive)

Retrieves any loaded object of the specified type, with the option to include inactive objects.

```csharp
public static Object FindAnyObjectByType(Type type, FindObjectsInactive findObjectsInactive)
```

### Parameters

**** (\[Type]\(https\://learn.microsoft.com/dotnet/api/system.type)): The type of object to find.**** (\[FindObjectsInactive]\(/engine/6000.7/script-reference/unityengine/findobjectsinactive)): Whether to include components attached to inactive GameObjects.

### Returns

| Type                                                            | Description                                                                                                        |
| --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| [Object](/engine/6000.7/script-reference/unityengine/object.md) | An arbitrary loaded object that matches the specified type. If no object matches the specified type, returns null. |
