Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


CloneTree

Build a tree of VisualElements from the asset.
Read time 2 minutesLast updated 12 days ago

Definition

CloneTree()

Build a tree of VisualElements from the asset.
public TemplateContainer CloneTree()

Returns

Type

Description

TemplateContainerThe root of the tree of VisualElements that was just cloned.

CloneTree(string)

Build a tree of VisualElements from the asset.
public TemplateContainer CloneTree(string bindingPath)

Parameters

bindingPath

The path to the property that you want to bind to the root of the cloned tree.

Returns

Type

Description

TemplateContainerThe root of the tree of VisualElements that was just cloned.

CloneTree(VisualElement)

Builds a tree of VisualElements from the asset.
public void CloneTree(VisualElement target)

Parameters

A VisualElement that will act as the root of the cloned tree.

CloneTree(VisualElement, VisualElementAssetReferenceTable)

Builds a tree of VisualElements from the asset and fills a VisualElementAssetReferenceTable.
public void CloneTree(VisualElement target, out VisualElementAssetReferenceTable referenceTable)

Parameters


A table to use to resolve references.

Remarks

This example shows how to use the
VisualElementAssetReferenceTable
to resolve references to VisualElements after calling CloneTree.

Examples

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(); }}

CloneTree(VisualElement, int, int)

Build a tree of VisualElements from the asset.
public void CloneTree(VisualElement target, out int firstElementIndex, out int elementAddedCount)

Parameters


firstElementIndex


elementAddedCount