Hi TTaM,
You are correct that you will receive an error message when trying to have a reference as a return value (as in the original post, for example). This is unfortunately a current limitation of Blueprints.
However, you are still able to pass parameters to a BlueprintCallable function as references, and those should function normally. There is one thing to keep in mind, however. If you write your function declaration like you normally would in C++, the parameter will appear on the node as an output pin instead of as an input pin. For example, the following code will give you a Return Float output pin:
UFUNCTION(BlueprintCallable, Category = TestCat)
void TestFunc(float& ReturnFloat);
However, if you add UPARAM(ref)
before the parameter, it will instead appear as an input pin:
UFUNCTION(BlueprintCallable, Category = TestCat)
void TestFunc(UPARAM(ref) float& ReturnFloat);
You can also make the parameters that are references const
if you wish.