Headless Unity

Don't render what nobody's watching.

Tests and long grinds don't need pixels. Satura Space runs the Unity editor in three modes, from a hidden window streaming at full fidelity down to no rendering, where the game loop ticks past 5,000 times a second.

Frames nobody looks at still cost you

A test scenario that plays out over 200 in-game seconds spends nearly all of that time drawing frames into a window no one is looking at. So does a balance simulation, a pathfinding soak test, or an agent reproducing a state machine bug for the twentieth time. Those frames cost GPU time and wall-clock time, and nothing in the run depends on them.

Satura Space makes that a per-session choice rather than a fixed cost.

Three modes

Normal

The Unity editor launches with its window suppressed at the OS level and the running game streamed into the app at full fidelity, with mouse, keyboard and audio going back the other way. This is the default, and it is what you want while you are watching your game. The editor is still a complete editor; it is out of your way until you reveal it.

Headless Graphics

Drops the editor window but keeps rendering the view. Useful when you want the visual output available without the desktop clutter or the compositing cost of a full editor UI.

Headless NoGraphics

Launches with -batchmode -nographics: no window, no rendering, no GPU work. The game loop runs as fast as the CPU allows, and Update() ticks past 5,000 times a second instead of the sixty you would get on a display. A scenario that would take minutes of real time finishes in seconds.

The trade: no frames means nothing to look at. In NoGraphics you read results from the Unity console, from LogTdd output and from scenario pass/fail, which is the diet an agent wants anyway. NoGraphics is also single-player; the multiplayer grid needs Normal or Headless Graphics.

Switching mid-session

Mode is a property of the session, set on the launch screen and changeable afterwards. The usual rhythm: run in Normal while you and the agent are figuring out what is wrong, drop to NoGraphics to grind the scenario a hundred times, come back to Normal to watch the fix land.

The platform detail

Hiding an editor window is not the same problem on both operating systems. On macOS the app injects winhook.dylib and passes -noMainWindow. On Windows that flag is not an option: an editor started that way has no GameView and takes the render thread down with it, so Windows clones run as real GUI editors with their windows hidden by unityhook.dll. Both paths end at the same place, with a full editor doing real work off your screen.

The specifics.

Normal

Hidden, streamingFull fidelity into the app, with input and audio.

Headless Graphics

No windowRendering kept, desktop window dropped.

Headless NoGraphics

5,000+ ticks/sec-batchmode -nographics. Single-player only.

Editor access

One click awayReveal shows the real window of the same running instance.

Straight answers

Headless questions.

Do I have to open the Unity Editor?

No. It launches hidden and streams the game into a panel. When you want it, Reveal Editor pops the real window out instantly.

Can I still see the game when headless?

In Normal and Headless Graphics, yes. Headless NoGraphics produces no frames, so you read results from the console, TDD logs and scenario output.

How much faster is NoGraphics?

Fast enough that the frame rate stops being the limit: Update() ticks past 5,000 times a second instead of the ~60 a display imposes. What you gain depends on how much of your loop is GPU-bound.

Does multiplayer work in every mode?

Normal and Headless Graphics run the full four-instance grid. NoGraphics is single-player only.

Which Unity versions are tested?

Unity 6 across all three release streams: 6000.5.4f1, 6000.3.6f1 and 6000.1.17f1. Other Unity 6 patch releases generally work; these are the ones verified.

Does this change how I build my game?

No. These modes are how the editor runs during development. Your player builds are unaffected.

Related

Spend the GPU when it matters.

Stream the game while you watch it. Drop the pixels when you don't.

7-day free trial (no card required)macOS & Windows