Download

64-bit Coordinate System

There are a lot of us that are working on space games and would love to have 64-bit coordinates. We’ve been waiting for UE5 to see if it would be implemented. I didn’t make the assumption that UE5 would have double precision coordinates, that’s why I’m asking and would like to find out from the UE5 devs. We are aware that the coordinate system is still FP32.

There are some indie game devs that were able to create their own version of 64-bit coordinates in their games, such as Galaxia or Satellite Command, so this is possible.

I would certainly love to have the option for sure.

2 Likes

Double precision is coming to 5.0 for worlds, called Large World Coordinates. Which allows for bigger worlds without the floating point issues associated with large fp values.

4 Likes

Thanks for the info. I really hope so. Was there any confirmation from the devs?

Yes Unreal Engine 5 Noteworthy Changes | Unreal Engine Documentation check here under the Gameplay Framework.

2 Likes

Wow. This is amazing! Thanks much, @TheKaosSpectrum! You’ve answered my question!

Upgrades

Large World Coordinates removes some of the limitations on world size related to the use of single-precision floating point coordinates for absolute positions.

1 Like

Hopefully the removal of the single-precision limitations means double precision.

^ This ^ also contained confirmation about doubles. But its been hidden. Dear Amanda @ Epic, please confirm that promises aren’t being rolled back, and its just like you say, that the materials are being updated, true??? … Either way, it’d definitely help to know this sooner than later, as some of us are heavily invested in the idea of planets / planetary terrain coming to UE5. If this is privileged info we all signed the NDA - promise. :stuck_out_tongue_winking_eye: @Amanda.Schade

The use of the word some is a little scary tho, no? :cold_face: An obvious limitation to be nervous about maybe, is that single-player games work out of the box, but multiplayer doesn’t, and you’re back to server vs client reconciliation hacks like Squad / PUBG had to do here

3 Likes

THANK YOU @UnrealEnterprise! I’ll keep up-to-date on any information you relay to us.

There are several commits in the ue5-main branch for it, just look for commit messages mentioning “LWC”. Those aren’t yet in the early access branch, it’s under active development.

1 Like

Thanks @witch-dev.

The official staff of Unreal Engine said in a tutorial video that UE4 displays wrong screen and position when it is far from the world origin, but UE5 supports 64 bit precision, you can set the position coordinates to a very large value. So I believe UE5 Will support 64 bit precision in the near future.

1 Like

Transforms and Vectors are still floats. Meaning it’s not yet using double precision for world positions and such. It’s misleading to say that UE5 supports double precision. It doesn’t yet.

The commits in github on the main branch are low level math functions and SIMD vectorization stuff. Given how low level these changes are, work on this feature seems relatively new(but I don’t know for sure). You can’t change your actors to use double precision transforms until your math functions can work in double precision. This feature is going to be a bear to implement throughout the engine I suspect.

I too am very curious what is meant by remove some of the limitations on world size.

I agree. I don’t assume double precision is supported yet. That’s why I had said:

“UE4 has no double data type but UE5 now has a double data type.”

“…but since UE5 now supports doubles I’d like to find out from the developers if this is planned for implementation in UE5…”

“I didn’t make the assumption that UE5 would have double precision coordinates, that’s why I’m asking and would like to find out from the UE5 devs. We are aware that the coordinate system is still FP32.”

Would int64 be a better option than float64 for the coordinate system?
How would that be handled since GPUs use 32-bit?

No no, floats allow decimals, int don’t, in 3D not everything is exact such as spheres, so you would need floats, and doubles for 64 bit. GPU’s don’t use 32 bit, they process those values and GPU’s also support 64 bit.

1 Like

Doubles are certainly being added, I would dare say very soon,
https://github.com/EpicGames/UnrealEngine/blob/ue5-main/Engine/Source/Runtime/Core/Public/Misc/LargeWorldCoordinates.h
I don’t see how multiplayer is affected by this, by some I think it probably shouldn’t really mean much hopefully, and probably a very small thing.

2 Likes

I hear you about decimals.

1 Like

That’s great news.

The only issue I’m having with multiplayer is world origin rebasing and custom gravity. I’m not sure how double precision would be an issue with multiplayer either.

1 Like

Yeah I was waiting for this tech, and glad its finally arriving, hopefully soon. :grinning_face_with_smiling_eyes:

2 Likes