Skip to content
NAMEFRAMECommercial PreviewApply for Pilot
Tools compared

Unreal Engine synthetic data tools compared

Four tools that all get mentioned when somebody asks how to make training data in Unreal. They are not four versions of the same thing: two of them render images, one of them is a remote control for the engine, and one of them builds a dataset and grades it. This page puts what each project documents about itself in one table, with the date it was read.

Tools
4
Criteria
18
Verified
27 August 2026
Written by
NameFrame

The short version

NameFrame

A dataset pipeline built around one idea: the engine already knows what is in the frame, so the labels are read out of it rather than drawn on top of it.

What NameFrame does

EasySynth

A rendering plugin that turns a Level Sequence into image sets: colour, depth, normals, optical flow and semantic segmentation.

EasySynth on GitHub

UnrealCV

A command protocol that lets an external program drive Unreal: move the camera, move objects, and ask for a view back.

UnrealCV on GitHub

UnrealGT

A research framework for pulling ground truth out of a scene, configured in the editor rather than in code.

UnrealGT on GitHub

Everything in one table

NameFrameEasySynthUnrealCVUnrealGT
What it is forGenerating labelled computer-vision datasets end to endRendering image sets from a camera sequenceConnecting external code to a running Unreal worldGenerating ground truth for computer-vision test data
Unreal versions5.8, verified on 5.85.5 to 5.75.6 recommended, UE4 and UE5 lineageNot documented
Colour imagesYesYesYes, the lit viewmodeYes
DepthMetric, float32 metres per pixelYesYes, the depth viewmodeYes
Semantic segmentationYesYesBy object colour, which you assignYes
Instance segmentationYesNot documentedYes, the object_mask viewmodeNot documented
Bounding boxesMeasured from the identity passNot documentedNot documentedYes
Occlusion-aware labelsVisible pixel share per instance, and a gate on itNot documentedNot documentedNot documented
YOLO and COCO exportYOLO and COCO, plus the raw dumpCamera poses as CSV, rig as ROS-format JSONNot documentedNot documented
Built-in randomizationSpawn zones, exclusion zones, materials, animations, entity swappingNot documentedYou write it, through the commandsNot documented
Camera samplingSampled under constraints, with validation and retriesA Level Sequence you keyframeYou drive it, through the commandsMulti-camera setups, configured in the editor
Deterministic runsSeeded, and a run can be replayedNot documentedYou implement itNot documented
Dataset validationGraded and gated before export, with a published reportNot documentedNot documentedNot documented
CLI and automationCLI, REST and MCPNot documentedThe command protocol itselfNot documented
In-editor interfaceStudio panel in the editorEditor pluginCommands rather than a panelConfigured through the editor UI
LiDAR and point cloudsExperimental raycast LiDARNot documentedNot documentedNot documented
LicenceCommercial previewMITMITMIT
MaturityNew. Not on sale yetEstablished, open sourceLong established in researchPublished 2019, small repository

Read 27 August 2026 from each project’s own repository or documentation. Where a project’s documentation does not answer a question, the cell says not documented. That is deliberate and it is not politeness: a tool that has a feature nobody wrote down still has it, and a table that scores silence as absence is wrong about a competitor in a way its own author would spot immediately.

Two of these are MIT licensed and free to use. NameFrame is a commercial preview and is not on sale yet. If cost is the deciding factor, the decision is already made and none of the rest of this page changes it.

Head to head

NameFrame and EasySynth

The closest comparison for anyone who wants images out of a camera path. EasySynth also produces optical flow and normals, which NameFrame does not.

Read the comparison

NameFrame and UnrealCV

An interface against a pipeline. UnrealCV is the better fit when your own code needs to drive the world in a loop.

Read the comparison

NameFrame and UnrealGT

The closest in intent. The practical question is which engine version you are on and how much plugin maintenance you want.

Read the comparison

What each row is asking

The rows are in the order they usually decide a choice. If you would rather work through them than read a table, the same list is written out as a decision in how to choose an Unreal Engine synthetic data tool.

RowWhat it is asking
What it is forSome of these are dataset generators and some are remote control interfaces for the engine. Both are useful and they are not substitutes.
Unreal versionsAn engine version is not a detail. A plugin built against 5.2 does not load in 5.8, and porting it is your afternoon rather than theirs.
Colour imagesEverything produces these. It is the floor, not a feature.
DepthWhether the depth is metric matters. A grayscale image of relative distance trains a different model from float metres per pixel.
Semantic segmentationEvery pixel labelled by class. Enough for segmentation, not enough to tell two people apart.
Instance segmentationEvery pixel labelled by object. This is what separates two overlapping people into two labels, and it is what boxes are derived from.
Bounding boxesWhere a detection dataset lives. Ask whether they are measured from the rendered object or projected from its bounds, because the second is wrong the moment anything is occluded.
Occlusion-aware labelsA person behind a fence is a hard label. If the tool cannot tell you how much of an object is visible, you cannot filter what your model is being asked to learn.
YOLO and COCO exportThe difference between a dataset and a folder of images with a JSON beside it.
Built-in randomizationThe hard part of synthetic data is not rendering 100,000 images, it is preventing them from being 100,000 pictures of the same scene.
Camera samplingWhether the tool places the camera for you under constraints, or expects you to keyframe or script every viewpoint.
Deterministic runsWhether the same seed gives the same dataset. Without it you cannot ablate anything, because you cannot hold the rest of the scene still.
Dataset validationWhether anything checks the labels against the geometry that produced them before you train on them.
CLI and automationWhether a run can be started without a person clicking in the editor.
In-editor interfaceWhether the workflow is a panel or a script. Neither is better; they suit different people.
LiDAR and point cloudsOnly relevant if you need it, and worth checking what is actually simulated rather than what it is called.
LicenceOpen source you can read and change, against something supported that you pay for.
MaturityHow long it has existed and how many people have already hit the bugs.

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.