A change in a game is rarely only code. It's a Blueprint, a material, a model and a texture, all in one changelist. Touch Review opens every one of them in the browser, shows exactly what changed, and lets you comment on the node, the pixel or the vertex. One review and one approval, for programmers and artists alike.
A real review of a small feature: a lantern that flickers. Code, a Blueprint, a material, a model and a texture, reviewed in under two minutes without leaving the browser.
Code review tools show a changed .uasset as “binary file, 9.5 MB”. To see what an artist actually did, a reviewer has to sync the change, open the editor, find the asset and compare it with what they remember from last week. So most teams simply don't. Touch Review does the comparison for you, in the same place where the code is reviewed.
Both versions of the graph sit side by side and move together: pan or zoom one and the other follows. The list of changes on the right says what happened in plain words. Click one and both sides centre on that node.

The graph is exported by Unreal Engine itself, so every node, colour and preview matches what the artist saw. Texture samples show the actual textures, and the old side shows the old ones.

Open a changed mesh and look at both versions together, with textures. Switch to the heat map and the answer is in the colour: green did not move, red did. The post of this lantern is untouched, the lamp housing grew.


Put the two versions next to each other, swipe between them, fade one over the other, or show only the difference. Touch Review counts the changed pixels, so “9% of the wall was repainted” is a fact on the screen.


Side by side or unified diffs with syntax colouring, comments on a line, threads that get resolved. Every comment carries a weight, so the author knows what has to change before approval and what is only a thought.

Each type gets a view that fits it. A table is shown as a table, a curve as a curve, a graph as a graph.
| Content | What you see | |
|---|---|---|
| C++, shaders, config | Line diff with syntax colouring, inline threads | Ready |
| Blueprints | All graphs side by side, variables, components, class defaults | Ready |
| Materials and instances | The material graph 1:1 with the editor, texture previews, parameters | Ready |
| Static and skeletal meshes | Six 3D views with textures, vertex heat map, LODs and materials | Ready |
| Textures and images | Side by side, swipe, onion skin, pixel difference with a count | Ready |
| Data Tables, Curves | A spreadsheet with changed cells marked, the curve drawn over the old one | Ready |
| Animations and montages | Timeline with notifies, sections, slots and sync markers | Ready |
| Niagara systems | Emitters switched on or off, user parameters, modules | Ready |
| Input mappings | Action, key, modifiers and triggers as a tree | Ready |
| Levels and maps | Actors added, removed and moved, shown in the editor viewport | Work in progress |
Not everyone wants a browser tab. The Touch Review panel docks in the Unreal editor like any other window, with the same reviews, files and comments.
The review itself is half the job. The other half is getting it to the right person, making sure nothing is forgotten, and knowing where the work is stuck.
Say who owns which folder: Content/Characters goes to the character team, Source/AI to the AI programmers. New reviews are assigned by path and spread evenly across the team.
Programmers check tests and performance, artists check LODs, triangle budget and texture size. Each review gets its own list, and it can't be approved with boxes left empty.
Every review runs the rules you set: textures in powers of two and under the size limit, meshes within the triangle budget, names with the right prefix. A failed check shows up before a person even opens the file.
Before you move a fix to another stream, Touch Review checks what it depends on. If the Blueprint needs a C++ class that isn't on the target stream yet, you see it in red, with the changelist you have to take along.
When the author updates the change, one button shows only what's new since your last review. Files touched again get a dot, so you don't read the same diff twice.
Time to approval, reviews waiting longer than a week, who is overloaded and who blocks the pipeline. A dashboard for leads, built from the reviews themselves.
New reviews, comments and votes land in the channel your team already reads, with a link straight to the file.
The ticket is linked to the review and its status follows it. The Horde preflight result appears on the review, and a failed build blocks the approval.
Who approved what and when, kept for good and exportable as a PDF. Optionally, Perforce refuses a submit that has no approved review.
An assistant reads the change before your team does and leaves its notes as ordinary comments, marked as such. Switched off by default, and it never approves anything.
Reviews come from Perforce changelists and shelves, streams included, or from TouchQuill. With TouchQuill you also see all three versions of a conflicting asset and follow a function through renames.
Touch Review runs on your infrastructure, as a single program or in Docker. Your assets and your code never leave the studio. Sign in with your Perforce account or Google Workspace.
Touch Review isn't publicly available yet. Until the end of the year we're running it with a small group of studios. If reviewing art is a pain in your pipeline, write to us. We'll get back to you about joining the test, or just talk about how you review today.