Unity Gripes

/Unity Gripes
Unity Gripes2018-10-29T08:32:12+00:00

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…