Skip to main content
Version: 1.1.0

Native component catalog

The catalog covers authorable uGUI/TMP components, layout/masking/effects and event/raycast infrastructure. TMP Text/InputField/Dropdown are the defaults; LegacyText, LegacyInputField and LegacyDropdown explicitly select Unity legacy text. Generated TMP submeshes/carets are owned implementation companions, not separate declaration factories. Removed obsolete TouchInputModule is outside this catalog; use a supported native input module.

FactoryNative componentPlacementAvailability
P.FrameUnityEngine.RectTransformchildbaseline
P.TextTMPro.TextMeshProUGUIchildbaseline
P.ImageUnityEngine.UI.Imagechildbaseline
P.RawImageUnityEngine.UI.RawImagechildbaseline
P.ButtonUnityEngine.UI.Buttonchildbaseline
P.SelectableUnityEngine.UI.Selectablechildbaseline
P.ToggleUnityEngine.UI.Togglechildbaseline
P.SliderUnityEngine.UI.Sliderchildbaseline
P.ScrollbarUnityEngine.UI.Scrollbarchildbaseline
P.InputFieldTMPro.TMP_InputFieldchildbaseline
P.DropdownTMPro.TMP_Dropdownchildbaseline
P.LegacyTextUnityEngine.UI.Textchildbaseline
P.LegacyInputFieldUnityEngine.UI.InputFieldchildbaseline
P.LegacyDropdownUnityEngine.UI.Dropdownchildbaseline
P.ScrollRectUnityEngine.UI.ScrollRectchildbaseline
P.VerticalUnityEngine.UI.VerticalLayoutGroupchildbaseline
P.HorizontalUnityEngine.UI.HorizontalLayoutGroupchildbaseline
P.GridUnityEngine.UI.GridLayoutGroupchildbaseline
P.CanvasUnityEngine.Canvaschildbaseline
P.CanvasGroupUnityEngine.CanvasGroupcomponentbaseline
P.CanvasScalerUnityEngine.UI.CanvasScalercomponentbaseline
P.GraphicRaycasterUnityEngine.UI.GraphicRaycastercomponentbaseline
P.LayoutElementUnityEngine.UI.LayoutElementcomponentbaseline
P.ContentSizeFitterUnityEngine.UI.ContentSizeFittercomponentbaseline
P.AspectRatioFitterUnityEngine.UI.AspectRatioFittercomponentbaseline
P.MaskUnityEngine.UI.Maskcomponentbaseline
P.RectMask2DUnityEngine.UI.RectMask2Dcomponentbaseline
P.ShadowUnityEngine.UI.Shadowcomponentbaseline
P.OutlineUnityEngine.UI.Outlinecomponentbaseline
P.PositionAsUV1UnityEngine.UI.PositionAsUV1componentbaseline
P.ToggleGroupUnityEngine.UI.ToggleGroupcomponentbaseline
P.CanvasRendererUnityEngine.CanvasRenderercomponentbaseline
P.AnimatorUnityEngine.Animatorcomponentbaseline
P.EventTriggerUnityEngine.EventSystems.EventTriggercomponentbaseline
P.EventSystemUnityEngine.EventSystems.EventSystemchildbaseline
P.BaseInputUnityEngine.EventSystems.BaseInputcomponentbaseline
P.PlayerInputUnityEngine.InputSystem.PlayerInputcomponentENABLE_INPUT_SYSTEM
P.MultiplayerEventSystemUnityEngine.InputSystem.UI.MultiplayerEventSystemchildENABLE_INPUT_SYSTEM
P.TrackedDeviceRaycasterUnityEngine.InputSystem.UI.TrackedDeviceRaycastercomponentENABLE_INPUT_SYSTEM
P.VirtualMouseInputUnityEngine.InputSystem.UI.VirtualMouseInputcomponentENABLE_INPUT_SYSTEM
P.StandaloneInputModuleUnityEngine.EventSystems.StandaloneInputModulecomponentENABLE_LEGACY_INPUT_MANAGER
P.InputSystemUIInputModuleUnityEngine.InputSystem.UI.InputSystemUIInputModulecomponentENABLE_INPUT_SYSTEM
P.PhysicsRaycasterUnityEngine.EventSystems.PhysicsRaycastercomponentbaseline
P.Physics2DRaycasterUnityEngine.EventSystems.Physics2DRaycastercomponentbaseline
P.RaycastReceiverUnityEngine.UI.RaycastReceiverchildPINE_UGUI_2_5_OR_NEWER
P.SafeAreaUnityEngine.UI.SafeAreacomponentPINE_UGUI_2_6_OR_NEWER

Omitted settings use native component defaults. Pine wires required references: Selectable graphics, optional button/toggle captions, toggle marks, slider/scrollbar handles, input viewports/text/placeholders, dropdown templates and scroll content/viewport. It does not install a color theme or overwrite Navigation/ColorBlock structs. Canvas wires CanvasScaler and GraphicRaycaster. Input System modules own independent default actions; supplied assets and action references override them without transferring external ownership.

RectTransform and GameObject settings are named props on every factory. UnityEvent settings accept typed callbacks with owned cleanup. Native grouped settings use native Unity types (ColorBlock, Navigation, SpriteState, RectOffset, vectors and enums). Every named prop.

Native structs and settings​

Grouped Inspector settings use Unity's own structs. Properties that reference other components accept named declarations, typed refs, external references or tracked native values. Plain getters use new Value<T>(() => ...); reference captures a built native object, and configure runs once after its props/children are applied.

var colors = UnityEngine.UI.ColorBlock.defaultColorBlock;
colors.normalColor = Color.gray;
colors.highlightedColor = Color.white;
colors.fadeDuration = .15f;
var navigation = new UnityEngine.UI.Navigation { mode = UnityEngine.UI.Navigation.Mode.Automatic };
return P.Button(
"Save",
colors: colors,
navigation: navigation,
transition: UnityEngine.UI.Selectable.Transition.ColorTint,
onClick: Save,
children: new[]
{
P.Self(P.Image(sprite: background, type: UnityEngine.UI.Image.Type.Sliced)),
P.LayoutElement(preferredWidth: 200, preferredHeight: 48),
P.Outline(effectColor: Color.black, effectDistance: new Vector2(2, -2)),
}
);

This fragment assumes Save and a Sprite background are supplied by the containing renderer. Omitted structs are not replaced by Pine presets. For options/event entries and other native lists, assign a new list to a Source or call its Notify; in-place list mutation alone is not observable. Input range/content settings apply before editable values. Native setters remain responsible for validation and clamping.

A configure callback is intended for APIs that are methods rather than properties, for example native focus/selection in an appropriate Unity lifecycle callback. Ordinary initialization properties should use named props. Declare custom templates and graphics through named parts. Use typed refs and tracked native structs for navigation neighbors; only omitted parts receive generated helpers.