Skip to content
rech edited this page Jun 15, 2026 · 1 revision

Description

Holds references to internal controllers, and allows for controller creation.

Remarks

Default transform values for all internal controllers can be found in Internal controllers page.

Properties


Name Type Description
gameplayCamera CameraController The main camera
combo TextController The combo text
score TextController The score text
scoreTitle TextController The score title text
predictedGrade TextController The grade text controller, displayed when score mode is Predictive
predictedGradeBackground ImageController The background image for grade text controller, displayed when score mode is Predictive
jacket ImageController The song jacket
jacketBackground ImageController The jacket background image
title TextController The title text
composer TextController The composer text
difficultyText TextController The difficulty name text
difficultyBackground ImageController The difficulty background image
hud CanvasController The canvas containing the pause button and the info panel
infoPanel InfoPanelController The info panel
pauseButton ImageController The pause button
background ImageController The background image
videoBackground SpriteController The video background sprite
track TrackController The main track
beatlines BeatlinesController The beatlines display controller
singleLineL SpriteController The left Memory Archives line
singleLineR SpriteController The right Memory Archives line
skyInputLine GlowingSpriteController The sky input line
skyInputLabel GlowingSpriteController The sky input label that displays "Sky Input"
darken SpriteController The background darken sprite (used internally)
worldCanvas CanvasController The world-space canvas
screenCanvas CanvasController The screen-space canvas
cameraCanvas CanvasController The camera-space canvas

Methods


createSprite(imgPath, material = "default", renderLayer = "overlay", pivot = nil, wrapMode = "repeat")

Description

Creates a sprite object and returns its controller.

Parameters

Name Type Description
imgPath string The path to the image file
material string The image's blend mode. See Blend modes
renderLayer string The rendering layer: "overlay", "notes", or "background"
pivot XY The sprite pivot point. Defaults to (0.5, 0.5)
wrapMode string The texture wrap mode: "repeat", "clamp", "mirror", or "mirroronce"

Return types

SpriteController

Remarks

_

Examples

local sprite = Scene.createSprite("test.jpg")
local sprite2 = Scene.createSprite("test2.png", "fastadd")
local sprite3 = Scene.createSprite("test3.png", "fastmultiply", "overlay", xy(0.5, 0.5), "clamp")

createImage(imgPath, material = "default", renderLayer = "overlay", pivot = nil, wrapMode = "repeat")

Description

Creates an image object and returns its controller.

Parameters

Name Type Description
imgPath string The path to the image file
material string The image's blend mode. See Blend modes
renderLayer string The rendering layer: "overlay", "notes", or "background"
pivot XY The image pivot point. Defaults to (0.5, 0.5)
wrapMode string The texture wrap mode: "repeat", "clamp", "mirror", or "mirroronce"

Return types

ImageController

Remarks

_

Examples

local img = Scene.createImage("test.jpg")
local img2 = Scene.createImage("test2.png", "fastadd")
local img3 = Scene.createImage("test3.png", "fastmultiply", "overlay", xy(0.5, 0.5), "clamp")

createCanvas(worldSpace = false)

Description

Creates a world-space canvas or screen-space canvas and returns its controller.

Parameters

Name Type Description
worldSpace boolean Whether or not to create a world-space canvas

Return types

CanvasController

Remarks

_

Examples

local canvas = Scene.createCanvas() -- A screen-space canvas
local canvas2 = Scene.createCanvas(true)

createText(font = "default", fontSize = 40, lineSpacing = 1, alignment = "middlecenter", renderLayer = "overlay")

Description

Creates a text object and returns its controller.

Parameters

Name Type Description
font string The font to use
fontSize number The font size of the text
lineSpacing number The line spacing of the text
alignment string How to align the text relative to its width and height
renderLayer string The rendering layer: "overlay", "notes", or "background"

Return types

TextController

Remarks

font must be a font already installed on the user's operating system.

alignment can be one of the following (case insensitive)

  • "upperleft"
  • "uppercenter"
  • "upperright"
  • "middleleft"
  • "middlecenter"
  • "middleright"
  • "lowerleft"
  • "lowercenter"
  • "lowerright"

Examples

local txt = Scene.createText()
local txt2 = Scene.createText("Forte")
local txt3 = Scene.createText("Wingdings", 50, 1, "middleleft", "overlay")

getNoteGroup(tg)

Description

Retrieves the note group controller of a timing group.

Parameters

Name Type Description
tg number The timing group number

Return types

NoteGroupController

Remarks

Returns nil if input number is an invalid timing group number.

Example

local mainTg = Scene.getNoteGroup(0)
addScenecontrol("myType", 0, function(cmd)
    local tg = Scene.getNoteGroup(cmd.timingGroup)
end)

Clone this wiki locally