# UxmlObjectReferenceAttribute

> Declares that a field or property is associated with nested UXML objects.

## Definition

* **Type:** Constructor
* **Namespace:** [UnityEngine.UIElements](/engine/6000.7/script-reference/unityengine/uielements.md)
* **Assembly:** UnityEngine.UIElementsModule

## UxmlObjectReferenceAttribute()

Declares that a field or property is associated with nested UXML objects.

```csharp
public UxmlObjectReferenceAttribute()
```

## UxmlObjectReferenceAttribute(string)

Declares that a field or property is associated with nested UXML objects.

```csharp
public UxmlObjectReferenceAttribute(string uxmlName)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The name of the nested UXML element that the UXML Objects are serialized to. **Note**: This field can not be null or empty.

## UxmlObjectReferenceAttribute(string, Type\[])

Declares that a field or property is associated with nested UXML objects.

```csharp
public UxmlObjectReferenceAttribute(string uxmlName, params Type[] acceptedTypes)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The name of the nested UXML element that the UXML Objects are serialized to. **Note**: A null or empty value will result in the objects being serialized into the root.**** (\[Type\[]]\(https\://learn.microsoft.com/dotnet/api/system.type)): In UI Builder, when adding a UXML Object to a field that has multiple derived types, a dropdown list appears with a selection of available types that can be added to the field. By default, this list comprises all types that inherit from the UXML object type. You can use a parameter to specify a list of accepted types to be displayed, rather than showing all available types.
