Skip to main content
1 of 2

You can put every object (except the 2D Hud canvas and the directional light) as a child of a single master empty gameobject (let´s say with a name "WorldPlaceholder") and Translate it's transform by the position of the main player multiplied by -1. This should be done just one in a while to conserve CPU time (you can use a counter to do that ou place special trigger colliders each XX meters to performe such task). Something like that:

worldPlaceholder.transform.Translate (player.transform.position * -1);

I repeat: DO NOT DO THIS EVERY SINGLE FRAME! It will destroy your CPU.