When a native component that wants initialisation is added to a Blueprint actor in the Blueprint editor, the initialisation state of this component will not be correctly preserved by RerunConstructionScripts. Components added natively via CreateDefaultSubobject do not encounter this issue and will still have bHasBeenInitialized set to true after the construction scripts are rerun.

This issue has been encountered both in editor and in Play as Client with single process disabled.

Steps to Reproduce

As per a comment on the case:

  • Create a component that has bTickInEditor=1 and bWantsInitializeComponent=1.
  • Open a blueprint actor that has the component added in BP
  • InitializeComponents will be hit here, correctly
  • Break at the end of RerunConstructionScripts
  • Click on the viewport tab of the blueprint actor
  • PostSCSComponents should contain all components, and the component in question should have bHasBeenInitialized set to false

Have Comments or More Details?

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

Login to Vote

ComponentUE - Gameplay - Blueprint
Affects Versions5.3.2
Target Fix5.5
CreatedFeb 14, 2024
UpdatedFeb 27, 2024
View Jira Issue