Sunsetting the legacy Roku SDK visual screens

SDK1 visual screen


In October 2015, Roku introduced our new user interface programming API, Roku SceneGraph (RSG). Since then we’ve seen great adoption from our developer community, leveraging the framework’s ability to build beautiful, custom-designed channels.

In order to modernize the Roku experience, we will be ending support for the visual screen components that were part of our legacy SDK On January 1, 2019, these visual screen components will be removed from Roku OS. Developers who wish to remain on the Roku platform are asked to update their channel UI using SceneGraph.


There is a two-year roadmap for developers to transition to RSG. Below are key dates:

  • Effective immediately: No new features will be added to our legacy SDK visual screens
  • July 1, 2017: All new channels must use RSG or Direct Publisher
  • January 1, 2018: All channel updates must use RSG or Direct Publisher
  • January 1, 2019: Legacy visual screen components will be removed from Roku OS

What’s going away?

Below is a complete list of the legacy SDK visual screen and associated event components that will be deprecated. By removing these components from your app, you will ensure your channel is unaffected by the deprecation process.

Legacy SDK Component to Deprecate Associated Event Component
roCaptionRenderer roCaptionRendererEvent
roCodeRegistrationScreen roCodeRegistrationScreenEvent
roGridScreen roGridScreenEvent
roKeyboardScreen roKeyboardScreenEvent
roImageCanvas roImageCanvasEvent
roListScreen roListScreenEvent
roMessageDialog roMessageDialogEvent
roOneLineDialog roOneLineDialogEvent
roParagraphScreen roParagraphScreenEvent
roPinEntryDialog roPinEntryDialogEvent
roPosterScreen roPosterScreenEvent
roSearchScreen roSearchScreenEvent
roSlideShow roSlideShowEvent
roSpringboardScreen roSpringboardScreenEvent
roTextScreen roTextScreenEvent
roVideoPlayer roVideoPlayerEvent
roVideoScreen roVideoScreenEvent

What’s staying?

To be clear, only the visual components of our old SDK will be deprecated. The 2D APIs will persist for use in gaming channels and other similar uses.

How to transition?

There are a variety of ways to update your channel to RSG.

Roku Direct Publisher

Roku Direct Publisher provides the fastest option for updating your channel. To convert your channel using Direct Publisher, you’ll first need to create a content feed that accords with the Direct Publisher specifications. You can either configure the feed yourself, or work with one of our preferred Direct Publisher feed partners.

Next, find your channel under the Manage My Channels section of the Developer Dashboard. Click to “Convert to Direct Publisher” under the Options dropdown.

Option for converting an SDK channel to Direct Publisher

Channels built using Direct Publisher are automatically kept up-to-date with the latest feature updates to Roku OS. Read the complete list of benefits for Direct Publisher channels.

Follow the SDK1 to SceneGraph migration guide

Many channels built using legacy SDK followed our “VideoPlayer” template channel. As such, we’ve built a SceneGraph template that mirrors the VideoPlayer template’s UI and functionality. By swapping your image locations, making some changes to the Manifest, and properly fetching your feed, you can quickly convert your channel to RSG.

Redesign your channel in SceneGraph

SceneGraph offers many opportunities for custom design. Developers can drive engagement and provide a brand refresh by redesigning their channel UI in SceneGraph. For an overview of the key concepts of how to build an RSG channel, see our SDK Development Guide.

For professional help building a Roku channel, consider engaging with a development shop on our recommended developer list. See the “Additional resources” section below for smaller contractors with reviews on Upwork.

Additional resources:

This entry was posted in News and tagged , . Bookmark the permalink.
  • Can we get a clarification on

    “To be clear, only the visual components of our old SDK will be deprecated. Video players and other visual elements built using the 2D APIs will persist.”

    Yet roVideoPlayer and roVideoScreen are both listed in the deprecated components list.

  • Tim B.

    Echoing Chris, we need more info on how to transition from roVideoPlayer. Our code has no UI.

    • Tim B.


  • Rick Rodriguez

    I’m unable to open the link to preferred Direct Publisher feed partners. Logging in with my Box account, the file is either removed or inaccessible to me. Please advise.

    • EnTerr

      It’s likely restricted access, unintentionally. Right-click – open in incognito window should work on public documents.

    • EnTerr

      It was broken before – but now it is fixed, i just re-tested it.

  • encodi

    Why the decision to remove the components completely? I think there are a lot of apps done in legacy in production, apps of companies that have invested money on its development and updates, I totally agree with he first two points, because SG is better:

    – July 1, 2017: All new channels must use RSG or Direct Publisher
    – January 1, 2018: All channel updates must use RSG or Direct Publisher

    But I don’t think removing completely the legacy components is a good move (repeating myself) for all the clients that have done theirs apps already and now have to invest money on moving their apps to SG, even if its two years.

    Maybe applying just the first two points , and leaving the apps already in the store with legacy without accepting more would be a better business move? I don’t know, just throwing my 2-cents

  • S Hol

    As not only a hobby developer, but an owner, I realize this is done specifically to get rid of legacy clients, much as the superficial requirement initially for subtitles, YouTube channel, et al.

    This leaves a nasty taste in my mouth.. Maybe it’s time to go Chrome.

  • Wow what a mess ! Thanks Roku !

  • M Mouse

    I’m a UK viewer of TWiT.TV using a Now TV badged Roku box.

    For a while I thought this had affected my box, but maybe there was some glitch elsewhere.