Hello Creators!
Back in June, we announced we’re partnering with Xbox for the launch of their new ROG Xbox Ally devices this holiday season!
Today, we’re taking the next major step in our commitment to empowering you to reach players on any supported device, including powerful gaming handheld devices
.
Starting today, you have access to:
-
A new Cross-Platform Development Guide that explains how to ensure your experience runs well on any device. This guide is based on adaptive design principles that allow you to adapt to the ever-changing landscape of devices, input methods, and form factors.
-
A suite of new and updated APIs to help make your cross-platform development process easier.
-
A new handheld emulator within Roblox Studio so that you can also troubleshoot and make sure that your experiences are ready for the new ROG Xbox Ally, and future handheld devices that support Roblox.
Let’s dive into it!
Our Vision for Cross-Platform Optimization
At Roblox, we envision a future driven by adaptive design, moving beyond traditional device categories. In the past, you’d think of building primarily for a laptop with a fixed screen, keyboard, and mouse. But today’s devices have far more dynamic capabilities, allowing for seamless transitions between different inputs and displays.
Given this continuous evolution, we’re building APIs and creator tools to help your experiences seamlessly adapt to any input types, screen sizes, and orientations. This could help significantly reduce the time needed to troubleshoot, allowing you to focus on what matters most: creating engaging experiences.
Our Principles for Cross-Platform Development
Every experience is unique, but following a few key principles will help you deliver an intuitive and polished experience to every player, on any device. To achieve this, we recommend that you focus on:
Input Fluidity: Ensure your experience feels natural on any input device, including: gamepad, mouse/keyboard, touch and VR controllers.
Responsive Layout: The layout of your experience UI should adapt to different screen sizes and orientation. On a big computer monitor, you have the space to show lots of actions, while on a smaller screen, you may have to be judicious and only show high importance actions, hiding the rest under menus.
Dynamic Sizing: This is about the size of your UI elements, not just their position. Your UI should scale up or down with the screen size so that everything stays the right size and is always easy to click.
Legibility & Visual Clarity: Can players actually read your text on a small phone screen or from 10 feet away? Are your buttons easy to see against the background of your experience? Use appropriately sized fonts and colors that stand out.
Check out our Cross-Platform Development Guide for deeper insight on principles and examples that show them in action.
APIs for Cross-Platform Development
To help you implement the principles above, we want to highlight several powerful APIs that simplify these cross-platform workflows:
-
ViewportDisplaySize: A new API to design your UI to fit different physical screen sizes by understanding a device’s perceived display area.
-
PreferredInput: Detects the player’s primary input device, making your UI and interactions adapt to it automatically.
-
Input Action System: Allows you to define actions that work seamlessly across platforms, no matter the input device.
-
Styling: Easily set and apply global overrides to your UI’s properties, making consistent design simple.
-
Flex: Effortlessly make your UI content fill a dynamically sized container, ensuring a responsive look.
Emulating Handheld in Studio
Today, we are also launching handheld emulation in Studio. It will help you test how your experience will look and feel on handheld gaming devices, including the controller input and screen factors.
To enable the emulator:
For users in the next-gen Studio beta:
-
Navigate to Test > Device Emulator.
-
From the viewport, select the “Generic Handheld HD” options under “Console” from the device list.
-
Optionally, check “visual controller” to enable the controller widget and locate the “Generic Handheld” virtual controller to validate your inputs and edit keyboard mappings.
For users not in the next-gen Studio beta:
-
Go to the Test tab.
-
Click the Device button and choose the “Generic Handheld HD” options under “Console.”
-
Then, click Controller and select the “Generic Handheld” virtual controller to validate inputs and edit keyboard mappings. See more details in Emulation.

As we continue to invest further on toolkits, APIs, and feature improvements, we want to hear from you. Please give us feedback on these tools and share any challenges that you may be facing while working with them.
Please let us know if you have any questions!
Thank you.

