NAMEFRAME Frame the world. Name the frames.

Unreal Studio tour

NameFrame Studio is a docked panel inside the Unreal editor. It reads the level you already have open, lets you define what should be labelled and how the camera should move, then runs the whole capture-to-dataset pipeline for you. No terminal, no Python.

Opening the panel#

In the Unreal level editor: Tools → NameFrame Studio. It opens as a dockable tab you can park anywhere, next to the Details panel or across the bottom.

If you prefer the console, NameFrame.Studio.Open does the same.

Prerequisite

The panel reads the active editor world, so load the level you want to generate from before you start. If the header says No editor world, you have no level open.

The nine pages#

Studio is one panel with nine destinations. The Home page numbers the six you move through in order. Settings and Preview Lab are side trips you take when you need them.

#PageThe question it answers
HomeWhat level am I on, and where do I go next?
1AssetsDoes this level actually contain what I want to label?
2SceneWhere do things spawn, and what are they called?
3CaptureWhere is the camera, and what is the weather doing?
4DatasetHow many frames, where do they go, what format?
5GenerateIs it ready, and can I run it now?
6ResultsWhat did I get, and how does it compare to last time?
Preview LabWhat would a handful of real frames look like?
SettingsLocal paths, and the AI/MCP endpoint.

The mental model#

Three ideas explain nearly every control in the panel.

1. A recipe holds the configuration, not the panel

Everything you type is saved into a recipe, which is a YAML file. The panel is a view onto that file. Dataset → Save recipe writes it out, Load recipe reads one back in. That is also the file you would hand to a colleague, or commit.

2. Blank means "don't override"

Most fields on the Capture page are overrides. Leave a field empty and the loaded recipe's value is used. Type something and it wins for this run. That is why you can load a working recipe and change only the frame count.

3. Three output folders, kept separate on purpose

FolderHoldsWhy separate
Raw captureThe rendered frames and the recorded truthIt is the source. Labels can be re-derived from it forever.
ReportBrowsable HTML with overlaysDisposable. Regenerate whenever.
DatasetYOLO/COCO images and labels, splitThe thing you actually train on.

The route through the panel#

  1. Home: confirm the level

    Check the map name and the helper summary. Press Rescan Level if you just changed something in the viewport.

  2. Assets: confirm the content

    Read the inventory. If your target actors are not listed here, nothing downstream will label them. Validate Assets tells you what is missing before you spend render time.

  3. Scene: author the rules

    Add a Spawn Zone where things should appear, a Target Zone for the camera to look at, and Exclusion Zones where nothing may spawn. Then define your classes and assign level actors to them.

    This page also holds the population contract: spacing, slope, ground clearance and the advanced population rules.

  4. Capture: camera, weather and throughput

    Pick a camera mode preset (Orbit, Drone, Random, Fixed or Spline), then set resolution and any ranges you want randomised. Turn on Smart Viewpoint Validation so useless frames get resampled instead of shipped.

    Pick exactly one weather driver: NameFrame's built-in weather, or Ultra Dynamic Sky/Weather if your project has it. The Capture Performance section at the bottom of this page trades render quality against throughput.

  5. Preview Lab: look before you commit

    Render 1 to 12 real frames into a temporary folder and flip between the RGB, boxes and segmentation layers. Your configured outputs are untouched. This is the cheapest way to catch a wrong camera height or an empty frame.

  6. Dataset: size and destination

    Set the three output folders, the frame count and seed, the annotation task, and the split fractions. Optionally apply a lens or sensor profile so the images look like they came from a real camera.

  7. Generate: preflight, then run

    Work left to right through the readiness row: Validate Scene, Validate Recipe, Dry Run, Smoke Test. Only then press Generate Dataset.

    A progress widget shows frame counts and lets you Cancel. Cancelling keeps the frames already written.

  8. Results: inspect and compare

    Open the report and the dataset directly, or start the local Results API and browse indexed runs, saved views and run-to-run comparisons in your browser.

Why the preflight buttons matter#

A 10,000-frame run is hours of GPU time. Each readiness button costs seconds and rules out a different class of wasted run:

ButtonCatches
Validate SceneMissing ground actor, empty asset pools, zones with no labels, unassigned targets.
Validate RecipeContradictory or invalid configuration, before Unreal renders anything.
Dry RunA wrong randomisation plan. Writes the exact per-frame schedule with no rendering.
Preview CameraA camera pointing at the sky, or buried in terrain.
Preview ActorsSpawn pools that produce the wrong assets.
Smoke TestEverything else. Five real frames, verified, with a temporary report.
Rule of thumb

Never start a run over 1,000 frames without a passing Smoke Test. It takes under a minute, and it is the difference between finding a problem now and finding it in three hours.

Next#