Live data from Hacker News

What Unity Is Getting Wrong

garry.tv

1–10 of 306 posts

Re: What Unity Is Getting Wrong

#2
What's the primary draw of Unity? Valve, Epic, and id learned a long time ago that the real money to be made is in engine licensing rather than actually making games (unless the goal of said game is to show off your engine).

What is it that Unity has that these companies have been so unable to replicate? Surely they don't want another player in the scene to compete with their engines.

Re: What Unity Is Getting Wrong

#3
Unity has gotten so painful I've sworn off ever taking another Unity project. Since mid last year I am 100% exclusive on Unreal Engine.

Unity wants you to think this instability is temporary. It is not. Unity has been unstable since at least 2014 when I first worked with it. Every year there is a new-new thing, "please stop using the old-new thing". Meanwhile those upgrades are always painful, not sometimes painful, but almost always.

Back in the Unity 4 to Unity 5 transition the studio I worked at had a contract to port a single game screen from NGUI to UGUI. NGUI being a plugin which used to the de-facto UI framework. UGUI being Unity's inhouse clone. No upgrade path, just a rewrite required.

You want to know the juicy fact? Unity has more engineers than Epic. This despite Epic developing both a cutting edge game engine + Fortnite. Unity makes noise about needing price increases and extra revenue sources, yet that high headcount is not showing us as quality for the gamedevs.

With Unity you are paying for the "build a bear" of game engines; while Unreal is selling a batteries-included solid foundation.

Re: What Unity Is Getting Wrong

#4
As I had mentioned in a previous thread that has come up recently with regards to UE5 and being open sourced, one of the greater sins of Unity is that it is mostly closed source.

In reading through the blogs of some of their developers, they seem to have a contrived idea that people "shouldn't have to know how it works", which, while it's a noble gesture, is bullshit because by prohibiting reading the implementation you can't know how it works anyway, whether or not you want to.

The domain model in Unity is fundamentally broken because it forces you to tie a lot of logic to a Component. People end up embedding all kinds of unrelated bits and pieces of functionality to the Camera because, well, where else are you going to specify it? This is a batshit crazy way to write software. Yet here we are.

Lastly, engines are leaky abstractions. Most software is a giant leaky abstraction as bugs and other things tend to creep up from beneath you, and knowing how something works down to the minute details is a huge advantage when it comes to not only debugging, but developing (architecture, style, optimization, whatever).

Re: What Unity Is Getting Wrong

#5
The are all primarily organizational, not engineering problems. Like many other tech companies, I feel that product managers at Unity are rewarded for launching new shiny features (that quickly fall apart outside the scope of beautiful demos), not maintaining and improving existing ones.

But despite that, it still stays a very good choice for many different scenarios, and definetly the best for mobile 2d games. The original design choices are solid. The most important components are in good enough shape. And it stays just in the right place between being too complex and too primitive. So, from a business perspective, when you want to build your match3 or hyper casual title, there's no much of a choice in terms of engine.

Re: What Unity Is Getting Wrong

#6
post #2

What's the primary draw of Unity? Valve, Epic, and id learned a long time ago that the real money to be made is in engine licensing rather than actually making games (unless the goal of said game is to show off your engine). What is it that Unity has that these companies have been so unable to replicate? Surely they don't want another player in the scene to compete with their engines.

Each of those studios started with a game. There are 10x many more small companies that rolled their own game engine around this time that are now dead, or bought for their engine.

The best tools grow first alongside a real product. Building a tool without a target product almost always misses the mark.

Re: What Unity Is Getting Wrong

#7
I have been using Unity since 2008 version 2 before the Unity iPhone even and I have to agree. It is a mess.

There has never been a time in Unity where systems aren't changing.

APIs should be simple facades to ugly systems underneath, abstracting away the pain, but Unity puts it right in your face. Their editor is pushed over code first solutions.

I thought when they went subscription that it would calm down, as before that it was a mad rush to justify you upgrading to the next version. It has only gotten worse. From the dual particle systems (which Shuriken wasn't even code accessible for a time), killing off simple legacy animation APIs, the UI years and years of delay and still not really as good as NGUI in terms of simplicity and mobile performance, the multiplayer systems have never been great they should have just kept RakNet/enet based reliable UDP and been done with it only Photon is worth it, the bulky editor first solutions that really should be code first and then editors that use that and on and on.

Compare that with Unreal that is wonderful in terms of networking/replication, solid platform that is C++ first, decent platform support, Unity has more but lots of issues.

Unity is what we develop most games on but Unreal starting to become more regular. Unity is caught in a pickle. Unreal is winning high end, Unity wants to be them, but they are leaving their smaller developers that do mobile/2D/simple 3D and making everything overly complex, while Godot is out there taking that space. I'd be worried if I was Unity. They still win on platforms available and they are making good efforts, but right now, and many times in Unity's history, there are so many systems now that it isn't simple for the low end, and high end you'd be amiss to not go with Unreal. This is coming from a Unity developer since 2008 Unity 2, before they even had Unity iPhone, back when it was just WebPlayer (which I miss the simplicity) and Desktop.

Unreal is doing high end much better than Unity [1] and Unity is losing what made it hit huge, mobile, web and desktop games and simplicity. At this point Unreal is more simple because the systems work and there aren't these one direction only changes or dual system problems. So much of the Unity API is in flux right now and you never know if they are going to drop them. UI was worked on for YEARS and now they are doing UIComponents and don't even try trusting a Unity networking solution.

Back in 2013 Unity was going to go C++ [2] and I wish they had, it was when Apple forced AOT on everyone and they backed off but Unity went into IL2CPP just a year or so before Mono was bought by Microsoft and had AOT baked in. They spent so much time not wanting to pay Mono's license but later it was all moot and not needed fully. Since that time Unity has been a constantly changing beast, and not for the better, painful wholesale updates with little or no benefit, only to see that system disappear soon and on to the next.

Unity needs to calm down, lock down API signatures/facades, focus on atomic operations, make simple APIs as abstractions and change the underlying systems when it evolves. They do parallel changes which is good, but the surface changes quite a bit. Unity has become one big leaky abstraction. I have used it almost everyday since 2008 and it would be fine if they made things more simple, but even the transition is painful. Like when they removed their legacy particle system (which had a decent API) and one day just pulled it from a new build, every old game just crashed on open, no warning. They are getting better at that but it should not be like that.

I am in the middle of a bunch of NGUI to UnityUI upgrades and that is already going to be replaced with UIComponents ... UI constructs (types, textures, fonts) really don't change that much and they spent years on that UI update. Why are users having to concern themselves with surface changes?

A major difference between Unity and Unreal is Unity doesn't build games on their engine, Unreal does. While that sometimes makes Unreal solutions more FPS/BR format and closer to their games, it makes for a solid engine.

Another difference is leadership, Unity was extremely simple and small before, once they got John Riccitiello it become a management/business focused company over engineering leaders in terms of power and direction.

Unreal has Tim Sweeney, and old school guy that understands how to make a game engine and has done it over and over. They learned alot from Unity, and are now doing it better than them once they turned towards simplicity over complexity.

When Unreal 4 swapped out UnrealScript for C++ it went into overdrive in terms of performance and clean. Unity is nice that it is C# as well, but the extra weight of constant changing systems that seem half done and not code first is tiresome.

I love Unity, I make a large part of my living from it, I hate to see them not understand that breaking changes constantly, gets a bit old and it essentially offloads technical debt to every user of the system. I am using Unreal more because of some of these issues.

People use a market engine to offload the engine team. That engine team should do whatever it takes to make transitions easy, and when difficult there needs to be immense benefits. Some of those are questionable in recent years. The desire for Unity to want to be Unreal is losing the mobile side and web is essentially not even a focus anymore which is more the whole market not Unity's fault. Unity started really as a better Flash, now they want to be Unreal. Right now Unreal is winning that and the Unreal 4 rewrite with C++ backed is really clean. Unity still more simple but with the new DOTS/Rendering Pipelines it is not.

Unity, let the engineers/product people lead over the managers, you are losing a good thing.

[1] https://www.youtube.com/watch?v=oDQl9gw_fRM

[2] https://blogs.unity3d.com/2010/07/02/unity-and-ios-4-0-updat...

Re: What Unity Is Getting Wrong

#8
post #2

What's the primary draw of Unity? Valve, Epic, and id learned a long time ago that the real money to be made is in engine licensing rather than actually making games (unless the goal of said game is to show off your engine). What is it that Unity has that these companies have been so unable to replicate? Surely they don't want another player in the scene to compete with their engines.

Unreal requires C++ and runs poorly on mobile devices and Nintendo Switch.

Unity uses C# and runs pretty well on weaker devices (dev and client side). It also crashes a lot less.

Freelancer Unreal Developers are approximately double the cost and 1/20th as plentiful as Unity developers.

And no, you can't develop a complete project in Blueprints:

https://blueprintsfromhell.tumblr.com/

Unity had no choice but to split into HDRP and URP, because the gulf between next-gen consoles (high-end) and mobile (low-end) is going to become enormous. High-end will be completely dominated by raytracing, replacing traditional lighting, for example.

However it looks like Unity have really mismanaged this division and have totally siloed the two teams working on each pipelines.

They also require their Asset Store creators to provide more long-term support than they do for their own official Demos:

https://forum.unity.com/threads/please-stop-with-your-madnes...

Re: What Unity Is Getting Wrong

#9
post #3

Unity has gotten so painful I've sworn off ever taking another Unity project. Since mid last year I am 100% exclusive on Unreal Engine. Unity wants you to think this instability is temporary. It is not. Unity has been unstable since at least 2014 when I first worked with it. Every year there is a new-new thing, "please stop using the old-new thing". Meanwhile those upgrades are always painful, not sometimes painful,…

> Unity has more engineers than Epic.

It's funny. I see it (anecdotally) all the time. More engineers doesn't mean a better product.

In fact at my old shop, things (product, quality) really started declining once we 'rapidly' scaled the team. Communication and consistency really suffered from lack of solid processes among other things.

Re: What Unity Is Getting Wrong

#10

As I had mentioned in a previous thread that has come up recently with regards to UE5 and being open sourced, one of the greater sins of Unity is that it is mostly closed source. In reading through the blogs of some of their developers, they seem to have a contrived idea that people "shouldn't have to know how it works", which, while it's a noble gesture, is bullshit because by prohibiting reading the implementation…

Unity source code is available to anyone that actually wants to have it.

It just isn't available in FOSS sense.

Post reply on HN