I have downloaded the Unreal Enginr 5.0.0 yesterday and I see that if I want to create a new blueprint variable of type float, I will create a double precision (64 bits) float by default. If I create new variables in C++ everything is okay but I haven’t found any option to directly create a new 32 bits float in blueprints (there is a workaround in blueprint but it seems a bit messy). It is normal?
This is the result of the move to 64-bit support only, whereby 32-bit OSs are no longer supported. As a result of this, the engine is handling those Blueprint values as those supported by 64-bit, so in this case you’re getting 8-byte types by default.
This could be because the default pointer type memory allocation size in a 64-bit computer would be 8 bytes, and so it might just be easier for default variable types, like float, to use the same allocation of memory, and that could be a way for the Blueprint VM to handle memory allocation in a much simpler manner.
That said, I’d love to hear thoughts from others.
Mmm yeah probably you are right because I was also thinking that blueprints provide only some default variable types. For example types like unsigned int32 or int16 are not supported by them and it makes sense that it is the same for the floats (for which now they provide the 64 bits format as default). I am curious too to know if this is the main reason
Many thanks for your explanantion