Hi, folks, I’ve got a base C++ class where I override a BeginPlay function. Then, I have a blueprint class and is a child class based on the C++ class. Inside the blueprint I override BeginPlay event and do some custom logic.
Problem is, despite whether call to a parent BeginPlay is pesent or not, C++ BeginPlay fires first, always. I added output logs to check how does the flow looks like, and it seems that the flow is as following:
- Call C++ parents class BeginPlay
- If inside parents C++ BeginPlay there is a call to a Super::BeginPlay, then jump to child class BeginPlay (sic! Super:: should call parents BeginPlay, not childrens!)
- Back to C++ parent class, finish BeginPlay funcion.
This issue is super annoying and counter intuitive. How on earth can Super::BeginPlay make a call to blueprint child class?
Does anyone know how to fix it and avoid parent class BeginPlay event call?