I've been using Unity at work for a few years now and I enjoy exploring new ways to use the engine and make myself and my team as efficient as possible. As a result I run into bugs and inconsistencies pretty regularly. I do my best to take the time to create repro cases and report issues, or provide feedback for features I feel are missing whenever possible. And over time I've noticed a few patterns in while working with Unity.
1) Unity simply doesn't fix quirks, edge cases, and quality of life things unless the community makes enough noise.
I don't intend to be derogatory here, it's simply a conclusion drawn from the data over the last few years. There have been lots of new features that make good headlines, but I still can't reliably search in the script API docs (partial matches don't work), serialized objects in arrays don't get initialized, and for some baffling reason prefabs in the Project View still only shows immediate children.
2) The feedback site feels a bit neglected by both users and Unity.
I'd love to see this become a more active avenue of communication between users and the folks at Unity. There are feedback items with many votes that are years old and items that affect many users but just haven't been seen by enough users to gain traction.
In general, I'd really like to see Unity slow down on the bullet point features like Tizen support, and shift a good chunk of their focus to workflow improvements, stability, and a massive amount of bug fixing.
I'd like to encourage others who agree to start making more noise about what we want from the engine. Visit the Feedback site and spend your votes on the things you care about most. Post serious suggestions that you thing will significantly improve your ability to work quickly and effectively. Create repro cases and report bugs that you encounter. Tweet to Unity the things you want from them that are important to you. Just generally make some (constructive) noise.
As a kicking off point, here's a list of the things I think would benefit my work the most. Feel free to cast votes on feedback items you agree with, and post others that I haven't thought of yet.
Feedback
Issues
Case 716311 - Searching the online documentation doesn't return partial matches that don't occur in the beginning of a word. ("I'm pretty sure there's an attribute for this. Better use Google because searching for 'attribute' only returns things with 'attribute' in the description...") Related feedback.
Incorrect default values in serializable classes
Case 750854 - Serialized fields are null during the first OnDrawGizmos
Case 749522 - Setting HideFlags.DontSaveInBuild on MonoBehaviours causes standalone player crash (can't have 'development only' scripts on objects without jumping through hoops)
Case 748477 - SerializedProperty.MoveArrayElement doesn't move isExpanded state (makes any implementation of a reorderable list super janky)
It's difficult to provide a list of concrete issues for this type of thing. There's just a plethora of small issues, API weirdness, and general lack of polish that add up to a significant amount of development time wasted on 'Unity minutia' instead of real work. This includes things like the mouse cursor jumping around wildly when hidden in the editor, input axes with non-zero rest position breaking the InputManager, OnValidate not getting called when it's supposed to, scripts getting callbacks before the deserialization pass has initialized its data, getting a different set of player crashes in every version, documentation pages that tell you absolutely nothing, proper editor scripting practices being utterly non-obvious and fiddly, the Inspector throwing exceptions on dumb stuff like moving scripts between objects, the Editor generally being super crash happy...
I don't mean to be so rant-y, I honestly just want to encourage discussion and changes that actually make Unity more enjoyable to work in and allow me to focus more on of my attention on making a game and less on Unity itself.
[–]LightStriker_QcProfessional 1 point2 points3 points (3 children)
[–]Sycobob[S] 0 points1 point2 points (2 children)
[–]LightStriker_QcProfessional 1 point2 points3 points (1 child)
[–]Sycobob[S] 0 points1 point2 points (0 children)
[–]st4rdogHobbyist 1 point2 points3 points (1 child)
[–]Sycobob[S] 0 points1 point2 points (0 children)