Skip to content
Media 1 for listing CPP Refactor Suite: Safely Rename, Move and Delete C++ Classes

Description

Rename, move, or delete a C++ class by hand and the project looks fine until it isn't. Blueprints quietly lose their parent class. Includes break in a module you didn't know referenced it. Stale generated files fail the build minutes after you closed the editor. On large projects this goes from nuisance to nightmare.

CPP Refactor Suite handles the whole operation end to end. Pick rename, move or delete, and it does everything that change requires: the file operations, references and includes across your project and plugin sources, the CoreRedirects entry that keeps Blueprints attached to their parents, stale generated files, project file regeneration, and the rebuild. One dialog, then it hands off and gets out of the way.

Developed and stress tested against Epic's Lyra Starter Project. Windows only, Unreal Engine 5.6 to 5.8. Requires a C++ project and Visual Studio (the same setup Unreal already needs to compile C++).

Find Class References

See what depends on a class before you touch it. Four categories, each with a count:

  • Blueprints that derive from the class, or implement it if it's an interface.

  • Files that include its header.

  • Forward declarations.

  • General code references, tagged by kind (inheritance, cast, plain reference).

Non-destructive. Run it as often as you like.

Rename Classes Effortlessly

Select a class, choose a new name, confirm. CPP Refactor Suite handles the rest:

  • Renames the header and CPP file.

  • Rewrites the class's own declarations and its generated.h include.

  • Rewrites includes in both bare and path-qualified form.

  • Sweeps references across your entire Source and Plugins tree, so Game Feature plugins are covered.

  • Writes the correct CoreRedirects key for your modified class.

  • Deletes the stale .generated.h and .gen.cpp for the old name.

  • Regenerates project files and starts an incremental rebuild in the build configuration you were working in, including DebugGame.

Move Classes Seamlessly

Move the header, the CPP, or both, to independent destinations anywhere inside your Source tree. CPP Refactor Suite handles the rest:

  • Every include of the moved header is updated project-wide.

  • Bare sibling includes inside the moved file are rewritten to module-relative paths, so a file that leaves its folder still compiles.

Delete Classes with Minimal Headache

Removes the header and CPP, clears the stale generated files and rebuilds. Delete does not rewrite references and does not write a redirect. Anything still referencing the class fails to compile, deliberately, so the rebuild log hands you an exact list of what depended on it.

Guardrails and Logging

Every operation rewrites source files with no undo, so the tool checks before it acts.

  • Invalid names are rejected before anything is written. No illegal characters, no leading digits, and no collisions with a class that already exists.

  • Move destinations are restricted to your Source tree.

  • Build.cs and Target.cs are never renamed, even when you rename the module header sitting next to them.

  • Two timestamped logs record the whole operation, one for the editor side and one for the cleanup and rebuild. Both open with the engine version and build configuration, so if anything looks off you can see exactly what was touched and in what order.

  • Every dialog reminds you to commit to source control first.

Support and Updates

This product was initially developed for our team to reduce refactor pain and remains in active development. Bug reports go to a public tracker, so you can see what's known, what's fixed, and what's next. The two logs carry matching session IDs, which is usually enough to diagnose a problem without any back-and-forth.

Questions, reports and feature requests are all welcome:

Discord: https://discord.gg/T3xaAfrxnw

Documentation: https://mantawrangler-studios.github.io/cpp-refactor-suite-docs/

Included formats