1. Module Registration (BlueprintStation.cpp)
• Registers a tab in Tools → Blueprint Station
• Creates the SBlueprintStationWidget UI when opened
2. UI Widget (SBlueprintStationWidget.cpp)
• Shows an asset picker (left panel) filtered to Blueprint assets
• Displays generated C++ code preview (right panel) with header/source tabs
• Provides buttons to:
• Copy header/source to clipboard
• Save files to disk (configurable output directory)
3. Blueprint Reader (BlueprintStationBPReader.cpp)
Analyzes a UBlueprint and extracts: | Element | Source | |---------|--------| | Variables | Blueprint->NewVariables | | Functions | Blueprint->FunctionGraphs | | Events | Blueprint->UbergraphPages (EventGraph) | | Components | Blueprint->SimpleConstructionScript | | Event Dispatchers | Multicast delegate properties | | Interfaces | Blueprint->ImplementedInterfaces |
4. Code Generator (BlueprintStationCodeGenerator.cpp)
Converts the snapshot into C++ code:
• Header (.h): UCLASS, UPROPERTY, UFUNCTION declarations, component pointers
• Source (.cpp): Constructor with CreateDefaultSubobject, function stubs with TODO comments from Blueprint node descriptions
Workflow
1. User selects a Blueprint in the asset picker
2. FBlueprintStationBPReader::ReadBlueprint() creates an FBPBlueprintSnapshot
3. FBlueprintStationCodeGenerator::Generate() produces header and source strings
4. User previews, copies, or saves the generated