Two things make working on a GS_Play project faster: Debug Mode, which lets you press play on the level you are editing instead of booting the whole game, and the in-game GS_Play menu, which lets you see and change what the framework is doing while it runs.
For architecture details and the extension guide, see the Framework API reference.
Contents
Debug Mode
Tick Debug Mode on your Game Manager and pressing play runs this level, right now.
Without it, a project boots the way a shipped game does: it starts up, waits for the game to be begun, then loads the configured starting stage and navigates away from whatever you were editing.
With it, three things change:
| System | Normally | In Debug Mode |
|---|---|---|
| Game Manager | Waits for your title flow to begin the game | Begins the game as soon as startup completes |
| Stage Manager | Loads the project’s starting stage | Stays in the current level, if it has a Stage Data component |
| Unit Manager | Waits for the game flow to place the player | Places the player at the debug exit point |
The net effect is that you get a running, playable level without a title screen or a stage transition.
If your level still navigates away
The Stage Manager can only stay in the current level if that level has a Stage Data component. Without one there is nothing to adopt, so it loads the default starting stage as usual. That is the first thing to check when a level jumps somewhere else on play.Turn it off before you ship
Debug Mode is a property on the Game Manager, not a build setting. If it is ticked in the prefab you package, the shipped game will skip your title flow and begin play immediately.The In-Game Menu
Run the game with ImGui enabled and there is a GS_Play entry in the menu bar. Each gem contributes its own section.
| Menu | What you can do |
|---|---|
| Core ▸ Options | See every setting your project declares, grouped by category, and change any of them live. Apply, save, reset individually or all at once, and try presets. |
| Core ▸ Game Manager | Inspect the game manager, and exit the application. |
| PhantomCam ▸ Camera Management | Pick the active camera, force one to the front, and edit its lens live. |
| Audio ▸ Audio Mixer | Master volume plus a slider for every volume channel. |
The Options window is the fastest way to test a new setting. Author the option, press play, and drive it from the menu — before writing any menu UI of your own. Every edit goes through the same bus your UI will use, so if it works there it will work in your game.
The Audio Mixer is similarly useful for balancing: run the game, play the sounds, and move the channel sliders until the mix is right.
Making a Manager Talk
Every manager has a Logging Depth property. Set it above zero and that manager reports its lifecycle as it activates, sets up and shuts down.
This is per-manager on purpose. When you are diagnosing one system’s startup, turn it up on that manager rather than making the whole framework verbose.
Quick Reference
| Need | Where |
|---|---|
| Run the current level without booting the game | Debug Mode on the Game Manager |
| Change a setting live | GS_Play ▸ Core ▸ Options |
| Balance the audio mix | GS_Play ▸ Audio ▸ Audio Mixer |
| Switch or tune a camera live | GS_Play ▸ PhantomCam ▸ Camera Management |
| See one manager’s startup | Logging Depth on that manager |
| Check debug mode from script | GameManagerRequestBus ▸ In Debug |
Glossary
| Term | Meaning |
|---|---|
| Debug Mode | A Game Manager property that begins the game immediately and keeps you in the current level |
| Stage Data | The per-level component that lets the Stage Manager treat a level as a stage |
| Logging Depth | A per-manager verbosity setting for lifecycle logging |
See Also
For the full API and the extension guide:
For related systems:
- The Basics: GS_Managers — where Debug Mode and Logging Depth live
- The Basics: Settings — what the Options window edits
Get GS_Core
GS_Core — Explore this gem on the product page and add it to your project.