NameFrame and UnrealGT
UnrealGT is the closest of the three to what NameFrame does: it was built to pull ground truth out of a scene and configured through the editor rather than in code. It came out of a 2019 paper and the repository is small, so the practical question is less about features and more about which engine you are on and how much you want to maintain.
- UnrealGT licence
- MIT
- UnrealGT published
- 2019
- NameFrame engine
- 5.8
- Verified
- 27 August 2026
The same idea, seven years apart
UnrealGT documents images and multi-camera setups, depth, semantic segmentation, normals, bounding boxes, actor properties and calibration data, configured in the editor without writing code. That list is the right list. It is what a computer vision person wants out of an engine, and the paper it came from was early to say so.
What it does not document is the layer above that: how a run varies its scene, what makes two runs identical, what checks the labels before you train on them, and what format the result lands in. Those questions may have answers in the code. They are not in the documentation we could read, so this page marks them as not documented rather than as absent, and the same rule is applied to us.
The engine version is the practical fork in the road. The repository does not state one, the paper is from 2019, and a plugin from that era does not load in a modern engine without work. If you are starting on 5.8 today, that work is yours.
Side by side
| NameFrame | UnrealGT | |
|---|---|---|
| What it is for | Generating labelled computer-vision datasets end to end | Generating ground truth for computer-vision test data |
| Unreal versions | 5.8, verified on 5.8 | Not documented |
| Colour images | Yes | Yes |
| Depth | Metric, float32 metres per pixel | Yes |
| Semantic segmentation | Yes | Yes |
| Instance segmentation | Yes | Not documented |
| Bounding boxes | Measured from the identity pass | Yes |
| Occlusion-aware labels | Visible pixel share per instance, and a gate on it | Not documented |
| YOLO and COCO export | YOLO and COCO, plus the raw dump | Not documented |
| Built-in randomization | Spawn zones, exclusion zones, materials, animations, entity swapping | Not documented |
| Camera sampling | Sampled under constraints, with validation and retries | Multi-camera setups, configured in the editor |
| Deterministic runs | Seeded, and a run can be replayed | Not documented |
| Dataset validation | Graded and gated before export, with a published report | Not documented |
| CLI and automation | CLI, REST and MCP | Not documented |
| In-editor interface | Studio panel in the editor | Configured through the editor UI |
| LiDAR and point clouds | Experimental raycast LiDAR | Not documented |
| Licence | Commercial preview | MIT |
| Maturity | New. Not on sale yet | Published 2019, small repository |
Last verified 27 August 2026, from UnrealGT on GitHub. Where their documentation does not answer a question, this page says so rather than counting it as a missing feature. If something here is out of date or wrong, tell us and it gets corrected.
Which one to reach for
Choose NameFrame if
- you are on Unreal 5.8 and do not want to port a plugin first
- you want the run graded and gated before it becomes a dataset
- you want YOLO or COCO out of the box
- you want scene randomization and camera sampling as settings rather than as code
- you want support and are willing to pay for it
Choose UnrealGT if
- you want MIT-licensed source with a paper behind it
- you are citing it in academic work, where an established reference matters
- you need multi-camera calibration data specifically
- you are comfortable maintaining a plugin against your own engine version
- your budget is zero and your time is not
What this page is not
This is written by the people who make one of the tools on it, so read it that way. What we can do is keep it checkable: every row came from the other project’s own repository or documentation on the date at the top, the link is there, and a question their docs do not answer is written as not documented rather than as a missing feature.
We also have one end-to-end result and it is not flattering. A detector trained only on NameFrame frames, with no real images anywhere in training, improved on its synthetic test split and lost recall on real drone footage. It is published with the failure pictures on the experiment page. No comparison table on this site should be read as evidence that our output trains a better model, because we have not shown that.