Tools for UNITY developers

UnioSoft

[ Unity Best Practices ]

Use named empty game objects as scene folders.
Carefully organise your scenes to make it easy to find objects.

Put maintenance prefabs and folders (empty game objects) at 0 0 0.
If a transform is not specifically used to position an object, it should be at the origin. That way, there is less danger of running into problems with local and world space, and code is generally simpler.

Make the game runnable from every scene.
This drastically reduces testing time. To make all scenes runnable you need to do two things:
1. Provide a way to mock up any data that is required from previously loaded scenes if it is not available.
2. Spawn objects that must persist between scene loads with the Singleton pattern.

Don’t let spawned objects clutter your hierarchy when the game runs.
Set their parents to a scene object to make it easier to find stuff when the game is running. You could use a empty game object, or even a singleton with no behaviour to make it easier to access from code.

Separate interface from game logic.
This is essentially the MVC pattern.
1. Any interface component should only maintain data and do processing related to it’s own state.
2. Gameplay objects should know virtually nothing of the GUI.
3. Use bindings to link GUI to data.

If you like it you can find full version of article here.