Double Precision Utilities

Double Precision Utilities is a blueprint function library that allows you to use double precision variables with blueprints. The plugin uses FStrings to pass numeric values to C++ with double precision, and provides math functions such as adding, subtracting, sin, cos, etc.

The plugin also provides utilities for double precision vectors, and provides math functions such as cross products, vector addition, etc.

The plugin comes with a variety of auto cast conversions to help you quickly convert the blueprint doubles to the core Unreal variables you need such as float, FString, FVector, etc.

Marketplace URL: https://www.unrealengine.com/marketp…sion-utilities

Features:

· Blueprint library functions for double precision variables and vectors

· 55 math functions

· 5 make functions

· 11 auto conversion functions to convert doubles to other unreal variable types

· Source code included

Well this is really cool. Going to pick it up :slight_smile:

This plugin works with multiplayer ?

Yes, replication will work. It is turned off by default but you can turn it on when you use these variable types in a blueprint.

I must ask ,whether it solves the problems with positioning and accuracy on large maps ,for example : animation jitter ,strange objects physics,tracing, camera location, particles…almost everyting on large sized world maps…or Can I do it myself with this ?

No, this plugin wont affect any of those issues, because Unreal (for good reason) uses floats for actor locations. So at some point you would need to convert the double precision variables to a floating point precision before setting the actor location. To solve large world issues you need to use level streaming or origin shifting.

This plugin would help if you needed to do calculations with double precision accuracy before eventually converting it to a float or FVector, or if you only cared about double precision if say you wanted to display a double sized variables to the user.

For example, I use code similar to this plugin for one of my other plugins, the Astronomy plugin. Some Astronomy calculations require double precision, even if eventually they are converted to floats. For example, I need to track planet distances in double precision before eventually converting the planet location to a float for display in unreal. Also, a user may be interested in the double precision value for a planet location, even if unreal only uses the floating point precision for display.

The problem with origin shifting that the engine need to recalculate every actor position in the space in each frame. If you have too many actors that’s not a good solution.
Better if you scale down everything and change the physics parameters for that.

What do you mean? Downscaling all assets to simulate a larger world on a small map? Just plain impossible, even all the characters scaled to the Epic skeleton would break and need a lot of work.

Hello
I want to get your add-on, but I require it for iOS and Android mobile devices.

Do you have plans to live a mobile version?

I do not have plans to support other platforms at this time.

Hi there

does these double precision utlities allow you to go over the current float limit? (which is something like 15 quintillion i think)

The problem with my own game was that there was very large numbers, and floats only allow the numbers to go up to a certain amount. Could i used the double variables to get passed this issue in blueprints?

A double variable can represent a number that high, but like any floating variable type as you go higher you lose precision. The wikipedia article on double variables can explain why that is: Double-precision floating-point format - Wikipedia

Support for Linux? This would be quite useful when developing on Linux and interfacing with real world objects. I can activate the plugin but the functions are not exposed in blueprints.