Live data from Hacker News

What Unity Is Getting Wrong

garry.tv

51–60 of 306 posts

Re: What Unity Is Getting Wrong

#52

Earlier quoted context omitted.

> 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.

I think it comes down to power in the company. 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 t…

I recently read that Tim Sweeney still writes code for UE, something absurd - 80% of the codebase is his?

Re: What Unity Is Getting Wrong

#53
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,…

In my opinion, studios using Unity were always the ones too cheap to hire external freelancers to help their development, but instead going with copy&paste from (outdated) internet tutorials. I mean with Unity's deprecation speed, a tutorial from 2018 is basically unusable now.

So effectively, my work was mostly UE, because that's where the customers were.

But just out of curiosity, can you give me a hint where you found OK-paid freelance Unity work?

Re: What Unity Is Getting Wrong

#54
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,…

One of my on-boarding tasks at my first tech job was to evaluate the merits of upgrading to a newer version of unity. I installed the new version, imported our code base, fixed a few bugs, and everything worked. We gained a few niceties, we could remove some of the hacks we had to program in to bypass unity weirdness, and we could start keeping our product up to date. I gave a presentation, we went over the pro/con list, and decided to move forward.

It was awful. Every other programmers' attempts to upgrade failed, and each in a unique way. We had to pause releases to untangle everything. I felt terrible for derailing production my first week on the job, but after a dozen or so people took me aside to tell me some variation of "it's not you, its Unity" I learned a valuable lesson. You said it perfectly: the instability is not temporary.

Re: What Unity Is Getting Wrong

#55
post #10

Earlier quoted context omitted.

Unity source code is available to anyone that actually wants to have it. It just isn't available in FOSS sense.

This is correct, they released the source code a couple years ago under a reference license. https://blogs.unity3d.com/2018/03/26/releasing-the-unity-c-s... https://github.com/Unity-Technologies/UnityCsReference

This is only the C# source code, the internals of Unity is a closed C++ codebase which you can pay $1800/yr for access to

Re: What Unity Is Getting Wrong

#56
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,…

I agree with the first statement. I'd go as far as saying that Unity is the JavaScript of game development.

Sure, when you start out you get out results FAST, but then you run into limitations, weird behaviours and quirks that have to be worked around, and soon everything becomes a mess.

Mind you, I'm a hobbyist in this field so maybe you could chalk it out to inexperience, but I shiver to think to what professional developers have to deal with if the small prototypes I cranked out got so convoluted.

I'm trying out UE4 lately and although it can be daunting at times (and with horrible documentation), it feels much more comfortable to use in the long term.

Re: What Unity Is Getting Wrong

#57

DOTS is in fact a major step up. It can't be done in engine code the same way you can't handle say oop to functional programming conversion in engine code.

what are you talking about?

DOTS is even more of a dumpster fire than the URP/HDRP.

They have an unstable base layer that is constantly changing (eg. SystemBase and for each is literally what, two months old and the old stuff is depreciated now?), a version control system for packages that doesn’t work at all (see all the threads on why don’t my packages work?).

...and guess what? They’re using that as a base to build the physics, audio, networking, animation and visual scripting on.

No wonder its taking forever... those poor other teams are royally screwed, because every time they make any progress, the DOTS guys go and re do everything from scratch.

codegen? nah. we’re giving up on that too now, it was too hard.

...I mean, the demos are great and all, but DOTS is a mess.

Its not a “step up”, its a vague pie in the sky idea, and a bunch of people making a big old mess.

Its not even part of the 2020 roadmap.

Re: What Unity Is Getting Wrong

#58

Earlier quoted context omitted.

> 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.

I think it comes down to power in the company. 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 t…

I think UE and Unity has complete different markets. Unity is focused on small mobile game developers, those small shops don’t have expertise to work with UE C++ source code and most of them are new grads themselves.

I’m not sure what is the overall strategy of Unity but I don’t believe they care much about the PC/Console space and frankly at this point I don’t believe they will ever manage to capture it from UE.

Re: What Unity Is Getting Wrong

#59
post #45

DOTS is in fact a major step up. It can't be done in engine code the same way you can't handle say oop to functional programming conversion in engine code.

I'm not so sure that would have been impossible. Nothing fundamental seems to prevent the compiler+runtime from: - laying out instances of the same Component next to each other in memory - Burst.Compiling their Update() functions - adding backwards compatible APIs to do parallel loops etc over multiple components Given the culture of constant rewrites Unity has displayed (and I'm sure they have lots of techdebt to ma…

>Nothing fundamental seems to prevent the compiler+runtime from: - laying out instances of the same Component next to each other in memory - Burst.Compiling their Update() functions - adding backwards compatible APIs to do parallel loops etc over multiple components

And if those Update functions reference other objects and do something with them? If the engine automatically realigns the order in which Update is called on objects then you can't do something like that, you'd run into weird behavior. Or do I somehow misunderstand?

From what I understand, the whole point of DOTS is to get people to write code that uncouples the data from what operates on the data. Once they have that they can shuffle these calls around.

Re: What Unity Is Getting Wrong

#60
As a Unity user emphatically sharing these frustrations, I'd be really curious to hear from long-time Unreal devs whether the grass really is greener on the other side.

How's Unreal's

- API stability?

- Editor stability? (I have some old experiences of it being quite crashy too, and you know, C++ ...)

- Backwards compatibility and upgradeability?

Post reply on HN