64-bit Coordinate System

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:

3 Likes

popcorn

1 Like

Finally some talk about this!
I was waiting for this tech for a few years now so finally seeing this brings some hope.
What worries me is the fact that they removed any mentions of this - the youtube video is gone/private and the Large World Coordinates mention on the site is also gone ?
From what i see on GitHub - there are LWC (Large World Coordinates) related commits every couple of days so my hopes are up.

3 Likes

Mentions about Large World Coordinates were just removedā€¦

2 Likes

Thatā€™s ā€¦ very wrong.

First, read this: What Every Computer Scientist Should Know About Floating-Point Arithmetic

Second, realize that any integer can be a fixed-precision decimal number. You can say ā€œthe lowest 10 bits are fractional bitsā€ and now your integer has a resolution slightly better than 1/1000th of a whole unit. You will have to do some adjustment for magnitude when doing multiply/divide, but itā€™s pretty straightforward.

int64 for the ā€œhigher levelā€ coordinate would make sense for a few reasons, including supporting equal precision no matter how far from the ā€œoriginā€ you are. For some kinds of games/simulations, this is highly useful!
The main drawback with fixed precision values is that you need to put away a fair number of bits for the decimal part to support the smallest possible velocity at the highest possible framerate without quantization artifacts. float64 gives you that ā€œfor freeā€ as long as you stay ā€œclose enoughā€ to the origin, but, really, you have the same precision problem, just with 54 bits of mantissa (including the implicit leading 1) instead of 64 bits, so it actually hits at smaller radii.

2 Likes

Thanks for the update. Iā€™ll keep an eye on GitHub commit messages.

Keeping track of this thread for any news regarding Large World Coordinates within Unrealā€¦ canā€™t wait for that to be a reality!

3 Likes

Interesting

Update time:
Zak Middleton doing some heavy lifting:
https://github.com/EpicGames/UnrealEngine/commit/75107c146f316d15bc910cb6b7a27502e0d5a2db
If you ever see this - thank you for your work and everyone helping.

3 Likes

Just wanted to throw my hat in here and say I too have been lurking and waiting for something like this. Want to see this become reality for UE5.

2 Likes

page not found, what was it?

Itā€™s a private repository on GitHub, which means only certain people can access it. The content of the page was showing various source code changes adding support for 64-bit floats.

To gain access to the repository (youā€™ll need a GitHub account), follow this:

2 Likes

Thanks for the callout :slight_smile:
Itā€™s been fun to work on, and I hope it enables even more awesome creations in UE5

-Zak

7 Likes

I canā€™t really say as to when it will land, but weā€™re actively working on it and have made a lot of progress already in UE5. Many teams are collaborating (Physics, Rendering, Gameplay, Networking, etc) to get it to a good state.

14 Likes

Good to see it being worked on from all directions, hope the work goes well and fast because when this hits in combination with Nanite - there wonā€™t we any other engine that can do that amount of detail on such scale (built-in, not custom made)

2 Likes

Just when you think UE couldnā€™t possibly get any more awesome!

4 Likes

Its not just changing float to double. physics and rendering is a big challenge.
I wait for Dounreal 5 :blush:

I canā€™t thank you enough and your team for adding this, Iā€™ve been waiting for this feature in a quality engine such as yours to add this for over 2 years now. Keep up the amazing work :+1:

5 Likes