Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.
titleBeta Documentation
The contents of this page are subject to change

Table of Contents

Table of Contents

Table of Contents


Extends: Group 


The Scene node class serves as the root of a Scene Graph SceneGraph node tree. Every roSGScreen object must have a Scene node, or a node that derives from the Scene node class as its root, including an XML markup component that extends the Scene node class or subclass. That node must be created using the roSGScreen createScene() function, with an argument that is a string of the name of the Scene node object created. For example:

Code Block
screen = CreateObject("roSGScreen")
scene = screen.CreateScene("Scene")

While it is technically possible to have more than one scene per channel, we recommend you only have one roSGScreen and one Scene node. Child nodes of the scene can be treated as different "scenes" where you can then implement transitions between them.


backgroundURIURI stringurisystem defaultinvalidSpecifies a graphic image file to be used for the Scene node background.

Specifies a background color for the scene. This color is only used if the backgroundURI field is set to


an empty string. For example:

scene.backgroundUri = ""

dialogDialognodeinvalidSetting this field to a node extended from the from a Dialog node causes the dialog to be displayed


trueIf true, then a Back key press will cause causes the scene to exit, back to the last user-focused item. If false, then Back key presses do press does not cause the scene to exit.

Data Bindings



In order for the Back key to cause the scene to exit, the remote control focus must be explicitly set on the scene, or a child of the scene, using the ifSGNodeFocus interface setFocus(true) function. A Home key press always causes the scene to exit.

This field is available in firmware 7.7 and later.

This read-only field is set when the Scene is initialized. It indicates which of a channel's design resolutions (per manifest's ui_resolutions value) is being used, based on the player model and connected display type. Previously, a developer could deduct the same information by using both roDeviceInfo.GetUIResolution() and roAppInfo.getValue("ui_resolutions"). This new field simplifies the process.

The field is set to an AA with two numeric-valued keys — width and height — as well as a string value indicating the current design resolution ("HD", "FHD" or "SD"). E.g.

Code Block
Brightscript Debugger> ? myNode.getScene().currentDesignResolution
<Component: roAssociativeArray> =
    height: 720
    resolution: "HD"
    width: 1280