I wanted to report a very common issue with Unreal Engine… I specificied UE 4.17 but this has been happening since forever.
I created a class deriving from Actor which has a UBoxComponent and two functions OnBoxOverlapBegin() and OnBoxOverlapEnd()
Before these functions could work, I had to dynamically bind them to the BoxComponent
_box->OnComponentBeginOverlap.AddDynamic(this, &AMyTriggerBox::OnBoxOverlapBegin);
I compiled, but as you can see I forgot to dynamically bind the second function: OnBoxOverlapEnd()
I dragged the C++ class into the scene and started the game.
The OnBoxOverlapEnd() was not triggering, as expected.
So I came back to my code and added the second bind
_box->OnComponentEndOverlap.AddDynamic(this, &AMyTriggerBox::OnBoxOverlapEnd);
I compiled, ran the game and… it was not working! Even if I had added the second bind!
I was getting crazy until I on this forum (through some researches) of someone having the same problem, and solved it by deleting the Actor from the scene and re-placing it.
How can an Engine like this fall into this banality?
Why has it to be like that?
Will it be ever solved?