For AI agents: the docs index is at https://developer.roku.com/dev/llms.txt. Append .md to any documentation page URL to get its markdown version.
Jump to Content
Developer DocsHome
Guides
Developer Docs
Guides
Jump to Content
Developer Docs
Guides
  • Roku platform overview
  • Set up your Roku account
    • User access management
    • Email preferences
  • Monetization
    • Subscriptions and one-time purchases
    • Publisher payouts
    • Enrolling in the Roku Partner Payouts Program
    • Video advertisements
  • Content engagement
    • Streaming Store
    • Roku Search
    • Self-serve app promotion tool
    • Roku Voice
  • Legal
  • Specifications overview
  • Streaming specifications
    • Roku OS support for DASH-IF
    • DRM & content protection
  • Hardware specifications
  • Roku Search feed (JSON)
  • Streaming Store graphics
  • Getting started
    • How apps work
    • App development models
    • First steps
    • Activating developer mode
    • Building your first app
    • Creating a content feed
    • Taking the online video course
    • Samples
    • App localization
    • Architecture
      • Manifest file
      • Content metadata
      • Development environment overview
      • File system
    • Security on the Roku platform
  • Certification
    • Certification criteria
    • Certification testing
      • Static Analysis tests
      • App Behavior Analysis tests
      • Authenticated app testing
  • Design
    • Designing for devices
    • UI philosophy
    • Key Design Principles
    • Roku's master UI
    • Remote control buttons
    • Ideal app features
    • Best practices
  • SceneGraph core concepts
    • SceneGraph XML
      • SceneGraph coordinate systems
      • Other inherited properties
      • Node field observers
      • Remote control events
    • SceneGraph data scoping
    • SceneGraph BrightScript
      • BrightScript support
      • BrightScript/XML markup equivalence
    • XML components overview
      • Defining SceneGraph components
      • SceneGraph compilation
      • Component initialization order
      • Creating custom components
    • Threads
    • Developing SceneGraph applications
    • Specifying display resolution
    • Handling application events
    • Event loops
    • Controlling screen layout
    • Controlling screen program flow
    • Downloading server content
    • Playing Videos
    • SceneGraph localization
    • BrightScript style guide
    • Transitioning to SceneGraph
  • Media playback
    • Screensavers
    • Closed caption
    • Trick mode
      • BIF file creation using the Roku BIF tool
      • HLS and DASH
    • Bookmarking
    • Instant Resume
    • Fast video start
    • Autoplay
    • Text to speech
    • Voice controls
      • Implementing voice controls
      • Selecting user profiles with Roku Voice
  • Discovery
    • Roku Search
      • Implementing Roku Search
      • Prioritizing authenticated apps
    • Deep linking
    • Instant Signup
    • Continue Watching
    • Direct to Play
  • Profiles
    • Kid & Teen Mode
  • Advertising
    • Integrating the Roku Advertising Framework
    • Roku advertising requirements
    • Implementing client-side ad stitching
    • Implementing Server-Side Ad Insertion Using Roku Adapters
    • Implementing the Demand API
    • Roku Advertising Watermark
    • API reference
    • Implementing Nielsen Digital Content Ratings (DCR) measurement
  • Roku Pay
    • Getting started
      • Setting the monetization method
      • Creating the product catalog
      • Catalog 2.0 API integration guide
      • Price tier reference guide
      • Creating test users
      • Setting up Roku Pay web services
    • Implementing Roku Pay
      • SceneGraph ChannelStore
      • Roku Pay web services reference
      • Roku Pay push notifications reference
      • Receiving secured Roku Pay push notifications
      • On-device upgrade and downgrade
      • Tracking signup abandonment
      • Creating TVOD apps (Catalog 2.0)
    • Introduction to Subscription Recovery
      • Basic Subscription Recovery
      • Enhanced Subscription Recovery
      • Settings
      • Testing
    • Testing Roku Pay
      • Testing a Roku Pay app
      • Enabling billing testing
    • Roku Pay integration requirements
    • Roku Pay best practices
    • Signup requirements and best practices
    • Sign-in requirements and best practices
    • Roku Pay reports
  • Authentication
    • On-Device Authentication
    • Automatic Account Link
    • Rendezvous linking
  • Roku Analytics Component Library (RACL)
  • Debugging
    • Capturing and decrypting SSL packets
    • BrightScript debug protocol
  • Publishing
    • Developer Dashboard
    • Packaging Roku apps
    • App Publishing
  • Analytics
    • App analytics reports
      • App Engagement Report
      • App Health Report
      • App Stability Report
      • Viewership Summary Report
    • Sales reports
      • Transaction Report
      • Sales Activity Report
      • Payout Audit Report
      • Tax Withholding Report
      • Cancellation Offers Report
  • Cloud Emulator
    • RCE API reference
    • Security
    • Release notes
  • Developer Tools
    • Roku app tracing (with Perfetto)
    • Roku Resource Monitor
      • Using Roku Resource Monitor in Data Collection Mode
      • Roku Resource Monitor session file specification
    • External Control Protocol (ECP)
    • Roku Remote Tool
    • Roku SceneGraph XML schema (XSD)
    • Eclipse IDE support
    • SGDEX
    • RALE
    • BrightScript Profiler
    • BrightScript Profiler file format specification
    • BrightScriptDoc
    • Static Analysis Tool
      • Command line utility
    • Automated App Testing
      • Roku WebDriver
      • Roku Robot Framework Library
      • Roku JavaScript Library
    • Certification testing tool
  • Performance
    • Data management
    • Memory management
    • Optimization techniques
    • Optimized data transfer and reference handling
    • Measuring app performance
    • Accessing SceneGraph nodes
  • Release notes
    • Reverting Roku beta OS to production on devices
    • Roku Advertising Framework release notes
  • Development partners
  • RSG 2.0 SDK documentation
    • Getting started
      • RSG 2.0 SDK overview
      • Getting started with the RSG 2.0 SDK
      • Examples
        • Baseline app example
        • Baseline app example (pipeline test)
        • Anchor node example
        • Extends example (focus and key handling with anchor nodes)
        • Dynamic component example (@roku-sdk/solid)
        • Class transpilation example
        • Pitfalls example
        • Focus boundary example apps
        • Focus boundary SG components example
        • Focus boundary SG tree example
        • FocusableGroup example
        • KeyHandler example
        • FlexGrid example apps
        • FlexGrid example: Showcase
        • FlexGrid example: Cowboy TV
        • FlexGrid example: Fantasy TV
        • Pooled item row example
        • Slideshow example
        • ChannelStore signup/signin example
        • Ads example
        • Runtime showcase example
        • Stack decoder examples
        • Master sample example
        • Two cowboys example
        • Showcase example
        • Showcase app: complete catalog
        • Showcase app: AI reference map
      • Installing @roku-sdk/* packages from npmjs.com
      • Directory layout
      • rk CLI
        • rk create
    • Core concepts
      • App configuration options (roku-config.ts)
      • Manifest
        • Flexible manifest processing
      • Effects
      • Dynamic Component Libraries (DCL)
      • Tween value-shape contract
    • Guides
      • Focus management
        • Focus boundary
        • Modal boundary
        • FocusableGroup
        • KeyHandler
      • FlexGrid
      • FlexGrid API usage
      • Images
        • Importing and processing static images
      • RSG testing library
    • Runtime and debugging
      • Fetch: deviations from the WHATWG standard
      • Forwarding exceptions to monitoring services
      • Mapping runtime errors to TypeScript source code
      • App profiling
      • Perfetto profiling
      • rk
        • Debugging Roku apps with AI
        • rk decode-stack
        • rk logs
        • rk perfetto
    • Advanced
      • Workspace mode
      • Pipeline extension API
      • Extending the device pool
      • Asset tree-shaking
      • Importing XML components with type safety
      • rk
        • rk build
        • rk dcl
        • rk dev
        • rk device
        • rk device lease
        • rk device pool
        • rk ecp
        • rk gen-types
        • rk keysequence
        • AI integration via MCP (rk mcp)
        • rk device package
        • rk plugins
        • Roku Cloud Emulator devices
        • rk server
        • rk server managed lifecycle (phase 0 contract)
        • rk workflow navigation
    • Knowledge base
      • AnchorNode ↔ base-component field-name collisions
      • Console polyfill
      • Js debug sourcemapurl cross directory
      • Rsg ts pitfalls
      • Solid reactivity
    • Release notes
      • Release notes
      • Upgrade notes for partners
  • Reference overview
  • SceneGraph
    • Component functions
      • init()
      • onKeyEvent()
    • Xml Elements
      • children
      • component
      • <interface>
      • script
    • Node
    • Scene
    • Abstract nodes
      • AnimationBase
      • ArrayGrid
      • DynamicKeyboardBase
      • LabelBase
    • Renderable nodes
      • Effect
      • Poster
      • Rectangle
      • SimpleLabel
    • Label nodes
      • InfoPane
      • Label
      • MonospaceLabel
      • MultiStyleLabel
    • Animation nodes
      • AnimatedImage
      • Animation
      • ColorFieldInterpolator
      • FloatArrayFieldInterpolator
      • FloatFieldInterpolator
      • ParallelAnimation
      • SequentialAnimation
      • Vector2DFieldInterpolator
    • Typographic nodes
      • Font
      • ScrollableText
      • ScrollingLabel
    • Control nodes
      • ChannelStore
      • ComponentLibrary
      • ContentNode
      • MaskGroup
      • Task
      • Timer
    • Layout group nodes
      • ButtonGroup
      • Group
      • LayoutGroup
      • TargetGroup
    • Dynamic voice keyboard nodes
      • DynamicCustomKeyboard
      • DynamicKeyGrid
      • DynamicKeyboard
      • DynamicMiniKeyboard
      • DynamicPinPad
      • Key Definition File
      • VoiceTextEditBox
    • Standard dialog framework
      • StandardDialog
      • StandardKeyboardDialog
      • StandardMessageDialog
      • StandardPinPadDialog
      • StandardProgressDialog
      • StdDlgActionCardItem
      • StdDlgAreaBase
      • StdDlgBulletTextItem
      • StdDlgButtonArea
      • StdDlgButton
      • StdDlgContentArea
      • StdDlgCustomItem
      • StdDlgDeterminateProgressItem
      • StdDlgGraphicItem
      • StdDlgItemBase
      • StdDlgItemGroup
      • StdDlgKeyboardItem
      • StdDlgMultiStyleTextItem
      • StdDlgProgressItem
      • StdDlgSideCardArea
      • StdDlgTextItem
      • StdDlgTitleArea
    • Dialog Nodes
      • Dialog
      • KeyboardDialog
      • PinDialog
      • ProgressDialog
    • Widget Nodes
      • BusySpinner
      • Button
      • Keyboard
      • MiniKeyboard
      • ParentalControlPinPad
      • PinPad
      • TextEditBox
    • Lists and grids
      • CheckList
      • LabelList
      • MarkupGrid
      • MarkupList
      • PosterGrid
      • RadioButtonList
      • RowList
      • TargetList
      • TargetSet
      • TimeGrid
      • ZoomRowList
    • Sliding panels
      • GridPanel
      • ListPanel
      • Overhang
      • OverhangPanelSetScene
      • Panel
      • PanelSet
    • Media playback nodes
      • Audio
      • SoundEffect
      • Video
  • BrightScript
    • Components
      • roAnimatedImage
      • roAppInfo
      • roAppManager
      • roAppMemoryMonitor
      • roArray
      • roAssociativeArray
      • roAudioGuide
      • roAudioMetadata
      • roAudioPlayer
      • roAudioResource
      • roBitmap
      • roBoolean
      • roByteArray
      • roCECStatus
      • roChannelStore
      • roCompositor
      • roDataGramSocket
      • roDateTime
      • roDeviceCrypto
      • roDeviceInfo
      • roDouble
      • roDsa
      • roEVPCipher
      • roEVPDigest
      • roFileSystem
      • roFloat
      • roFont
      • roFontRegistry
      • roFunction
      • roHdmiStatus
      • roHMAC
      • roHttpAgent
      • roImageMetadata
      • roInput
      • roInt
      • roInvalid
      • roList
      • roLocalization
      • roLongInteger
      • roMessagePort
      • roMicrophone
      • roPath
      • roPerfetto
      • roProfile
      • roRegex
      • roRegion
      • roRegistry
      • roRegistrySection
      • roRemoteInfo
      • roRenderThreadQueue
      • roRSA
      • roScreen
      • roSGNode
      • roSGScreen
      • roSocketAddress
      • roSprite
      • roStreamSocket
      • roString
      • roSystemLog
      • roTextToSpeech
      • roTextureManager
      • roTextureRequest
      • roTimespan
      • roUrlTransfer
      • roUserInfo
      • roUtils
      • roVideoPlayer
      • roWebSocket
      • roXMLElement
      • roXMLList
    • Events
      • roAnimatedImageEvent
      • roAppMemoryNotificationEvent
      • roAudioPlayerEvent
      • roCECStatusEvent
      • roChannelStoreEvent
      • roDeviceInfoEvent
      • roFileSystemEvent
      • roHdmiStatusEvent
      • roInputEvent
      • roMicrophoneEvent
      • roSGNodeEvent
      • roSGScreenEvent
      • roSocketEvent
      • roSSEvent
      • roSystemLogEvent
      • roTextToSpeechEvent
      • roTextureRequestEvent
      • roUniversalControlEvent
      • roUrlEvent
      • roVideoPlayerEvent
      • roWebSocketEvent
    • Interfaces
      • ifAnimatedImage
      • ifAppInfo
      • ifAppManager
      • ifAppMemoryMonitor
      • ifArray
      • ifArrayGet
      • ifArrayJoin
      • ifArraySet
      • ifArraySizeInfo
      • ifArraySlice
      • ifArraySort
      • ifAssociativeArray
      • ifAudioGuide
      • ifAudioMetadata
      • ifAudioPlayer
      • ifAudioResource
      • ifBoolean
      • ifByteArray
      • ifCECStatus
      • ifChannelStore
      • ifCompositor
      • ifDateTime
      • ifDeviceCrypto
      • ifDeviceInfo
      • ifDouble
      • ifDraw2D
      • ifDsa
      • ifEnum
      • ifEVPCipher
      • ifEVPDigest
      • ifFileSystem
      • ifFloat
      • ifFont
      • ifFontRegistry
      • ifFunction
      • ifGetMessagePort
      • ifHdmiStatus
      • ifHMAC
      • ifHttpAgent
      • ifImageMetadata
      • ifInput
      • ifInt
      • ifIntOps
      • ifList
      • ifListToArray
      • ifLocalization
      • ifLongInt
      • ifMessagePort
      • ifMicrophone
      • ifPath
      • ifPerfetto
      • ifProfile
      • ifRegex
      • ifRegion
      • ifRegistry
      • ifRegistrySection
      • ifRemoteInfo
      • Ifrenderthreadqueue
      • ifRSA
      • ifScreen
      • ifSetMessagePort
      • ifSGNodeBoundingRect
      • ifSGNodeChildren
      • ifSGNodeDict
      • ifSGNodeField
      • ifSGNodeFocus
      • ifSGNodeHttpAgentAccess
      • ifSGScreen
      • ifSocket
      • ifSocketAddress
      • ifSocketAsync
      • ifSocketCastOption
      • ifSocketConnection
      • ifSocketConnectionOption
      • ifSocketConnectionStatus
      • ifSocketOption
      • ifSocketStatus
      • ifSourceIdentity
      • ifSprite
      • ifString
      • ifStringOps
      • ifSystemLog
      • ifTextToSpeech
      • ifTextureManager
      • ifTextureRequest
      • ifTimeSpan
      • ifToStr
      • ifUrlTransfer
      • ifUserInfo
      • IfUtils
      • ifVideoPlayer
      • roWebSocket
      • ifXMLElement
      • ifXMLList
    • Language
      • BrightScript language reference
      • Component architecture
      • Conditional compilation
      • Error handling in BrightScript
      • Expressions, variables, and types
      • Format strings
      • Global math functions
      • Global string functions
      • Global utility functions
      • Program statements
      • Reserved words
      • Runtime functions
      • Statement summary
  • RSG 2.0 SDK
    • Components
      • AnimatedImage
      • Animation
      • Audio
      • BifDisplay
      • BlendedBusySpinner
      • BoundingTracker
      • BUSY_SPINNER_DIMENSIONS
      • BusySpinner
      • Button
      • ButtonGroup
      • ButtonRow
      • ChannelStore
      • CheckList
      • ColorFieldInterpolator
      • Container
      • ContentNode
      • CustomKeyboard
      • Dialog
      • DynamicKeyboard
      • DynamicKeyGrid
      • DynamicMiniKeyboard
      • DynamicPinPad
      • Effect
      • FloatFieldInterpolator
      • Focusable
      • FocusableGroup
      • Font
      • getBusySpinnerHeight
      • getBusySpinnerWidth
      • Glyphs
      • Group
      • INodeProps
      • installEffectGradientDevValidation
      • KeyHandler
      • Label
      • LabelList
      • LayoutGroup
      • ListPanel
      • MarkupGrid
      • MarkupList
      • MaskGroup
      • MultiStyleLabel
      • Overhang
      • Panel
      • PanelSet
      • Poster
      • PosterGrid
      • ProgressBar
      • RadioButtonList
      • Rectangle
      • ResolutionProvider
      • RowList
      • RsgPalette
      • scaleForDeviceResolution
      • Scene
      • ScrollableText
      • ScrollingLabel
      • SequentialAnimation
      • SimpleLabel
      • SoundEffect
      • StandardDialog
      • StandardDialogNext
      • StandardKeyboardDialog
      • StandardMessageDialog
      • StandardPinPadDialog
      • StandardProgressDialog
      • StdDlgActionCardItem
      • StdDlgBulletTextItem
      • StdDlgButton
      • StdDlgButtonArea
      • StdDlgContentArea
      • StdDlgCustomItem
      • StdDlgDeterminateProgressItem
      • StdDlgGraphicItem
      • StdDlgItemGroup
      • StdDlgKeyboardItem
      • StdDlgMultiStyleTextItem
      • StdDlgProgressItem
      • StdDlgSideCardArea
      • StdDlgTextItem
      • StdDlgTitleArea
      • TargetGroup
      • TargetList
      • TargetSet
      • TimeGrid
      • TrickPlayBar
      • Tween
      • useResolutionContext
      • Vector2DFieldInterpolator
      • Video
      • VideoContentNode
      • VoiceTextEditBox
      • ZoomRowList
      • Components types
    • Flex-grid
      • _resetGlobalHooksForTest
      • binarySearchFloor
      • buildCumY
      • buildUniformCumX
      • buildVariableCumX
      • clearDirty
      • composeHorizontalStrategy
      • computeBobRowReserve
      • computeBobY
      • computeDataRow
      • computeEndZoneStartRow
      • computeScrollYForRow
      • computeTotalContentHeight
      • computeUniformPoolSize
      • computeVariablePoolSize
      • computeVirtualX
      • createBobPlugin
      • createDirectionalPinnedFocusXExtension
      • createEmptyPlaceholderPlugin
      • createFlexGrid
      • createFlexGridEngine
      • createFocusHighlightPlugin
      • createGridStore
      • createNavigationController
      • createPerfPlugin
      • createPinnedFocusXExtension
      • createPool
      • createRowBackdropPlugin
      • createRowCardsClipPlugin
      • createRowTitlePlugin
      • createScrollXOffsetExtension
      • createSmoothScrollBridgePlugin
      • defineFlexGrid
      • findNearestSortedIndex
      • fixedFocusStrategy
      • fixedFocusWrapStrategy
      • floatingFocusStrategy
      • floatingFocusYStrategy
      • gridScrollMs
      • isGridSmoothScrolling
      • isPerfGridPlugin
      • matchRow
      • matchRowWhen
      • resolveFocusConfig
      • resolveGridPlugins
      • setNumRows
      • setRow
      • setRows
      • withZoomFocus
      • Flex-grid types
    • Navigation
      • Bubble
      • computeSGPath
      • createBoundaryState
      • createFocusRelay
      • createKeyPressCaptureRegistry
      • FocusBoundary
      • focusIdLabel
      • FocusPathContext
      • FocusRelayProvider
      • ModalBoundary
      • onPress
      • onRelease
      • RootFocusBoundary
      • ScreenControllerContext
      • ScreenControllerProvider
      • useFocusable
      • useFocusActions
      • useFocusRelayTarget
      • useModal
      • Navigation types
    • Runtime
      • __resetWhenFontReadyForTests
      • createFontReady
      • createSubtleCrypto
      • Crypto
      • Device info
      • getAppInfo
      • getAppMemoryMonitor
      • getAudioGuide
      • getComponentLibraryFactory
      • getFileSystem
      • getFontMeasure
      • getHdmiStatus
      • getPerfetto
      • getRandomBytes
      • getRandomValues
      • getRegistry
      • getSignalBeacon
      • getTextToSpeech
      • getVoiceDictation
      • randomUUID
      • Subtle
      • useAppMemoryMonitor
      • useCec
      • useFileSystem
      • useHdmiStatus
      • useInput
      • useLaunchConfig
      • useLifecycle
      • useVoiceCommands
      • useVoiceDictation
      • whenFontReady
      • Runtime types
    • MCP tools
      • MCP list_devices
      • MCP get_device_ip
      • MCP get_device_dev_id
      • MCP device_start
      • MCP device_stop
      • MCP add_device
      • MCP update_device
      • MCP remove_device
      • MCP activate_device
      • MCP clear_active_device
      • MCP update_default_auth
      • MCP device_reboot
      • MCP device_check_update
      • MCP build_app
      • MCP deploy_app
      • MCP sideload_app
      • MCP get_roku_config
      • MCP stop_dev_session
      • MCP package
      • MCP dcl
      • MCP ecp
      • MCP capture_screen
      • MCP logs
      • MCP decode_stack_trace
      • MCP perfetto_enable
      • MCP perfetto_start
      • MCP perfetto_stop
      • MCP debug_session_create
      • MCP debug_session_end
      • MCP debug_session_status
      • MCP debug_session_update
      • MCP debug_stacktrace
      • MCP debug_state
      • MCP debug_eval
      • MCP debug_breakpoint_set
      • MCP debug_breakpoint_remove
      • MCP debug_breakpoints_list
      • MCP debug_exception_breakpoints_set
      • MCP debug_continue
      • MCP debug_step
      • MCP debug_stop
      • MCP debug_console_read
      • MCP debug_errors_read
      • MCP debug_console_clear
      • MCP cdp_session_create
      • MCP cdp_session_update
      • MCP cdp_session_end
      • MCP cdp_eval
      • MCP cdp_status
      • MCP cdp_heap_usage
      • MCP cdp_profile_start
      • MCP cdp_profile_stop
      • MCP cdp_heap_snapshot
      • MCP cdp_heap_sampling_start
      • MCP cdp_heap_sampling_stop
      • MCP cdp_source_list
      • MCP cdp_source_get
      • MCP cdp_source_grep
      • MCP cdp_source_resolve
      • MCP cdp_console_read
      • MCP cdp_errors_read
      • MCP cdp_console_clear
      • MCP cdp_console_clear_console
      • MCP cdp_console_clear_errors
      • MCP cdp_debugger_pause
      • MCP cdp_debugger_resume
      • MCP cdp_debugger_step_over
      • MCP cdp_debugger_step_into
      • MCP cdp_debugger_step_out
      • MCP cdp_breakpoint_set
      • MCP cdp_breakpoint_remove
      • MCP cdp_breakpoint_list
      • MCP cdp_debugger_state
      • MCP cdp_debugger_eval_frame
      • MCP dap_reconnect
      • MCP dap_threads
      • MCP dap_thread_select
      • MCP dap_thread_stop_reason
      • MCP dap_variables
      • MCP get_server_health
    • rk CLI
      • rk build
      • rk dev
      • rk ecp
      • rk keysequence
      • rk sideload
      • rk update-ai-context
      • rk create
      • rk setup
      • rk decode-stack
      • rk package
      • rk gen-types
      • rk version
      • rk cdp
      • rk debug
      • rk logs
      • rk perfetto
      • rk dap
      • rk dcl
      • rk device
      • rk server
      • rk mcp command
      • rk environment variables
    • rk HTTP
      • HTTP devices
      • HTTP cdp
      • HTTP dap
      • HTTP dcl
      • HTTP decode-stack
      • HTTP build
      • HTTP package
      • HTTP ecp
      • HTTP screen
      • HTTP config
      • HTTP server
      • HTTP mcp
      • HTTP logs
      • HTTP perfetto
      • HTTP debug
    • section-hashes
  • Deprecated APIs
  • Development courses
    • Getting started
      • Streaming overview
      • Creating an SVOD app: First steps
      • Roku development overview
      • Enabling Developer Mode
    • SceneGraph Developers: Build an App
      • Introduction to the course
      • Development setup
      • Core concepts
      • Creating the content feed
      • Creating a Grid Screen
      • Adding the Video Player
      • Debugging apps
      • Creating a Details Screen
      • Creating an Episodes Screen
      • Displaying video ads
      • Offering subscriptions
      • Deep linking
      • Certification testing
  • Demos
    • Developer Summit 2026
    • Doc Portal Upgrades Webinar
    • Developer Summit 2025
    • Catalog 2.0 Webinar
    • Developer Summit 2024
    • Enhanced Subscription Recovery Webinar
    • Roku Resource Monitor Memory Management Webinar
    • Roku Resource Monitor 3.0 Webinar
    • Roku OS 13.0 Developer Features Webinar
    • Roku Pay JWT-secured Push Notifications Webinar
    • Developer Summit 2023
    • Developer Summit 2022
    • Roku Resource Monitor Webinar
    • Roku Advertising Watermark Webinar
    • Roku Voice Webinar
    • Trickplay Thumbnail Webinar
    • Developer Summit 2021
    • Distributing an App in Germany Webinar
    • BrightScript Profiler Webinar
    • Developer Summit 2020
    • BrightScript Remote Network Debug Protocol
    • Automated app testing
    • Managing user access
    • App Tracing (with Perfetto) Webinar
    • Submitting a Roku Search feed
  • Platform features
    • Roku Pay: Simplifying customer payments
    • Running App Behavior Analysis testing on authenticated apps
    • Distributing apps in Europe
    • Roku Voice
  • The Roku Channel overview
  • Roku Content Partner Portal
    • Dashboard
    • Analytics
    • Key features
      • Title tracking status
      • Creatives
  • Video on Demand
    • Premium Subscriptions
    • Roku Originals
      • Branded production guidelines
      • Alternative & documentary production guidelines
      • Scripted production guidelines
      • Alternative production legal guidelines
      • Scripted production legal guidelines
      • Branded delivery specifications
      • Alternative media delivery specifications
      • Scripted media delivery specifications
      • Spanish language - alternative media delivery specifications
      • Feature/doc/special - media delivery specifications
      • Acquired content - scripted media delivery specifications
    • Content delivery
      • Especificaciones para la ingesta
    • Avails and Committed Title List specifications
      • FVOD submissions
    • Content tags and metadata
  • Linear
    • The Roku Channel live linear ingest specifications (OVP)
    • EPG on The Roku Channel
  • FAQs
  1. DEVELOPER
  2. RSG 2.0 SDK documentation
  3. Knowledge base

Solid reactivity

See Solid reactivity for more information about how SolidJS reactivity differs from React.

Updated about 3 hours ago


Rsg ts pitfalls
Release notes
Did this page help you?
Terms and Conditions B2B Privacy Notice Developer Site About ads & cookies My Privacy ChoicesCalifornia Consumer Privacy Act (CCPA) Opt-Out Icon Developer Terms & Agreements CA B2B Privacy Notice
© 2008-2026 Roku, Inc.