11 ms·
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 thin
by Danieru 6y ago
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.
- SaltyBackendGuy 6y ago> 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.
- drawkbox 6y agoI 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 they turned towards simplicity over complexity. When Unreal 4 swapped out UnrealScript for C++ it went into overdrive in terms of performance and clean.
- troughway 6y agoI recently read that Tim Sweeney still writes code for UE, something absurd - 80% of the codebase is his?
- brobdingnagians 6y agoThat's awesome. Lead from the front. He does it becomes he loves it and knows what he is doing. I really admire those kinds of leaders.
- lgl 6y agoI don't know if this is true but I don't see why it would be absurd. The man is pretty much an absolute gaming and coding legend and from what I've read about him, he's genuinely interested about code and tech so if that's true I find that actually pretty awesome. Absurd would be if he had to just stick to management and bureaucracy just because he has a few billions on his bank account. You do you Tim!
- gentleman11 6y agoSource? 80% of such a massive codebase seems like a stretch. Ue3 alone had over 3 million lines
- Mirioron 6y agoI doubt that's true now, but it could've been something like that when UE4 released. The story went that he'd started work on it almost a decade before the release of the engine.
- DethNinja 6y agoI 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.
- kbenson 6y ago> More engineers doesn't mean a better product. But it often means higher overhead...
- drawkbox 6y ago... and alot more communication needs, testing needs and maintenance. It also pulls the company in many directions if there is no clear engineering/product lead at the top and it is all management/business/finance pushing feature based development which gets them into version 2 syndrome. [1] > The second-system effect (also known as second-system syndrome) is the tendency of small, elegant, and successful systems to be succeeded by over-engineered, bloated systems, due to inflated expectations and overconfidence. If the second-system effect doesn't describe Unity I don't know what does. Get back to simplicity Unity, let the engineers/product people have power to set this back on course. Stop catering to big developers, they make their own engine for this reason, consistency and simplicity of their own process. Dogfood Unity with an actual game, the problems will be clear today. If you aren't doing that, listen to people like Garry who are. [1] https://en.wikipedia.org/wiki/Second-system_effect https://en.wikipedia.org/wiki/Second-system_effect
- kbenson 6y ago> ... and alot more communication needs, testing needs and maintenance. Yeah, I was sort of including that in overhead, of a non monetary sort, in my own head. There are valid reasons why FAANG companies are so big on teams and team size and managers and reorgs, etc. I imagine one of them is it makes it much easier to switch expectations and focus and projects easily when stuff starts going off the rails (which you can always expect it too with so many people and departments with slightly, or very, divergent goals). > let the engineers/product people have power to set this back on course. Careful about wishing for engineers to have too much say. Some of the biggest (business) blunders have been because the engineers went and built something magnificent (or attempted to), but the market and sales people didn't know how to sell it (or it wasn't what the customers wanted). Sometimes that comes out okay for the rest of us in the end as it spurs innovations and other companies to (eventually) do the same, but it's bad for companies when it happens. Although you probably know that, and that's why you said engineers/product people. :)
- fxtentacle 6y agoIn 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?
- Danieru 6y agoI'm Tokyo based so bunch of local multi-billion dollar companies doing Unity. Mobile games for the most part. A good chunk of their developers or either outsourced to smaller local studios, or contractors themselves. Unreal contracting is even better. Most of the AAA studios switched from in-house engines to Unreal. Thus constant unmet demand for expertise and production on big console projects. Granted what counts as okay money here might not match what you are hoping for. With the up side that Tokyo is never going to run out of gamedev work.
- ortusdux 6y agoOne 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.
- haydenlee 6y agoWe are a tiny dev team using Unity on a non-gaming project and we basically have to dedicate 2-4 weeks of the year to updating Unity and all the mess that it entails. But if you don't update then you have to spend even more time the next year catching up. Then we end up being too scared to use their new features cause they aren't supported well or cause bugs. Its lose-lose.
- ReticentVole 6y agoJust get to the LTS release and stay there.
- dahfizz 6y agoThe LTS is only supported for two years. That doesn't really solve this problem.
- santoshalper 6y agoI think it is telling that in Unity world, 2 years is "Long Term". I wonder what cutting edge is? Building your entire game on the unstable weekly branch and crossing your fingers?
- voppe 6y agoI 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.
- mpartel 6y ago> 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 were that painful. Careful adherence to best practices (often discovered the hard way), banning certain code pitfalls with a linter, and many workarounds :( It took me months to make something semi-usable out of (a subset of) UNET, and I can clearly see why nobody at Unity wanted to maintain it. Still, something half-decent and mostly backwards-compatible could have been made of it with enough work, but again they chose to chase the new shiny :/
- frenchie14 6y agoIf you haven't already, take a look at Mirror - open source reimplementation of UNET with hundreds of bug fixes and improvements
- mpartel 6y agoMy main complaints about UNET could be summarized as "the order in which things happen is very chaotic" (in unbelievably many ways!). I've not checked to what degree Mirror has improved on this. Based on a superficial look, I'm worried it might have been more concerned with adding features than fixing and simplifying the fundamentals, but I don't really know.
- 6y ago
- wokwokwok 6y agoMmm... how’s that unreal engine version upgrade going for you? break your plugins? break your blueprints? can’t actually tell because they don't fail until you run them? :) Just saying; A lot of people say this kind of stuff, but unreal isn’t all roses either. (don’t believe me? read about it yourself https://forums.unrealengine.com/development-discussion/c-gameplay-programming/1756399-4-25-transition-guide https://forums.unrealengine.com/development-discussion/c-gam...)
- Danieru 6y agoGreat, nope, nope, and nope. I've been continously upgrading a couple months behind new releases on commercial projects since 2015. I've upgraded about 17 times so far. Unreal's update story is light years ahead of Unity's half-hearted "automated" mess. Worse bug I had was back in 2016 when an upgrade lost reset the scale on weighted bones to 0.
- Impossible 6y agoReally depends on your code base and project. Unreal upgrades can be painful if you're using APIs that can or are rewritten, and if you have made engine level changes. Unity often feels like rolling the dice with upgrades, basic things can break from version to version, but I've done many Unity upgrades with no or minimal issues, and seen extremely painful Unreal upgrades
- antiuniverse 6y agoIt’s true that you really, really want to avoid making changes to the engine. Even for AAA studio source licensees in prior UE generations this was widely agreed upon. The good news is, you really shouldn’t have to. In my mind, the big win from having the Unreal source code is understandability. But also, in contrast to Unity, if you should for some reason need to—say a critical bug that’s stopping your game from shipping at the last hour—you at least have the option.
- Impossible 6y ago
- fiblye 6y agoGod, and whenever something is deprecated, they don’t update the documentation with new info and sometimes they remove pages of older info that’s still usable. I also had a free edition installed on an old laptop and wanted to make a quick edit to an old game to send to someone. But nope, needed to update my license first to open the engine, but the version was old enough that the reactivation button somehow became invalid and rendered it unusable. Basically had to tell the person “I know exactly how to fix the issue with the game but Unity won’t let me.”
- gentleman11 6y agoby comparison, ue4's documentation is just almost absent. Even lumberyard has better docs than ue4
- nucleardog 6y agoYeah a friend of mine tried to get into UE4. When he came back asking questions that I would have expected to have been answered by the documentation, turns out... there just really isn't any. And the stuff that's there is various stages of incomplete or out of date. When he got the point where he was like "Okay, I have to take this year old tutorial that doesn't work anymore, review the documentation to see if it's out of date as well, then grep the change logs for all the things it references to see where and when breaking changes were made and then go off on another Google-journey and hopefully find some sort of reference on how I'm supposed to use this new thing..." he just gave up. It wasn't interesting or fun anymore. I can imagine UE4 is fine if you have an existing codebase and are just staying up to date with each new release. I was pretty flabbergasted that the documentation for a project of that size was so poor. I can't imagine how anyone would jump into a new project now.
- michaelbrave 6y agoIt's not just the instability but it seems/feels like every cool new feature they implement is then never updated again.
- tomc1985 6y agoI tried to write stuff in Unity as someone with a working knowledge of C# and who wrote code in it professionally in the past. No environment was as infuriating as Unity as seemingly everything I wanted to do was overridden by the Unity API, and their given alternatives both didn't work as advertised and were barely documented
- stevehawk 6y agoIt's not really necessary to say `This despite Epic developing both a cutting edge game engine + Fortnite.`. Fortnite as most people know it is Fortnite Battle Royale. FNBR was essentially a weekend game mod project to an already existing, but floundering, multiplayer game. Most people that play Fortnite today have probably never even played the original game mode.
- VHRanger 6y agoLeague of Legends, DOTA and so on all come from a Warcraft 3 mod as well.
- stevehawk 6y agoI guess I was just clarifying that the OP makes a comment implying "Epic made a game engine and blockbuster game all with smaller staff".. but the blockbuster game kind of.. takes away from the point because it already existed. the comment stands stronger simply on the fact that Epic made a better game engine with a smaller staff.
- pharke 6y agoI think the point is that software development is generally a continuous process. I highly doubt they've completely stopped all active development on Fortnight.
- redisman 6y agoDOTA was a WC3 mod but the rest are new games built from the ground up in that established genre.
- kbenson 6y ago> Most people that play Fortnite today have probably never even played the original game mode. That might be strictly true, but I think a lot more people got interested in and played Fortnite: Save the World than you think. My 10 year old son came in about 6 months ago asking to buy it, because some of his friends that were playing FNBR had gotten it and were talking about it (playing together? I assume it's multiplayer). Due to Fortnite's massive usage, "most people" not playing it still could result in an absolutely huge number of people that have, dwarfing all sort of other games that might be considered popular, so I wonder.
- hota_mazi 6y agoAre you working in C# with Unreal Engine? How is it? I am tempted to switch over as well but there is no way I'm going back to C++.
- deleted 6y ago[deleted]
- redisman 6y agoI used Unity professionally for 5 years, then I took a 15 month break from game development and went to work on a hobby project and the latest version has completely changed to the very core. Made me give up and I'm currently looking for a game engine that's basically what Unity was 3-4 years ago. Pretty simple with a robust multiplatform support. Godot looks the most promising (and open source) but the lack of console support is not ideal.
- georgeecollins 6y agoGodot is less featured, but it is so much simpler to work with.
- zubspace 6y agoFor indie game devs Godot [1] is huge. Great scene graph, scripting and debugging inside the editor, wonderful 2D tools (animation, physics and tilemaps are really great). It does not come with as many features as Unity or Unreal, but actually this is an advantage, because you don't have to learn a new way of doing things over the years. And you even have a dark theme out of the box! [2] [1] https://godotengine.org/ https://godotengine.org/ [2] https://www.zubspace.com/comic/unity-vs-godot https://www.zubspace.com/comic/unity-vs-godot
- pkalinowski 6y agoConsole support is not there by default due to licensing, but I heard that one of Godot developers runs a company which provides console builds for Godot.
- thrower123 6y agoI'm not sure why larger headcount would ever be indicative of higher quality. It's usually a negative signal. If you tell me a team of a dozen worked on a product, it is almost always better than if a gross of developers had their finger in it.