WonderTexture Get WonderTexture
Docs / Parameters & Instancing / Exposing Parameters
Parameters & Instancing • WonderTexture

Exposing Parameters

Turn internal Float, Integer, Boolean, and Vector values into a clean public interface for reusable WonderTexture graphs.

// PUBLIC INTERFACE

What Exposed Parameters Are

A procedural brick graph, for example, might expose only Scale, Mortar Width, Edge Damage, and Variation even if dozens of nodes sit behind them.

The goal is to expose intent rather than implementation. A strong reusable graph gives users a compact set of meaningful controls and keeps technical details internal unless they genuinely need to be configured.

RESULT Expose an internal value, configure its public interface, and use it from a Graph Instance.

// WORKFLOW

Create & Expose a Parameter

Public parameters are created from dedicated Function Input nodes. Choose the input type that matches the value you want users to control:

PARAMETER SOURCEDESCRIPTION
Float InputCreates a floating-point public parameter.
Integer InputCreates an integer parameter and can also be configured as a named Enum choice.
Boolean InputCreates a True / False public control.
Vector2 InputCreates a two-component parameter and can optionally participate in the 2D Position gizmo workflow.
Vector3 InputCreates a three-component vector parameter.
Vector4 InputCreates a four-component parameter suitable for four-value or RGBA-style controls where appropriate.

Add the Function Input, connect it to the internal logic it should drive, and make sure that logic already behaves correctly before exposing anything. Exposure changes how users access a value; it does not create the procedural relationship itself.

Select the Function Input and enable Expose Parameter. WonderTexture adds the parameter to the graph’s public interface and, unless you have already prepared a custom exposed default, uses the node’s current value as the initial public default.

After exposure, open Expose Settings to configure the public definition. Later changes to Label, Default, range, Group, or other exposure metadata must be published with Apply Settings Update. When the public definition is current, the button reports Settings Applied.

APPLY EXPOSURE CHANGES
If Expose Settings shows a pending update state, click Apply Settings Update so dependent interfaces can rebuild against the latest public definition.
// PUBLIC CONTROL DESIGN

Design the Public Control

The exposed definition should describe how the asset is meant to be used, not simply mirror every technical capability of the internal node.

SETTINGPURPOSE
LabelDefines the user-facing name shown on Graph Instances and reusable nodes.
DefaultDefines the starting value used when a new instance receives the parameter.
Min / MaxConstrains the public UI to the range the asset was designed to support.
GroupPlaces the parameter with related controls on supported reusable interfaces.
EnumLets an Integer represent named choices instead of a free numerical value.
UI / Editor TypeControls how supported parameters are presented, including Position-style editing for compatible Vector2 controls.

Use labels that describe the result of changing a control rather than the implementation behind it. An internal Float can simply appear as Scratch Amount, Pattern Scale, or another meaningful public name.

Defaults are part of asset design too. A reusable graph should produce a sensible result before the user adjusts anything, and its Min / Max constraints should focus the interface on useful values rather than every mathematically possible value.

Boolean Inputs are ideal for genuinely binary choices such as Enable Distortion or Invert Mask. Use a Boolean instead of encoding the same decision as 0 and 1 on a Float.

Integer Inputs can be exposed as an Enum when the value represents a limited set of modes. Define readable Label / Integer pairs such as Soft → 0, Medium → 1, and Hard → 2. The item order becomes the user-facing choice order, so once an asset is in use, keep existing Integer meanings stable.

Vector2, Vector3, and Vector4 Inputs are useful when several numbers form one meaningful control. Vector2 also supports a Position editor type on compatible interfaces, allowing the value to participate in WonderTexture’s 2D visual-gizmo workflow.

POSITION CHANGES THE EDITOR, NOT THE LOGIC
A Position-style Vector2 changes how users can edit the exposed value. Your graph logic still decides what that Vector2 actually does.

RESULT Expose an internal value, configure its public interface, and use it from a Graph Instance.

Adding, removing, renaming, reordering, regrouping, or otherwise changing exposed parameters modifies the graph’s public schema. WonderTexture marks the source for updated synchronization and allows dependent instances to rebuild against the new definition.

Existing instance values are tracked through the parameter’s internal exposure identity rather than only its visible Label, so presentation changes do not rely solely on text matching.

For recovery and update workflows after source-interface changes, see Source Changes & Resyncing.

For deeper interface organization patterns such as grouping and control presentation, see Parameter Groups & UI.