Studio Testing Modes

*该内容即将支持你的所选语言。

Because of the underlying client-server model of the Roblox engine, it's important that you test your experience in various modes before releasing it to the public. All of the testing options are accessible from the Test tab.

Test tab indicated in Studio toolbar

Playtest Options

There are three common options for playtesting an experience. Clicking the small arrow below the main button lets you choose from each option, and sets that option as the default.

Rapid playtest options in Test tab of Studio.
ActionShortcutDescription
PlayF5Starts simulating the experience, inserting your avatar at either a SpawnLocation or coordinates of around (0, 100, 0).
Play HereStarts simulating the experience, inserting your avatar in front of the camera's current position.
RunF8Starts simulating the experience but does not insert your avatar. The simulation begins at the current camera position and you can navigate around using the Studio camera controls.

Once a playtest is running, the following options become available:

Additional options available during playtesting in Studio.
ActionShortcutDescription
Client / ServerDuring playtesting in a "play solo" mode (Play or Play Here), toggles between Client mode and Server mode. See Client/Server Toggle for details.
Pause Physics / Resume PhysicsLets you pause and resume physics without disabling rendering.
StopShiftF5Stops simulation of the experience and resets all objects and instances to how they were before Play, Play Here, or Run was clicked.

Client/Server Toggle

When testing in either Play or Play Here mode, Studio runs two separate simulations — one client simulation and one server simulation — which can provide a more accurate impression of how the experience will execute in production.

While playing solo, you can toggle between Client and Server modes by clicking the Client/Server toggle button. When you toggle, the button changes to reflect the current simulation mode.

Client/Server toggle button indicated in Test tab

Controls and Camera

Depending on the mode, control of your character and the camera changes as follows:

In Client mode, the 3D viewport is surrounded by a blue border and the simulation uses your character controls and camera setup. This testing mode is a close simulation of the experience running on the Roblox application, without multiple players.

Explorer Window

Within the Explorer window hierarchy, certain objects only exist in their expected containers.

Explorer window showing items that exist on client only
In Client mode, the expected client-side objects are present in the hierarchy, including those copied over from StarterPack to the player's Backpack and from StarterPlayer into the player's PlayerScripts.
Explorer window showing items that exist on server only
In Server mode, the expected server-side objects are present in the hierarchy, including scripts in ServerScriptService and objects you placed in ServerStorage.

Output Window

In the Output window, messages are labeled blue (client) or green (server), indicating their origin from either the client or server. For messages output from ModuleScripts, the label color is determined by whether the module was called from a client-side LocalScript or from a server-side Script.

Output window showing green label for server output and blue label for client output

Pausing & Resuming Physics

While playtesting, the Pause Physics and Resume Physics buttons are useful for debugging ephemeral scenes and mechanisms, without disabling rendering.

Pause Physics and Resume Physics buttons available during playtesting in Studio.

By default, pausing and resuming physics acts upon both the client and server as indicated by the All notation. If you wish to pause or resume only the client or server physics, click the small arrow on either button and select Current. Then, depending on your chosen view through the Client/Server toggle, pausing or resuming will act only upon that side of the simulation.

Selection arrows for Pause Physics and Resume Physics to toggle between All or Current pause/resume action between client and server physics.

When physics is paused, you can step forward 1/60th of a second (60 Hz) by clicking the Step Forward Physics button. Like the neighboring buttons to its left, clicking the small arrow lets you toggle client and/or server steps between All or Current.

Step Forward Physics button available during playtesting in Studio, only active while physics is paused.

Note the following technical details in relation to physics pause/resume:

Multi-Client Simulation

Using the Clients and Servers options, you can launch multiple sessions of Studio, one acting as the server and each other acting as a client. This testing mode is a valuable tool for comparing how a client "sees" other clients within the experience.

  1. Make sure Local Server is selected in the upper box, then select the number of player sessions to test. Usually 1–2 players is sufficient, although you can simulate up to eight.

  2. Press the Start button to begin the client-server simulation.

    Clients and Servers simulation setup indicated in Test tab
  3. When you're finished testing, press the Cleanup button from any of the simulation sessions to close all simulated clients and the simulated server.

    Cleanup button indicated in Test tab

Device Emulation

The Device emulator lets you emulate various devices directly in Studio, providing insight on how controls operate on a mobile device or how on-screen UI displays on different screens and aspect ratios.

Device button indicated in Test tab

In emulation mode, you can select devices from the Device Selector dropdown menu above the 3D viewport to emulate less powerful devices and test streaming-enabled experiences where 3D content dynamically loads/unloads based on available memory. You can also adjust the view size and change the device orientation between landscape and portrait modes.

Emulation options above the 3D viewport

VR Emulation

VR emulation lets you test VR experiences in Studio without a physical headset. Just like emulating any other device, use the Device Selector menu to choose the Meta Quest 2 or Meta Quest 3. The Controller Emulator automatically selects the appropriate controller for the headset.

Controller Emulation

The Controller Emulator lets you accurately emulate gamepad input directly in Studio. The default controller is Generic, and you can select alternatives for Playstation, Xbox, and Quest devices from the upper‑left picker menu.

Emulate Device Controllers button indicated in Test tab View of the generic controller in the Controller Emulator.

While playtesting, you can control the experience with the virtual controller using your mouse.

You can also click Edit mappings in the upper‑right corner to view and edit key mappings for the virtual controller, for example E to ButtonL2 or 9 to ButtonA. These mappings are saved like other Studio settings (per controller, per user, per computer) and are translated to gamepad events in both the emulator window and the 3D viewport.

VR Controllers

The combination of a headset and multiple controllers, each with motion tracking, make VR emulation more complex:

  1. For motion tracking emulation, press Alt + 1 ( + 1) to lock the mouse to and unlock the mouse from the viewport.
  2. Use Shift + or to switch between the headset, left controller, and right controller.

For example, you might use the Headset option to look around as you walk forward with the left controller button, but then switch to the Right Controller when you need to use motion controls to aim at a target.

The Controller Emulator with a Quest 3 controller and viewport.

Player Emulation

For detailed emulation of experience localization and content policies, you can test through the Player emulator.

Player emulator button indicated in Test tab

With the emulator window open, toggle on Enable Test Profile. Emulation will remain as toggled (enabled or disabled) even if you close the window.

Lower down in the window, commonly used options include:

OptionDescription
LocaleLets you emulate a localized language while playtesting.
PseudolocalizeSwaps out characters with similar but slightly different characters so that it's easy to identify which strings are going through the translation system. Enabling this helps you identify unlocalized text without having to change the emulation language. For example:
  • Bloxy Cola  ⟩  ßℓôж¥ Çôℓá
  • Dominus Empyreus  ⟩  Ðô₥ïñúƨ É₥ƥ¥řèúƨ
ElongateElongates text strings by a factor defined via the slider. For example:
  • Bloxy Cola  ⟩  Bloooxyy Coolaa (50% longer)
  • Dominus Empyreus  ⟩  Doomiinuus Eempyyreus (30% longer)
Using elongation helps you identify places where your user interfaces might not be able to handle text that's longer than the default translated text. Note that Spanish is on average 30% longer than English and the equivalent for German is even longer. Also note that this only affects text that goes through the translation system.
RegionLets you emulate a player's country/region while playtesting; this selection may impact other toggles and checkboxes in the window as outlined in GetPolicyInfoForPlayerAsync().

Collaborative Testing

If you're working on an experience with others in Collaboration mode, you can test with other creators as follows:

  1. In the Clients and Servers section, select Team Test in the upper box and press the Start button to publish the current state of the experience and create a new Studio session with your character inserted.

    Team Test setup indicated in Test tab
  2. Other collaborators can then join by pressing Join from the Test tab.

    Team Test join button indicated in Test tab

Testing with VR Headsets

If you'd like to support virtual reality (VR) headsets for your experience, make sure to test in VR in Studio. Studio supports testing for all VR headsets that are compatible with OpenXR, the open-source industry standard providing access to VR.

Headset Configuration

To enable Studio testing in VR, you must connect your headset to your PC and configure the OpenXR runtime before launching Studio. If you've already launched Studio, quit and complete the configuration steps first.

If you only have one VR headset, installing the corresponding VR app automatically configures the runtime for you. If you have multiple headsets, you must set up the runtime manually and make sure to only configure the one that you want to use for testing.

The following steps are for the two most common VR apps:

  • SteamVR for headsets such as the HTC Vive and Valve Index.
  • Oculus for headsets such as the Meta Quest and Oculus Rift.
  1. Install and open the SteamVR app on your computer.
  2. Under SteamVR Settings, select the Developer tab. Then select Show Advanced Settings.
  3. Set SteamVR as OpenXR runtime.
  4. Turn the controllers on by pressing the System button until you hear a beeping sound.
    • To turn the controller off, press and hold the System button until you hear the same beeping sound.

If you follow the steps correctly, the status icons on the SteamVR app and the status lights on the hardware should all be green, indicating that the configuration is completed.

Roblox Quest App

You can test your experience in the Roblox app on Quest without linking your headset to your computer. Use the following steps to access your experience on your headset in this mode:

  1. In Studio, publish the experience and set the experience to private.
  2. Using your Creator Dashboard or the link in Studio, open the experience page in your web browser.
  3. On the experience page, add the experience to your favorites by clicking the Favorite icon.
  4. Using your headset, open the standalone Roblox app.
  5. Scroll down to the Favorites section in the home page and run your experience.

Studio VR Mode

After configuring your headset, you can turn on the Studio VR testing mode through the following steps:

  1. In the File menu, select Studio Settings.
  2. Select Rendering.
  3. Under General settings, turn on VR Mode.

You can now test your experience using your VR headset using any of the available playtest options. During a VR testing session, if your headset cable disconnects or you close the Roblox Studio Beta app on the headset, you'll need to restart Studio to re-run testing.