Override virtual C++ function in blueprint?


is it possible to override a function that was declared in a C++ class in its blueprint child? I know of BlueprintImplementableEvent, but I need that function to have a return value and I guess events have none.

I want to create a C++ function library that provides BP nodes to quickly access certain variables of blueprints like e.g. my custom GameMode BP. As I can’t access blueprints directly from C++, I’d use a C++ parent class of my GameMode BP. This parent would have the getter method declared and its BP child then would implement the getter to return the variable.

If anybody has a better solution, I’d like to hear it: I just want e.g. a “Get Player Pawn” equivalent BP node that directly returns my custom player pawn that derived from it, without having to cast it first, which then would need to be in the exec flow and make the BP look way more complex then it is. So, just a “Get My Custom Player Pawn” node that is accessible in every blueprint, with no input and only one output (the reference to the pawn).


With the annouced Blueprint Function Library in 4.2, this may be solved. I’ll test it when it arrives.