# ManagedReferenceUtility

> Utility functions related to SerializeReference manipulation and access.

## Definition

* **Type:** Class
* **Namespace:** [UnityEngine.Serialization](/engine/6000.6/script-reference/unityengine/serialization.md)
* **Assembly:** UnityEngine.CoreModule

```csharp
public sealed class ManagedReferenceUtility
```

## Remarks

Additional Resources: [SerializeReference](/engine/6000.6/script-reference/unityengine/serializereference.md), [SerializedProperty](/engine/6000.6/script-reference/unityeditor/serializedproperty.md), [SerializationUtility](/engine/6000.6/script-reference/unityeditor/serializationutility.md).

## Static Fields

| Value                                                                                                             | Description                                                                                                                                                                                                                                                                                                    |
| ----------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [RefIdNull](/engine/6000.6/script-reference/unityengine/serialization/managedreferenceutility/refidnull.md)       | Special value, -2, used as the managed reference Id of any field decorated with [SerializeReference](/engine/6000.6/script-reference/unityengine/serializereference.md) that has no object assigned to it.                                                                                                     |
| [RefIdUnknown](/engine/6000.6/script-reference/unityengine/serialization/managedreferenceutility/refidunknown.md) | Special value, -1, used when the managed reference Id for an object is unknown, for example if [ManagedReferenceUtility.GetManagedReferenceIdForObject](/engine/6000.6/script-reference/unityengine/serialization/managedreferenceutility/getmanagedreferenceidforobject.md) is called with invalid arguments. |

## Static Methods

| Method                                                                                                                                                | Description                                                                                                                                                                                          |
| ----------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [GetManagedReference](/engine/6000.6/script-reference/unityengine/serialization/managedreferenceutility/getmanagedreference.md)                       | Retrieves an object based on its managed reference Id.                                                                                                                                               |
| [GetManagedReferenceIdForObject](/engine/6000.6/script-reference/unityengine/serialization/managedreferenceutility/getmanagedreferenceidforobject.md) | Retrieves the managed reference Id for an object that is referenced using [SerializeReference](/engine/6000.6/script-reference/unityengine/serializereference.md).                                   |
| [GetManagedReferenceIds](/engine/6000.6/script-reference/unityengine/serialization/managedreferenceutility/getmanagedreferenceids.md)                 | Retrieves a list of managed reference Ids assigned to objects that are referenced using [SerializeReference](/engine/6000.6/script-reference/unityengine/serializereference.md) on a specified host. |
| [SetManagedReferenceIdForObject](/engine/6000.6/script-reference/unityengine/serialization/managedreferenceutility/setmanagedreferenceidforobject.md) | Assigns a managed reference Id to an object that is referenced using [SerializeReference](/engine/6000.6/script-reference/unityengine/serializereference.md) on a specified host.                    |
