All Resources
Case Study·Mar 17, 2026·2 min read

Auditing Blueprint Exposure Before a Major Refactor

How a team used Project Intelligence to map their C++-to-Blueprint surface before restructuring 12 modules — avoiding weeks of downstream breakage.

project intelligencecode review

A team was planning a major module restructure — splitting a monolithic gameplay module into 12 smaller, domain-specific modules. The C++ side was well understood. The risk was the Blueprint side: hundreds of Blueprints referenced reflected properties and functions from the module being split. Moving a UCLASS to a different module could silently break every Blueprint that referenced it.

Section

The risk

Unreal's Blueprint system creates a binding surface between C++ and visual scripting that is invisible in source code alone. A class can have dozens of reflected properties and functions used by Blueprints that live in content directories, not in the source tree. Restructuring modules without understanding this surface is how teams end up with a refactor that compiles cleanly but breaks half the game's Blueprint logic.

Section

Mapping the surface

Before writing a single line of refactoring code, the team ran Blueprint exposure analysis across the module being split.

Pre-refactor analysis
# Analyze Blueprint-facing surfaces in the target module
gamibase analyze-blueprint-exposure --module GameplayCore

# Cross-reference with class hierarchy
gamibase hierarchy --module GameplayCore --depth 3

The analysis surfaced 47 classes with Blueprint-exposed members, 183 reflected properties, and 94 reflected functions. More importantly, it identified which classes had the densest Blueprint binding surfaces — these were the classes that needed the most careful handling during the split.

Section

Planning the split

With the exposure map in hand, the team could plan the module split around the actual binding surface instead of guessing. Classes with heavy Blueprint exposure were grouped together to minimize cross-module reference changes. Classes with no Blueprint exposure could be moved freely. The refactor plan went from a guess-and-fix approach to an evidence-driven plan.

  • 12 classes with heavy Blueprint exposure grouped into 3 modules to preserve binding stability
  • 23 classes with no Blueprint exposure moved freely based on domain boundaries
  • 12 classes with light exposure flagged for manual review of specific reflected members
  • Module dependency graph validated before and after each phase of the split
Section

The outcome

The refactor was completed in two weeks with zero Blueprint-related regressions. The team estimated that without the exposure analysis, they would have spent an additional three to four weeks debugging Blueprint breakage discovered in QA. The structured evidence from Project Intelligence turned a high-risk refactor into a planned migration.

Tip

Run Blueprint exposure analysis before any module restructure that touches reflected C++ code. The five minutes it takes will save days of downstream debugging.

Blueprint exposure analysis is available in Gamibase Pro

Get started
Back to all resources