Skip to content

Testing Runtime

Runtime bugs are expensive when you find them late. The safest beta workflow is to split testing by what each environment can actually prove.

Preview is fast. Play mode is closer to the real game. Published test places are where saves get real.

Studio play and published-place checks require a current installed runtime. After changing story data, styling, sprite assets, runtime menu fields, or extension settings, compile the project and restart the play session before trusting those checks. Install or update the runtime when the runtime is missing or outdated.

Use preview to check story flow, dialog timing, variables, conditions, choices, presentation nodes, synthetic text input, and simulated wait states.

  1. Compile the project.
  2. Start preview from the scene you changed.
  3. Step through the main path.
  4. Choose each available Choice option.
  5. Check locked choice text.
  6. Use preview transport from important branch nodes.
  7. Resolve warnings before moving to runtime testing.

Preview From Here follows a reachable route from the scene start to the selected node, including choice and condition branches, so earlier backgrounds, sprites, audio, variables, and other story state carry into the test. If the selected node has no reachable route, Preview starts directly at that node instead. It chooses one route, so test alternate branches separately when their state matters.

  1. Install or update the runtime.
  2. Start a Studio play session.
  3. Start a new game from the runtime menu.
  4. In a touch-device emulator, tap a typing dialog line to reveal it, tap again to advance, and drag a long line to confirm scrolling does not advance the story.
  5. Test Continue, Return to Menu, Settings, Log, Save, Load, and Chapter Select.
  6. Submit text input and confirm normal answers reach later dialog.
  7. If a Text Input sets Filtered Text to Use Filtered Branch, test the retry or recovery route in play mode.
  8. Test Prompt Purchase nodes with valid Developer Product or GamePass IDs. Confirm Cancelled, Purchased, and GamePass-only Already Owned routes where they apply, and check that the completed dialog line stays stable while the prompt opens and resolves.
  9. Test each world-facing node in the actual place.
  10. Recompile and restart play mode after changing story data, assets, styling, or extension settings. Reinstall the runtime only when the installed runtime is missing or outdated.

Menus

New Game, Continue, Settings, Save, Load, Log, Chapter Select, Return, Close, and Open Menu all depend on runtime requests and player save data.

Timers

Waits, no-input dialog, title cards, and choice timeouts should pause while the runtime menu is open.

Text input

The runtime filters submitted text. Studio may warn and use local text if filtering is unavailable, so test any Use Filtered Branch route in play mode.

World nodes

Touch, click, proximity prompts, teleport, roaming, and sprite activation all need the installed runtime.

Roblox services

Award Badge, Prompt Purchase, GamePass ownership, and Premium checks need the installed runtime and Roblox service setup.

Extensions

Run Function needs the installed runtime, extensions enabled, and trusted extension code.

Local Studio runtime saves are memory-only. A published test place is needed when the question involves real persistence, player rejoin behavior, or save-profile release after a server closes.

  1. Publish a private test place.
  2. Enable runtime save access as your experience requires.
  3. Start a story, make a manual save, and leave.
  4. Rejoin and test Continue plus manual Load.
  5. Change settings, leave, and confirm settings persist.
  6. Test GamePass checks, purchase prompts, badges, and other Roblox service behavior your route depends on.
  7. Test save/load from more than one route if your story branches heavily.
  • Continue says no autosave is available after you expected one.
  • A save slot is marked as an outdated save after you removed or moved the chapter, scene, or node it pointed to.
  • A save slot loads but returns to the wrong chapter, scene, or node.
  • A text input route works in preview but fails in play mode.
  • A Text Input retry branch never runs because Filtered Text is still set to Continue Normally, or If Text Is Filtered is empty or points to the wrong node.
  • A Prompt Purchase node follows Cancelled in preview. That is expected; use play mode with the installed runtime for real prompt behavior.
  • A Developer Product branch gives a reward without receipt processing. Use Roblox receipt handling for permanent grants, currency, or entitlements.
  • A World Wait route never continues because the target path does not resolve or the trigger kind does not match the target.
  • An Award Badge node is reached, but the badge is not owned by this experience.
  • A Run Function node is reached while extensions are disabled or the selected module is missing.
  • A Run Function route remains on the node because the extension yielded and never returned.
  • Roaming does not restore controls after returning to normal story mode.
  • Runtime menu timers continue while the menu is open.

These are not places to add delay hacks. They are signs to verify the authored fields, installed runtime, and place hierarchy.

Use Troubleshooting for the common causes and first checks behind these failure signs.