Developer Notes

By Design.

When an object name is changed, it technically no longer exists under the old object name. Since, in this case, there is no redirector to fixup old references, it is expected that these references would not be able to find the new object.

SCS is a particularly challenging case, because the SCS Node will still exist, but its component template will be gone, which ultimately produces the observed behavior.

Description

Changing the name of an Actor Component code class in a project results in any existing Blueprints that derive from code classes that use that Actor Component to not display the Actor Component's properties in the Details panel. Any new Blueprints that are created after the Actor Component class' name is changed will continue to work fine. Renaming the Actor Component property in any code class that uses it and building the project will allow existing Blueprints to again show the properties for the Actor Component.

REGRESSION:
No. The same behavior occurred in 4.19.2

Steps to Reproduce
  1. Create a new Basic Code project.
  2. Add a new Actor code class to the project.
  3. Add a new Actor Component code class to the project.
  4. Add an EditAnywhere, BlueprintReadWrite UPROPERTY to the new Actor class that is a pointer to the Actor Component created in step 3.
  5. Create a default subobject for the new property in the Actor's constructor.
  6. Build the project in Visual Studio.
  7. Open the project in the Editor.
  8. Create a new Blueprint from the new Actor class created in step 2.
  9. Open the Blueprint.
  10. Select the Actor Component property from step 4.
    • Note that the Details panel contains properties for the Actor Component.
  11. Close the Editor.
  12. Rename the Actor Component code class in Visual Studio.
    • This can be done with Visual Assist by selecting the class name and pressing Shift+Alt+R
  13. Build the project in Visual Studio.
  14. Open the project in the Editor.
  15. Open the blueprint created in step 8.
  16. Select the Actor Component property from step 4.

RESULT:
Nothing appears for the component in the Details panel.

EXPECTED:
The properties for the Actor Component are still shown in the Details panel as they were prior to renaming the parent Actor Component class.

WORKAROUND:
Change the name of the Actor Component property from step 4 in Visual Studio (this can be done the same way the class name was changed previously) and build the project again.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-67850 in the post.

76
Login to Vote

Won't Fix
ComponentUE - Gameplay - Blueprint
Affects Versions4.19.24.224.20.3
CreatedDec 20, 2018
ResolvedAug 18, 2021
UpdatedAug 18, 2021