UFunction incorrect param size?

Specifically in this case it’s because the function parameters are stored as UStruct, so are subject the padding and alignment as any other data members would be (float needs to be 4-byte aligned, hence the padding).

If you’re dealing with reflected data, always make sure and get/set it via UProperties rather than trying to guess the layout yourself. There’s loads of examples in the Python plugin of using reflection to call a UFunction correctly.