A downloadable tool

Buy Now$14.99 USD or more

The same seven nodes, pasted into a dozen Blueprints.

Play a sound here, spawn an effect there, apply some damage. It gets pasted into every pickup, door and turret, and when one copy needs a fix you have to find all of them. Unreal's Collapse to Function works on one selection, in one Blueprint, by hand. Nothing in the engine finds the copies.

This finds them.

It reads every graph under the folders you name and reports each cluster of nodes that appears at least twice with the same wiring, ignoring literals and node positions. Each cluster is drawn as a small graph, every copy is listed by Blueprint and graph, and a table shows exactly what differs between the copies. On a new project made from Epic's own Top Down template it finds one: five nodes pasted twice in BP_TopDownController, once for click and once for touch.

Then it extracts them, and checks its work before saving anything.

One command turns every copy into a call to one new function: a member function when every copy sits in one Blueprint (its own variables stay in reach, as with Collapse to Function), or a Blueprint Function Library function when the copies span several. The boundary is worked out from every copy, not just one: an input wired from outside becomes a parameter, and a literal that differs between copies becomes a parameter set to that copy's value. Every Blueprint it touched is recompiled, and nothing is saved unless all of them compile with no errors and no warnings. On the Top Down template, the two copies become one member function of BP_TopDownController and the Blueprint compiles clean.

Undo, and a CI gate.

Before the first save every file is copied into a journal, and -Undo=<stamp> puts them back byte for byte. -FailOnClones=<n> exits 5 when a cluster of n or more nodes exists, so a build server can stop new copy-paste from landing.

Three ways in

  • Tools menu: Scan Blueprints for Copy-Pasted Code (read-only, opens the report)
  • Content Browser: right-click a folder, Scan Folder for Copy-Pasted Blueprint Code
  • Headless: -run=BCE -Scan, -Extract, -Undo, -FailOnClones

What you get

Full C++ source, raw and readable: one editor module, six translation units, six public headers. No content, no fonts, no third-party code.

Scope, stated plainly

  • UE 5.8 only. Built, gated and run against 5.8. Nothing else is claimed.
  • Windows (Win64), editor-only. It adds nothing to a packaged game.
  • The itch download is source: the editor compiles it the first time your project opens, which needs Visual Studio 2022 with the C++ workload.
  • Extraction runs from the command line with the editor closed. In a running editor a failed rewrite would stay in memory; from the command line it is discarded with the process.
  • Clusters holding a latent node (Delay, Timeline) are reported as MACRO and not extracted in this version. A cluster with more than one exec entry or exit, or whose data output is used outside it, is refused with the reason.

Documentation: https://github.com/onefreeman1337/csaf-releases/blob/main/docs/blueprint-clone-extractor/README.md

Also on Fab.

More from Core Systems Asset Factory

The rest of our Unreal Engine tools, and our games: csaf.itch.io

Code and graphics for this product were AI generated.

Purchase

Buy Now$14.99 USD or more

In order to download this tool you must purchase it at or above the minimum price of $14.99 USD. You will get access to the following files:

Blueprint Clone Extractor 1.0.0 - UE 5.8 source plugin 55 kB
Version 1.0.0

Development log

Leave a comment

Log in with itch.io to leave a comment.