I’m making a first person shooter and I need 0.001 accuracy.
Everything in Unity uses floats instead of doubles?
If I limit the level area to a L: 16384 x W: 16384 x H: 16384 centered cube, will there be any problems?
The maximum distance the player can move is 8192 from center and the smallest vertex distance in the level is 0.125.
This is an interesting questions and possibly deeper than you realise.
Unity supports three backends (Mono, .Net and IL2CPP), depending on the target platform. Were I looking for 8 digits of accuracy, I wouldn’t be happy assuming I could get that on all platforms using float, which typically has about 7 digits but can sometimes be 9 – depending…
Although old, here’s a reply from a Unity Developer who says: “32-bit floats generally only have a enough precision to represent 7 decimal digits. Are you sure your expectations here are reasonable? As far as I know, we do not guarentee floating point determinism to this degree across platforms.”
So, there you are. Unity says no and especially not across platforms…