PlayableLabs Docs
Getting Started

UI Layer Parameters

The UI Layer controls how things look — images, text, colors, buttons, visibility. Changes apply instantly in the dashboard preview. This layer is auto-scanned from your playable's

The UI Layer is available directly in the dashboard. Every visual component can be customized instantly — no approval required.


What is the UI Layer?

The UI Layer controls how things look — images, text, colors, buttons, visibility. Changes apply instantly in the dashboard preview. This layer is auto-scanned from your playable's Canvas hierarchy.

ComponentParameterCocos ComponentWhat It Controls
SpriteComponentParametercc.SpriteImages, icons, backgrounds, tint colors
LabelComponentParametercc.LabelText content, fonts, colors, outline, shadow
ButtonComponentParametercc.ButtonInteractive buttons with transitions and states
UIOpacityComponentParametercc.UIOpacityTransparency and fade effects
UINodeComponentParametercc.NodeVisibility, position, rotation, scale
UITransformComponentParametercc.UITransformContent size and anchor
WidgetComponentParametercc.WidgetAnchoring and alignment
ProgressBarComponentParametercc.ProgressBarProgress indicators
SliderComponentParametercc.SliderSlider controls
ToggleComponentParametercc.ToggleCheckbox/toggle states
LayoutComponentParametercc.LayoutAuto-layout settings
MaskComponentParametercc.MaskMasking effects
CameraComponentParametercc.CameraCamera position, FOV

SpriteParameter

Controls any image element attached to a cc.Sprite component.

SpriteParameter Anatomy
SpriteParameter properties: spriteFrame, spriteColor, position, scale

Properties (ALL fields included by default)

PropertyConfig KeyTypeDescription
enableenableBooleanParameterShow or hide node
positionposition: {x, y}CoordinatesParameter2D screen position
contentSizecontentSize: {x, y}CoordinatesParameterWidth and height
scalescale: {x, y}CoordinatesParameterSize multiplier
spriteFramespriteFrame: ""ImageParameterImage asset (PNG/JPG)
colorspriteColor: "#FFFFFF"ColorParameterTint color overlay

spriteFrame

Upload or replace the image.

RequirementValue
FormatPNG (transparent) or JPG
Max size2MB
Recommended512x512 for icons, 1920x1080 for backgrounds

spriteColor

Tint overlay applied to the image.

ValueEffect
#FFFFFFNo tint (original colors)
#FF0000Red tint
#0000008050% black overlay (darken)

position

Screen coordinates from the node's anchor point.

{x: 0, y: 0}      → Center (if anchor is 0.5, 0.5)
{x: -200, y: 100} → 200px left, 100px up from center

scale

Size multiplier. {x: 1, y: 1} = original size.

{x: 2, y: 2}    → 2x larger
{x: 0.5, y: 0.5} → Half size
{x: 1.5, y: 1}  → Stretched horizontally

LabelParameter

Controls any text element attached to a cc.Label component.

Properties (ALL fields included by default)

PropertyConfig KeyTypeDescription
enableenableBooleanParameterShow or hide
positionposition: {x, y}CoordinatesParameter2D screen position
contentSizecontentSize: {x, y}CoordinatesParameterText box size
stringstring: "text"TextParameterDisplay text content
colorlabelColor: "#FFFFFF"ColorParameterText fill color
fontSizefontSize: 48NumberParameterFont size in pixels
lineHeightlineHeight: 0NumberParameterLine spacing (0 = auto)
isBoldisBold: falseBooleanParameterBold style
isItalicisItalic: falseBooleanParameterItalic style
isUnderlineisUnderline: falseBooleanParameterUnderline decoration
outlineColoroutlineColor: "#000000"ColorParameterText outline color
outlineWidthoutlineWidth: 0NumberParameterOutline thickness (0 = none)
shadowColorshadowColor: "#000000"ColorParameterDrop shadow color
shadowOffsetshadowOffset: {x, y}CoordinatesParameterShadow offset position

string

The text content displayed.

"Download Now"
"Level 1"
"Score: "

labelColor

Text fill color in hex format.

FormatExample
Solid#FFFFFF
With alpha#FFFFFF80 (50% transparent)

fontSize

Font size in pixels. Typical values:

Use CaseSize
Headlines60-80
Body text36-48
Labels24-32
Small text18-24

Outline

Text outline for readability against busy backgrounds.

PropertyValueEffect
outlineColor#000000Black outline
outlineWidth0No outline
outlineWidth2Thin outline
outlineWidth4Thick outline

Shadow

Drop shadow for depth.

PropertyValueEffect
shadowColor#000000Black shadow
shadowOffset{x: 2, y: -2}Bottom-right shadow
shadowOffset{x: 0, y: 0}No shadow

ButtonParameter

Controls interactive buttons. Extends SpriteParameter with label prefix fields.

Sprite Properties (Button Background)

Inherits ALL SpriteParameter fields:

PropertyConfig KeyTypeDescription
enableenableBooleanParameterShow or hide
positionposition: {x, y}CoordinatesParameterButton position
contentSizecontentSize: {x, y}CoordinatesParameterButton dimensions
scalescale: {x, y}CoordinatesParameterSize multiplier
spriteFramespriteFrameImageParameterButton background image
colorspriteColorColorParameterBackground tint

Label Properties (Button Text)

Additional label prefix fields:

PropertyConfig KeyTypeDescription
labelStringstring: "Play"TextParameterButton text
labelColorlabelColor: "#FFFFFF"ColorParameterText color
labelFontSizefontSize: 36NumberParameterText size
labelLineHeightlineHeight: 0NumberParameterLine spacing
labelBoldisBold: falseBooleanParameterBold style
labelOutlineColoroutlineColor: "#000"ColorParameterText outline
labelOutlineWidthoutlineWidth: 0NumberParameterOutline thickness

UINodeComponentParameter

Maps to cc.Node. The base building block for any scene node — visibility and transform.

Properties

PropertyConfig KeyTypeDescription
enableactiveBooleanParameterShow or hide the node
positionposition: {x, y} or {x, y, z}CoordinatesParameterNode position
rotationrotation: {x, y, z}CoordinatesParameterRotation in degrees
scalescale: {x, y}CoordinatesParameterSize multiplier

UITransformComponentParameter

Maps to cc.UITransform. Controls the size and anchor of a UI node.

Properties

PropertyConfig KeyTypeDescription
contentSizecontentSize: {x, y}CoordinatesParameterWidth and height
anchoranchor: {x, y}CoordinatesParameterAnchor point (0–1)

Together, UINode + UITransform replace the older single TransformComponentParameter. Every UI element is composed from these two plus its component (Sprite, Label, Button, …).


CameraComponentParameter

Maps to cc.Camera. Controls camera nodes.

Properties

PropertyConfig KeyTypeDescription
positionposition: {x, y, z}CoordinatesParameterCamera position
rotationrotation: {x, y, z}CoordinatesParameterCamera rotation
fovfov: 45NumberParameterField of view (degrees)

UIOpacityComponentParameter

Maps to cc.UIOpacity. Controls transparency.

Properties

PropertyConfig KeyTypeDescription
opacityopacity: 255NumberParameterOpacity 0-255

WidgetComponentParameter

Maps to cc.Widget. Controls anchoring and alignment.

Properties

PropertyConfig KeyTypeDescription
toptopNumberParameterTop anchor distance
bottombottomNumberParameterBottom anchor distance
leftleftNumberParameterLeft anchor distance
rightrightNumberParameterRight anchor distance
alignModealignModeSelectParameterAlignment mode

ProgressBarComponentParameter

Maps to cc.ProgressBar. Controls progress indicators.

Properties

PropertyConfig KeyTypeDescription
modemodeSelectParameterBar mode (horizontal/vertical)
totalLengthtotalLengthNumberParameterBar length
progressprogress: 0.5NumberParameterProgress value 0-1
reversereverse: falseBooleanParameterReverse direction

SliderComponentParameter

Maps to cc.Slider. Controls slider inputs.

Properties

PropertyConfig KeyTypeDescription
directiondirectionSelectParameterSlider direction
progressprogress: 0.5NumberParameterSlider value 0-1

ToggleComponentParameter

Maps to cc.Toggle. Controls checkbox/toggle states.

Properties

PropertyConfig KeyTypeDescription
isCheckedisChecked: trueBooleanParameterChecked state
interactableinteractable: trueBooleanParameterCan interact

ColorParameter

Standalone color value.

Format

FormatExampleNotes
Hex (solid)#FF5722Full opacity
Hex (alpha)#FF57228050% opacity (80 hex = 128/255)

Alpha Values

HexDecimalOpacity
FF255100%
CC20480%
8012850%
406425%
0000%

CoordinatesParameter

2D or 3D point values.

2D (UI elements)

{x: 0, y: 0}
{x: 100, y: -50}

3D (3D objects, cameras)

{x: 0, y: 0, z: 0}
{x: 10, y: 5, z: -20}

Base Parameter Types

These primitive types are used within ComponentParameters:

TypeInputExample
ImageParameterFile uploadPNG/JPG
TextParameterText field"Download Now"
ColorParameterColor picker#FF5722 or #FF572280 (with alpha)
NumberParameterNumber input48
BooleanParameterToggletrue / false
CoordinatesParameterX/Y inputs{x: 0, y: 100} or {x, y, z}
RangeParameterSlider0.5 (bounded min-max)
SelectParameterDropdown"option1"
ObjectParameter<T>Grouped fieldsComposite bundling

NodePreset Catalog

Pre-built presets for common UI patterns (auto-detected during scan):

PresetComponentsUse Case
ButtonNode + UITransform + Sprite + Label + Button + UIOpacityCTA buttons
ImageNode + UITransform + Sprite + UIOpacityBackgrounds, icons
TextNode + UITransform + Label + UIOpacityTitles, descriptions
SliderNode + UITransform + Sprite + Slider + UIOpacitySettings sliders
ToggleNode + UITransform + Sprite + Toggle + UIOpacityCheckboxes
CurrencyUINode(root) + Node(icon) + Label(counter)Currency displays (coins, gems)
HPBarNode(root) + Sprite(bg) + Sprite(fill) + Label(text)?Health/progress bars
CountdownNode(root) + Label(prep) + Label(number)Countdown timers
IconLabelNode(root) + Sprite(icon) + Label(text)Icon + text combos (score, lives)

Animation Presets

Animation presets add visual polish to UI elements. Used for tutorial hands, text entrances, button feedback.

Entrance Animations

PresetDescription
fadeInOpacity 0 → 1
scaleUpScale from 0 → 1
slideInLeftSlide from off-screen left
slideInRightSlide from off-screen right
slideInTopSlide from off-screen top
slideInBottomSlide from off-screen bottom
bounceInScale with bounce easing
popQuick scale overshoot then settle

Exit Animations

PresetDescription
fadeOutOpacity 1 → 0
scaleDownScale from 1 → 0
slideOutLeftSlide to off-screen left
slideOutRightSlide to off-screen right
slideOutTopSlide to off-screen top
slideOutBottomSlide to off-screen bottom
shrinkScale down and fade

Emphasis Animations

PresetDescription
pulseScale up/down rhythmically
shakeHorizontal shake
bounceVertical bounce
wiggleRotation wiggle
glowBrightness pulse
heartbeatDouble-pulse scale

Interactive Animations

PresetDescription
tapTap/press motion (tutorial hand)
pressPress and release
swipeSwipe gesture motion
dragDrag motion

On this page