I was a long time Unreal user so I’m biased, however, if there is one thing I want to steal from, it’s their network stack. Theirs is light years ahead of everyone and it’s battle proven. I wish Unity really sits down and carefully study them before they start another unproven experimental project. I’m sure thiers is not without fault and there are rooms for improvements and I also think that ECS can grasp such opportunities.
Unity, when I looked at it, ~10years ago, I was so disappointed looking at how rudimentary their Editor was compared to UE back then, It still is but what surprises me is that it’s basically the same editor 10 years ago. UE4 is built from scratch in the past few years and it’s already light years ahead of Unity in many areas. I’m so disheartened that simple yet fundamental workflow has not been fixed at all. That’s why I think there is a lack of ownership(leadership).
The reason I came back was that I’m a big fan of C# and I was so excited when I watched Unite Berlin to learn about ECS and their plan for the “Best Networking System”. Rendering-wise, it’s almost there and I’m not worried about it. I thought the important missing piece(network stack) will finally be there I convinced my partner to try Unity for their next project. I feel deeply responsible and I have so much trouble right now surprise dealing with large size assets. I never expected it would be a problem. Nothing else will matter right now unless I know I can work with a large size project. I hated UE so much for their long compile time, but right now I hate Unity so much how long everything else takes so much time. It loose all of its advantages of having a faster compiler.
Unity Editor is getting slower and slower each day. This is something I never experience with Unreal. In UE, only the compile time gets longer and longer with increasing project size and it is normal. Click on “Play” on UE is almost instant. I just found out that click on “Play” on Unity will reload all assemblies even when they are not used and changed at all each time. I’m dumbfounded it has been working that way all this time. It takes about 15 seconds to load a simple scene and it takes about 9 seconds to load an Empty scene in my project. Yeah, there problems with Asset initialization during the reload because some 3rd party asset doing that but why is it reloading the whole assemblies each time? It shouldn’t do that to begin with. Does Unity know about this problem? Probably they do but it’s probably not an issue because it adds only fraction of a second since they haven’t done any large size project themselves, otherwise, it’s impossible that they left it that way.
Before Unity talks about “Performance by Default”, Unity really need to make editor “Performant by Default” first so that it saves countless hours of our life. Will they ever listen and do something about it? I don’t know. It’s so hard for them to admit the problems and even if they do, it sits there for years and years. I remember Unity saying “Why do you need another GUI? There is no problem with IMGUI, you can do everything and anything with it” It tooks years for them to admit that there is a need for a new gui and it took about 5 years to deliver it. (As a side note, there still is big problem with Inspector where it trys to redraw each time you scroll. Thanks to IMGUI again. There are custom asset that causing the big slow down affecting general usability to the Editor. I tooks me a while to figure out why it’s so slow but there is very little I can do about unless I rewrite someone else’s Asset. I hear that it will support UIElement but I think it’s 10 years too late and it will take years for everyone else to adopt it.)
Instead, they seem to promote stuff that not so critical such as dockable windows, consolidated preset menus, font type, button background in the keynotes. To me it’s laughable and not worthy of keynote but just oneliner in the patchnotes. Sorry, but I had to be that guy to point it out.
What they should start to promoting is “Remove the Painpoints” or “Making Unity Easy to Use” campaign. There are literally many simple and easy yet fundamental fixes lying around. Unity should gather them all in one basket(Trello?) and show it to users that they are removing one by one in realtime. It shows that Unity cares about the users and it will put me to ease if they do. If they had such a mentality, Unity would be been so much better now.
Anyway, I’ll stop my rant but I can’t help saying it cause I care.
Wish the very best.
Cheers!