I'm using Unity 5.5.1f1 and I'm running into a really bad bug that prevents you from making prefabs out of MaterialUI components.
When MaterialUI components are turned into prefabs some sort of instability/bug occurs that prevents you from editing any values on the prefab instance in the scene. Trying to enable/disable the prefab or any of its children in the inspector has no effect. The active state of any game object will always remain whatever state it was when the prefab was created. Editing any inspector values will be of no use as they will automatically reset back to their prefab values immediately.
This also leads to instability in the editor where it prevents you from renaming any instance in the scene, including instances that are not prefabs. Clicking an object to rename it or using the right-click context menu Rename command do nothing. This seems like a pretty bad instability that is affecting the unity Editor itself in unexpected ways.
To reproduce the bug.
- Start a new Unity project.
- Import MaterialUI
- In a new scene, create a UI/Canvas
- On the newly created Canvas add MaterialUI/MaterialUIScaler script
- On the Canvas add MateriulUI/VectorImage
- Turn the Canvas game object into a prefab.
Once you have followed these steps try interacting with the prefab in the inspector. You will not be able to change any values. Also try renaming any game object in the scene - it will not work.
I've narrowed the bug down to some sort of interaction between VectorImage, MaterialUIScaler, and turning it into a prefab. Those are the minimum components needed to cause this issue. If you do not have a VectorImage or do not have a MaterialUIScaler on the Canvas, you do not see this issue when creating a prefab.
This is pretty lame as it prevents the ability to create MaterialUI prefabs; that's a pretty big deal. Now I have to maintain separate copies of my MaterialUI designs in each scene that contains the same UI.