Developer Notes

Class redirect needs to be specified for this to work.

Description

When changing the name of a module or creating a new module, updating the _API of a class to the new module will cause blueprints based on this class to lose reference

Steps to Reproduce
  1. Create new code project (named OriginalName)
  2. Create new class based on actor (MyActor)
  3. Create new blueprint based on MyActor class (MyActorBP)
  4. Save and close project
  5. In .uproject change module name (ModuleRename).
  6. Rename Project/Source/OriginalName folder to Project/Source/ModuleRename
  7. Rename .Target.cs files and Open
    • Rename instances of OriginalName to ModuleRename
  8. In source folder rename .Build.cs files and Open
    • Rename instances of OriginalName to ModuleRename
  9. Save all files
  10. Right click on .uproject and generate project files
  11. Open MyProject.h
    • Change ORIGINALNAME_API to MODULERENAME_API
  12. compile
  13. Open project and double click on MyActorBP

Result:
Blueprint no longer has reference to MyActor class and cannot be opened (trying to open causes the editor to crash)

Expected:
Updating module and API reference updates class/blueprint reference.

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

1
Login to Vote

Won't Fix
ComponentUE - Gameplay - Blueprint
Affects Versions4.12.4
CreatedJul 7, 2016
ResolvedJul 13, 2016
UpdatedJul 14, 2021