In Unity, it can sometimes be a pain in the rear end to get your scene looking as perfect as you want it to. Not only does meticulously placing objects take ages, it can also be less accurate than if you have used features built into Unity to help you.
In order to assist with placing objects, Unity has a set of snapping tools. If you hold Ctrl/Cmd while moving, rotating or scaling an object, then that translation, rotation or scaling will ‘snap’ to multiples of predefined values. For example, by default, translations will only move in multiples of 1 in the X, Y or Z directions, and rotations will be in multiples of 15 for the three axes. The increments that Unity will snap to can be changed in Edit -> Snap Settings.
You can also snap vertices. If you have an object selected, hold V and then hover over any vertex of that object’s mesh or sprite corner and a little square appears over the nearest vertex/sprite corner to your mouse. Then, by clicking and dragging the object, the selected vertex will then snap itself to any nearby vertices of other game objects. Both of these tools, when used in conjunction, can be extremely helpful for placing modular geometry and tiled sprites.
Another useful feature built into Unity is the power to reset components to their default values. This can be used for any given component (maybe a designer messed up some script’s values and you need to purge their sins from the face of the Earth), but when it comes to scene construction it serves a very helpful purpose – resetting the Transform component moves the object to local-space location (0, 0, 0), resets the rotation to (0, 0, 0) and changes the scale to (1, 1, 1). It’s also worth noting you can edit each individually by using ‘Reset Position’, ‘Reset Rotation’ and ‘Rotate Scale’ respectively. Just click on the small drop-down arrow in the corner of any component to bring down its drop-down menu.
Easily positioning a camera
Sometimes it can be a real drag (hehe, drag) to get your camera into the correct position. To make it much easier, if you can position the Scene View camera to exactly where you want your in-game camera to look, you can then select the in-game camera in the Hierarchy view and press Ctrl/Cmd + Shift + F to move the in-game camera to the position the Scene View camera is in, looking in the same direction as it. Instead of remembering the shortcut, you can also select the camera and select GameObject -> Align With View from the menu bar. While we’re on that subject, you can also ‘Align View to Selected’ to move the Scene View camera to look at the selected object’s forward position, or Move to View to move the selected object to the Scene View camera without rotating it. All these options also work with any other object; they’re just especially useful for moving the camera because it’s so fidgety to work with sometimes.
Full-screening a window
This is something I didn’t know was possible until very recently. The Unity Editor has so many windows open that it can make each one quite small and hard to work with. With my setup I have the Scene View in the middle, landlocked by all the other windows, but sometimes it’d be very useful to have a larger area to move objects around in. Fortunately, you can press Shift + Spacebar while focused on a window to full-screen it.
This should make it much easier to see what you’re doing while moving objects around your scene. There are treasure troves more tips for working with the Unity Editor, but these are the ones I think are most important for positioning game objects in the scene.