Floating Origin

Description
This script translates all objects in the world to keep the camera near the origin in order to prevent spatial jittering due to limited floating-point precision. The script detects when the camera is further than 'threshold' units from the origin, at which point it moves everything so that the camera is back at the origin. There is also an option to disable physics beyond a certain point.

For background on spatial jitter and how/why floating origin works refer to the PhD by Chris Thorne.

Usage
Attach this script to the GameObject that has your main camera.

'threshold' determines the distance at which mass object translation occurs, this is not a lightweight operation so less frequent movement is better. 'physicsThreshold' determines the distance from the camera at which physics is disabled (set to zero to prevent this behaviour).

You might wish to customize this script to optimize it to your code. One ideas might be to NOT use the scene's root as the root space for your game objects other than (say) your skydome, but to use an otherwise empty GameObject as the "scene root". In this way, rather than having to find and bump the top-level GameObjects around, you can merely move this "scene root" and they will all go along for the ride.