-
Notifications
You must be signed in to change notification settings - Fork 761
Description
It seems that BP functions don't really have return values per se - anything returned from a BP function is an output param.
In C++, however, you can have both a return value as well as zero or more output params, e.g.
UFUNCTION(BlueprintCallable, BlueprintImplementableEvent) FString MyMethod(int vIn, int& vOut);
Currently this doesn't seem to be fully supported - for example, I don't think multiple output params are supported, and if you have a void C++ method with a single output param, there's no way to support it from Python (you get an error saying the signature doesn't match).
Assuming this is the case, I'd like to implement support for multiple output params, as well as supporting UFUNCTIONS that may or may not have return values even if they have output params. So you'd be able to implement the above in Python like this:
def MyMethod(self, i:vIn) -> (str, int):
return 'Foo', 5
Before I do this work, though, I wanted to see if you have any objections/concerns, or if you know of someone already working on it. Thanks!
(P.S. Is opening tickets like this the best way to talk to you about questions like this or would you prefer email? This works for me, but I don't want to be abusing the issues list if you'd prefer a different format)