Everything Bulk Recompile adds: the panel and each of its options, result statuses and messages, what a run saves, and the Blueprint nodes for editor scripts.
At a glance#
| Item | Details |
|---|---|
| Plugin type | Editor only. Nothing ships in a packaged game. |
| Editor platforms | Windows, macOS, Linux |
| Engine versions | UE 5.5–5.8 |
| Dependencies | None |
| What it processes | User-defined enums, user-defined structs, and Blueprint assets of every kind: Actor, Widget, Animation, Editor Utility, interfaces, and function and macro libraries. Level Blueprints compile with their levels and are skipped. C++ is not compiled. |
| Blueprint nodes | Two, for Editor Utility Widgets and Editor Utility Blueprints. See Blueprint nodes. |
| Settings | All options are on the panel, and they reset to their defaults each time the panel opens. There are no Project Settings, preferences, or console commands. |
Where to find it#
- Tools → Bulk Recompile opens the Bulk Recompile tab. It is also listed under Tools → Miscellaneous.
- The Open Bulk Recompile Panel node opens it from an editor script.
There is no toolbar button, shortcut, or Content Browser action.
The panel#
Where to look#
Project content is always included.
| Option | Default | Effect |
|---|---|---|
| Include plugin content | Off | Adds the content of every enabled plugin, including Epic and Fab plugins. Saving into plugins installed with the engine can fail, or change files outside your project. |
| Include engine content (/Engine) | Off | Adds engine assets. Rarely useful; resaving engine assets is usually a mistake. |
Changing either option updates the counts on the buttons.
Options#
| Option | Default | Effect |
|---|---|---|
| Save assets when finished | On | Writes repaired assets to disk. Off keeps the fix only until the editor closes. |
| Force-save every asset, even unchanged ones | Off | Resaves every processed asset. Expect a large source-control change. |
| Dry run - report problems, change nothing | Off | Loads and inspects only: no compile, no save, and no confirmation. |
| Only recompile assets that are out of date | Off | Inspects everything and recompiles only assets that report as out of date. An asset that looks current in the editor but is stale on disk is not repaired unless you also force-save. |
| Skip structs that would crash the editor | On | Leaves structs that would likely crash the editor uncompiled and lists them as Skipped (unsafe). |
| Collect garbage after every asset (much slower) | Off | A stability fallback for a run that crashes. Several times slower. |
A hint under the options suggests Only recompile assets that are out of date with Force-save every asset when packaging still complains but everything reports up to date.
Recompile buttons#
| Button | Processes |
|---|---|
| Structs (N) | Every user-defined struct. Structs used by other structs compile first. |
| Enums (N) | Every user-defined enum. Repairs entry names and restores missing display names; custom display names are kept. |
| Blueprints (N) | Every Blueprint asset. Parents and dependencies compile first. |
| Recompile Everything (N assets) | Enums, then structs, then Blueprints: the order that clears packaging errors. |
| Refresh icon | Counts the assets again. |
The buttons are unavailable while a run is in progress. Counting waits for the editor to finish discovering assets, so opening the panel just after the editor starts can pause briefly.
Results#
| Control | Effect |
|---|---|
| Summary | Counts for the run, colored red for errors and amber for warnings or a cancelled run. |
| All / Problems only | Problems only shows Warning, Skipped (unsafe), Error, and Load failed rows, and hides OK and Skipped. After a run with errors, warnings, or load failures, the list switches to Problems only. |
| Copy | Copies the visible rows as tab-separated text with the columns Status, Type, Asset, Path, and Details. |
| Clear | Empties the list. |
| Columns | Status, Type (Struct, Enum, or Blueprint), Asset, and Details. The row tooltip shows the full path. |
| Double-click | Opens the asset. |
| Right-click | Open Asset, Show in Content Browser, Copy Asset Path, and Copy Result. |
The results area appears after the first run.
Result statuses#
| Status | Color | Meaning |
|---|---|---|
| OK | Green | Compiled or verified cleanly. |
| Warning | Amber | Compiled with warnings, needs recompiling in a dry run, or had stale references repaired that must be saved. |
| Error | Red | Compile errors. Open the asset and read its message. |
| Load failed | Red | The asset could not be loaded. |
| Skipped | Default | Already up to date, or a Level Blueprint. |
| Skipped (unsafe) | Amber | A struct left uncompiled because compiling it would likely crash the editor. The row names the Blueprints involved. |
Typical Details messages include Recompiled cleanly., Recompiled (was out of date)., Up to date., Not up to date - would be recompiled., Verified (nothing to fix)., and, for errors, the number of errors with the first message. A dry run never shows Skipped (unsafe), and enums usually read as up to date in a dry run because loading already repairs them.
Before, during, and after a run#
- A run does not start during Play In Editor or while a save is in progress; a message explains why.
- No matching assets were found in the selected content folders. appears when nothing matches.
- Except in a dry run, a confirmation lists how many assets will be loaded and recompiled and what will be saved. With source control connected, files are checked out without asking.
- A progress dialog shows each asset and has a Cancel button. Cancelling keeps the work already done.
- After a run from the panel, a notification shows the summary.
- A run that is not a dry run clears the editor's Undo history.
Blueprints whose saved data still refers to a struct that no longer resolves, the kind that makes a cook fail with "Unknown structure", are repaired and always saved, even with Only recompile assets that are out of date on. The summary reports how many.
What gets saved#
- Processed assets that end up changed, plus every processed asset when force-saving. Existing unsaved edits in those assets are saved with them.
- Every compiled struct.
- Saving happens as the run goes, so a cancelled run keeps what it saved.
A Structs-only run can leave Blueprints that use those structs changed but unsaved; follow it with a Blueprint pass, or use Recompile Everything.
Messages#
| When | Message |
|---|---|
| Play In Editor is running | Stop Play In Editor first - recompiling Blueprints while a PIE session is running is not safe. |
| A save is in progress | A package save is already in progress. Try again in a moment. |
| Summary | N processed in s s, with counts of ok, warnings, errors, and skipped. |
| Stale struct references | How many assets had stale struct references on disk, and that they must be saved for the fix to stick. |
| Unsafe structs | How many structs were left alone because compiling them would have crashed the editor. |
| Saving | How many packages were saved and how many failed, usually because the files are read-only: check them out and run again. |
| Cancelled | Cancelled before finishing - not every asset was processed. |
| Safety stop | The run stopped early to avoid a crash. Restart the editor and run Bulk Recompile before opening any Blueprints. |
The Output Log category is LogBulkRecompile.
Limits#
- It recompiles and resaves; it cannot fix invalid graphs or unsupported struct members.
- It does not run during Play In Editor.
- Memory use grows with the number of assets in scope.
- The Blueprint node Recompile All cannot include engine content, force-save, or turn off the unsafe-struct check, and reports no save-failure count.