We are preparing our game for shipping on Steam but after transferring enums made in blueprints, to C++, we started to experience a persistent packaging issue in our Unreal Engine 5.4 project related to deprecated or removed enum entries. Despite having updated all relevant UENUM definitions and thoroughly auditing the affected structures in our codebase, the cooking process continues to fail with references to non-existent enum values such as NewEnumerator3, NewEnumerator4, etc.
To resolve this, we have already performed the following:
- Manually opened and recompiled every Blueprint that used the affected enums.
- Replaced all deprecated enum references with valid values.
- Run ResavePackages, FixUpRedirectors, and full-content validation commandlets.
- Verified that the deprecated values no longer appear in our .ini files, DataTables, or serialized defaults.
- Deleted and regenerated Derived Data Cache, Intermediate, and Saved directories.
Despite these efforts, packaging still attempts to pull deprecated or ghost enum values that are no longer part of the project’s source. These phantom references do not appear in Blueprint editors or config files but cause the cook process to fail.
We suspect that Unreal may be caching or restoring enum references through an undocumented serialization pathway or that certain Blueprint-generated classes retain stale enum data even after recompilation and resave.
We would appreciate your guidance on the following:
- Is there a known way to purge or forcibly reset Unreal’s internal cache of removed enum entries?
- Can Unreal’s cook process be configured to ignore or gracefully fallback when encountering now-invalid enum values?
- Is there any undocumented location (beyond asset defaults and exposed pins) where such enum references might persist?
- Is there a way to get a list of the faulty blueprints?