# IUxmlFactory

> Interface for UXML factories. While it is not strictly required, concrete factories should derive from the generic class UxmlFactory<TCreatedType, TTraits>.

## Definition

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

> **Warning:**
>
> **Deprecated.** IUxmlFactory is deprecated and will be removed. Use UxmlElementAttribute instead.

```csharp
public interface IUxmlFactory : IBaseUxmlFactory
```

## Methods

| Method                                                                                  | Description                                        |
| --------------------------------------------------------------------------------------- | -------------------------------------------------- |
| [Create](/engine/6000.3/script-reference/unityengine/uielements/iuxmlfactory/create.md) | Instantiate and initialize an object of type `T0`. |

## Inheritance

**Inherited Members:**

* [IBaseUxmlFactory.AcceptsAttributeBag(IUxmlAttributes, CreationContext)](/engine/6000.3/script-reference/unityengine/uielements/ibaseuxmlfactory/acceptsattributebag.md)
* [IBaseUxmlFactory.uxmlName](/engine/6000.3/script-reference/unityengine/uielements/ibaseuxmlfactory/uxmlname.md)
* [IBaseUxmlFactory.uxmlNamespace](/engine/6000.3/script-reference/unityengine/uielements/ibaseuxmlfactory/uxmlnamespace.md)
* [IBaseUxmlFactory.uxmlQualifiedName](/engine/6000.3/script-reference/unityengine/uielements/ibaseuxmlfactory/uxmlqualifiedname.md)
* [IBaseUxmlFactory.uxmlType](/engine/6000.3/script-reference/unityengine/uielements/ibaseuxmlfactory/uxmltype.md)
* [IBaseUxmlFactory.canHaveAnyAttribute](/engine/6000.3/script-reference/unityengine/uielements/ibaseuxmlfactory/canhaveanyattribute.md)
* [IBaseUxmlFactory.uxmlAttributesDescription](/engine/6000.3/script-reference/unityengine/uielements/ibaseuxmlfactory/uxmlattributesdescription.md)
* [IBaseUxmlFactory.uxmlChildElementsDescription](/engine/6000.3/script-reference/unityengine/uielements/ibaseuxmlfactory/uxmlchildelementsdescription.md)
* [IBaseUxmlFactory.substituteForTypeName](/engine/6000.3/script-reference/unityengine/uielements/ibaseuxmlfactory/substitutefortypename.md)
* [IBaseUxmlFactory.substituteForTypeNamespace](/engine/6000.3/script-reference/unityengine/uielements/ibaseuxmlfactory/substitutefortypenamespace.md)
* [IBaseUxmlFactory.substituteForTypeQualifiedName](/engine/6000.3/script-reference/unityengine/uielements/ibaseuxmlfactory/substitutefortypequalifiedname.md)
