Table of Contents

Method Custom

Namespace
Velvet
Assembly
Velvet.Docs.dll

Custom<T>(string?, string?, string?, FiberElementProps?, Func<VisualElement, Action>?, VNode?[]?, string?, string?, string?, IReadOnlyDictionary<string, string>?, IReadOnlyDictionary<string, string>?)

Creates an element backed by a custom UnityEngine.UIElements.VisualElement subclass T, for control types the built-in factories (Div(string?, string?, string?, FiberElementProps?, StyleOverrides?, Func<VisualElement, Action>?, VNode?[]?, string?, string?, string?, IReadOnlyDictionary<string, string>?, IReadOnlyDictionary<string, string>?), Label(string?, string?, string?, string?, Func<VisualElement, Action>?, string?, string?, string?, IReadOnlyDictionary<string, string>?, IReadOnlyDictionary<string, string>?), …) do not expose. Long form: every prop is a named optional parameter. For the shorthand V.Custom<T>("class", child1, child2) form, see the params overload.

public static ElementNode Custom<T>(string? className = null, string? key = null, string? name = null, FiberElementProps? props = null, Func<VisualElement, Action>? refCallback = null, VNode?[]? children = null, string? whileHoverClass = null, string? whileTapClass = null, string? whileFocusClass = null, IReadOnlyDictionary<string, string>? data = null, IReadOnlyDictionary<string, string>? aria = null) where T : VisualElement

Parameters

className string

CSS-like utility class string. Multiple classes separated by spaces.

key string

Key used to disambiguate siblings at the same position.

name string

Element name assigned to UnityEngine.UIElements.VisualElement.name for query/debug.

props FiberElementProps

Optional FiberElementProps (text / tooltip / enabled / etc.) bag.

refCallback Func<VisualElement, Action>

Callback invoked on mount with the created VisualElement; returned Action runs on unmount.

children VNode[]

Child VNodes rendered inside this element.

whileHoverClass string

USS class toggled while the pointer hovers the element.

whileTapClass string

USS class toggled while the pointer is pressed on the element.

whileFocusClass string

USS class toggled while the element holds keyboard/UI focus.

data IReadOnlyDictionary<string, string>

data-* attribute map matched by data-[...] variants.

aria IReadOnlyDictionary<string, string>

aria-* attribute map matched by aria-[...] variants.

Returns

ElementNode

The created ElementNode representing this element.

Type Parameters

T

Concrete VisualElement subclass to instantiate.

Custom<T>(string, params VNode?[])

Shorthand overload: positional className + variadic children, building a T element with just a class string and children. For any prop besides className, use the long-form overload with named arguments.

public static ElementNode Custom<T>(string className, params VNode?[] children) where T : VisualElement

Parameters

className string

CSS-like utility class string. Multiple classes separated by spaces.

children VNode[]

Child VNodes; pass zero or more positionals or expand an existing array.

Returns

ElementNode

The created ElementNode.

Type Parameters

T

Concrete VisualElement subclass to instantiate.