This page is where I am going to write down all my Unity gripes.
- No native way to take screenshots of the game window inside the editor. Basic feature fail.
- Objects rendered with the Build & Run executable can look different than how it looks inside the Unity editor for no obvious reason.
- Note: Unity seems to have fixed this one!
- When duplicating game objects, the transform for the new game object (position, scale, rotation) can shift slightly. For example “1.0” becomes “0.999994”, etc. This is very annoying.
- Unity crashes way too often when debugging a script through Visual Studio.
- Note: I have not experienced a crash for a while now.
- When copying and pasting objects in the editor hierarchy, the pasted object becomes the *sibling* of the currently selected object, instead of a *child* of it. This is insanely stupid and ruins the transform of the pasted object when working with UI and layout elements.
- Note: A tedious workaround is to create a temporary empty object, select it, and paste.
- UI layout elements will sometimes not recalculate the size of elements while working in the editor.
- Note: A workaround is to click on the viewport size dropdown in the game window. This magically forces the layout elements to recalculate.
- Transparent objects cannot receive shadows. This is a dumb artificial limitation – they make the shadow map unavailable for transparent lighting passes.
- Note: This is a serious fail. This means that things like hair will remain fully lit when you have a character walk into the shadow of a building. WTF?
- The shadow casting pass cannot be disabled using material.SetShaderPassEnabled. Seriously?
- Note: It turns out that material.SetShaderPassEnabled is just horribly broken, period. You cannot disable any shader passes with this function – you are forced to create entirely separate shaders as a workaround. Lame, lame, lame…