UIElements.TemplateContainer The root of the tree of VisualElements that was just cloned.
Build a tree of VisualElements from the asset.
| Parameter | Description |
|---|---|
| bindingPath | The path to the property that you want to bind to the root of the cloned tree. |
UIElements.TemplateContainer The root of the tree of VisualElements that was just cloned.
Build a tree of VisualElements from the asset.
| Parameter | Description |
|---|---|
| target | A VisualElement that will act as the root of the cloned tree. |
Builds a tree of VisualElements from the asset.
| Parameter | Description |
|---|---|
| referenceTable | A table to use to resolve references. |
Builds a tree of VisualElements from the asset and fills a VisualElementAssetReferenceTable.
This example shows how to use the <see cref="VisualElementAssetReferenceTable" /> to resolve references to VisualElements after calling CloneTree.
using UnityEngine; using UnityEngine.UIElements;
public class VisualElementAssetReferenceTable_CloneTreeExample : MonoBehaviour { // Set via the Inspector public VisualTreeAsset treeAsset;
void Start() { var target = new VisualElement(); treeAsset.CloneTree(target, out var referenceTable);
// Example of retrieving a referenced element by its Authoring Id if (referenceTable.TryGetReference<Button>(new AuthoringIdPath(42), out var myButton)) { Debug.Log("Found button!"); }
// Example of retrieving a the root element if (referenceTable.TryGetReference<VisualElement>(new AuthoringIdPath(0), out var root)) { Debug.Log("Found root!"); }
// Example of retrieving a nested element inside of multiple template instances if (referenceTable.TryGetReference<VisualElement>(new AuthoringIdPath(1, 5, -19, 11, 1), out var nestedElement)) { Debug.Log("Found nested element!"); }
// Release the reference table back to the pool when done referenceTable.ReleaseToPool(); } }