Got it.
This is how i got the values from the out parameters after calling ProcessEvent:
for (TFieldIterator<UProperty> PropIt(theFunction, EFieldIteratorFlags::ExcludeSuper); PropIt; ++PropIt)
{
UProperty* Property = *PropIt;
bool isOut = Property->HasAnyPropertyFlags(CPF_OutParm);
if (!isOut)
continue;
uint8* outValueAddr = Property->ContainerPtrToValuePtr<uint8>(Buffer);
float* floatp = (float*)outValueAddr;//hardcoded example for float
}
By the way, this is how the buffer was created:
uint8* Buffer = (uint8*)FMemory_Alloca(theFunction->ParmsSize);
And then i fill it with the parameters.