NAMEFRAME Frame the world. Name the frames.

FAQ

General#

Do I need Unreal Engine to try this?

No. --demo generates a procedural raw dump and the entire pipeline runs against it, with no Unreal, no GPU and no licensed assets. It is a real exercise of the mechanism, and only the imagery is synthetic-looking.

Do I need to know Python?

No. The Unreal Studio panel runs the pipeline for you. Python only becomes necessary if you want scripted, unattended or CI-driven runs. See Which path is mine?.

What can it detect besides people?

Anything you can select in a level. Classes are defined by name prefix, actor tag, class name or class path: vehicles, crates, tools, food, animals, signage. Human COCO pose is one optional profile, and most classes should use keypoints: none.

Which annotation formats come out?

YOLO and COCO, and both at once from the same images. Boxes, segmentation polygons and 13-joint keypoints.

How large a dataset can I generate?

Studio offers presets up to 50,000 frames, and the control plane shards jobs across workers. The practical limit is render time and disk, not the tooling.

Workflow#

Can I change labels without re-rendering?

Yes, and that is the point of keeping the raw dump. Labels, formats, splits, filters and lens profiles are all derived offline. Re-run label or dataset against the same dump.

Can I mix Studio and the command line?

Yes. Studio's Save recipe writes the same YAML that studio-compile consumes, and Load recipe reads one you wrote by hand. Author visually, then scale on the command line.

How do I reproduce a run exactly?

Same recipe, same seed. Both are recorded in the dump. For team work, promote the recipe into the Scenario Manager, which adds immutable versions and config hashes.

Can I combine several dumps into one dataset?

Yes. nameframe dataset takes a comma-separated list of dump directories. Use --split-strategy by_dump if you want validation to be scenes the model never saw.

What if my scene has objects that look like targets but should not be labelled?

Two options: mark them ignored, or hide them for the capture with a visibility rule. Leaving them visible and unlabelled teaches the model that such objects are background.

Quality#

What score is good enough?

A or B. Below that, read the penalties before scaling, because a C on 100 frames becomes a C on 10,000 frames, just more expensively.

Why is my score the lower of the two formats?

YOLO and COCO get scored separately and the reported score is the minimum. A dataset is only as usable as its worst export.

Do I need viewpoint validation?

With any randomised camera, yes. Without it, empty frames, three-pixel targets and cameras inside walls all end up in your dataset.

Should I use lens profiles?

If your deployment target is real camera footage, yes, because perfect renders are a domain gap in themselves. Apply it last, and keep clean images alongside with --include-clean-images so you can compare.

Technical#

Which Unreal versions are supported?

The current commercial-preview manifest supports and verifies Unreal Engine 5.8. The installer, API capabilities, diagnostics and support bundles all read that same manifest. A different version can be supplied as a local installer override, but that does not make it a supported product tier. Diagnostics also report when native proof no longer matches the plugin source digest.

Why does capture need the editor open?

Capture runs inside the editor through Remote Control. The editor owns the world, the randomisation and the render.

Is any data sent anywhere?

No. Everything is local: local files, loopback HTTP, local SQLite. The MCP server rejects non-loopback API URLs by design.

Can an AI assistant start a generation run on its own?

Not without you. Write tools default to dry runs, need an explicit approval flag and an idempotency key, need the write scope granted at startup, and with an approval store configured they also need a human decision in the Studio queue. Approving one request approves exactly that one.

What is Metadata v1 for?

Finding and comparing runs later. It is a deterministic queryable sidecar indexed into SQLite, so "which run used the wide altitude range and graded above 90?" is a query.

Where do I report a security issue?

See SECURITY.md in the repository root.