Responsive
Types
ScaleMode type
luau
type ScaleMode = "min" | "width" | "height" | "max"Breakpoint type
luau
type Breakpoint = "phone" | "tablet" | "desktop"Platform type
luau
type Platform = "console" | "mobile" | "pc" | "vr"SafeAreaInsets type
luau
type SafeAreaInsets = { top: number, bottom: number, left: number, right: number }Breakpoints type
luau
type Breakpoints = { phone: number, tablet: number }Config type
luau
type Config = {
reference: Vector2,
mode: ScaleMode,
min: number?,
max: number?,
breakpoints: Breakpoints,
}PartialConfig type
luau
type PartialConfig = {
reference: Vector2?,
mode: ScaleMode?,
min: number?,
max: number?,
breakpoints: Breakpoints?,
viewport: Graph.Reactive<Vector2>?,
}Properties
config Read Only
luau
Responsive.config: ConfigLive defaults shared by every derived node; mutate once at startup.
platform Read Only
luau
Responsive.platform: PlatformThe device class detected at startup: "vr", "console" (ten-foot interface), "pc" (keyboard and mouse), or "mobile"; "pc" where detection is unavailable.
viewport Read Only
luau
Responsive.viewport: Graph.Node<Vector2>The active camera's ViewportSize as a node, live on the client.
scale Read Only
luau
Responsive.scale: Graph.Node<number>UIScale factor derived from viewport; 1.0 at config.reference.
breakpoint Read Only
luau
Responsive.breakpoint: Graph.Node<Breakpoint>Size class derived from viewport width.
safeArea Read Only
luau
Responsive.safeArea: Graph.Node<SafeAreaInsets>Topbar / Core-UI inset pixels from GuiService:GetGuiInset().
Functions
scaleOf
luau
Responsive.scaleOf(partial: PartialConfig?): Graph.Node<number>Factory escape hatch: a scale node with per-surface config (merged over defaults).
breakpointOf
luau
Responsive.breakpointOf(partial: PartialConfig?): Graph.Node<Breakpoint>Factory escape hatch: a breakpoint node with per-surface thresholds.