Removing Super::BeginPlay() makes actor stop ticking. Makes Sense?

Hi! I was dealing with a problem with some actors in C++.

The problem was they Stopped ticking and after a good time figuring out I discovered it was because I just removed Super::BeginPlay() from the BeginPlay function.

But removing that also made the event tick to stop ticking too!

does it makes sense or is just a bug?

It only stops the inherited super method from working.
If this includes important mechanisms the actor doesn’t work correctly anymore

that means super::Tick inherits from super:BeginPlay ?

No it means that some superclass potentially starts the tick and when you don’t call the super methods the tick is not started.

BeginPlay is often used to initialize a class. If it is bot called many things may not work.

When you are not sure you should always use super calls.

When you want to know it more precisely you should check the superclasses method implementation.

1 Like