It seems that an ActorComponent
cannot call DestroyComponent()
in BeginPlay()
.
There is an assert that checks for a bHasBegunPlay
that is set to true when the Super::BeginPlay
is called, but if the DestroyComponent()
is called then that flag gets set to false. Welcome to an assert.
Basically the functionality I’m looking for is that by default, any Actor can slap my CustomActorComponent
on them, particularly by default for designers. But I want to be able to automatically detach the component if it doesn’t meet certain criteria or under specific conditions. For ease of use, my use case was that designer should not have to manually evaluate if this component can be attached in my scenario or inversely, manually removed.
However, if you cannot call DestroyComponent
in BeginPlay
or even anything prior to it being called, I don’t see an alternative There is no such thing as a
PostBeginPlay
or any hooks I can tap into, and I do not want to wait for it to tick.
Any suggestions?