Both the parent and child’s BeginPlay are called. How can I prevent this? Setting up what seems the be a parallel example using a BP for both the parent and child yields the desired result. Am I missing some macro or keyword to allow it to be overridden?
You can also just have the parent’s BeginPlay function call a virtual function called “PrintWhoIAm.” Define the “PrintWhoIAm” function in the parent to print “I am the parent,” and then override that function in the child class to print “I am the child.”
You will get a lot of errors by not calling the parent implementation of BeginPlay().
You’re probably better off creating your own overrideable function that is called from the parents’ BeginPlay, and overriding that in the child instead.