I’m looking to make a blueprints function callable from C++.
Until now I’ve been using events to override BlueprintImplementableEvent declarations, and the occasional CallFunctionByNameWithArguments.
However, this method must be a function rather than an event, as it performs instance-specific operations (for example, adding spline points). Does such a technique exist? I can only find discussions about overloading with events.
Thanks in advance,
PS: I have already tried to implement this method with events, but it caused unwanted behaviour. My BP function implementation works as expected currently, just need to access it in C++.
Events are technically functions they just differently presented and by default UE4 use event. Function need to either return something or be const to make function apper in override menu, everything is determent by this function:
bool UEdGraphSchema_K2::FunctionCanBePlacedAsEvent(const UFunction* InFunction)
// First check we are override-able, non-static and non-const
if (!InFunction || !CanKismetOverrideFunction(InFunction) || InFunction->HasAnyFunctionFlags(FUNC_Static|FUNC_Const))
// Then look to see if we have any output, return, or reference params
As far as i know there no way to force function to be function overriable instead of event, but again this is only cosmetic difference for blueprint, both event and function override functions the same
Perfect! Thanks for your fantastic contributions as always