Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Unity is getting older now and has grown in many ways but how much of Unity is becoming bloatware?

Discussion in 'General Discussion' started by Arowx, Jun 27, 2021.

  1. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    Bloatware :
    1. Software whose usefulness is reduced because of the excessive disk space and memory it requires.
    2. Unwanted software included on a new computer or mobile device by the manufacturer.
    If you could put Unity on a diet and exercise program to reduce the bloat and boost the speed of Unity where would you start?
     
  2. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,083
    I'd argue that most of Unity's performance issues aren't related to runtime performance bloat (actually, Unity games and the editor itself is wildly perfomant compared to a lot of 3D kitchen sink engines) and more related to poor implementation of various middleware. In fact, you could probably get a lot more done by fixing interface responsiveness, like how the package manager can be rendered unusable for half a minute sometimes as it attempts to update its sources.
     
    Moonjump, Zarconis, stain2319 and 7 others like this.
  3. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    This is one of the issues why would any program running on a GHz computer take more than a millisecond to do anything?

    How many layers do you need to add to the core algorithm being run to make something slow on the supercomputers we call desktop PCs?

    And how much of that bloat ware has built up in Unity?
     
  4. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,083
    Quite a few, honestly. You can throw a hell of a lot at modern CPUs, to the point where you could probably render a fair few games from the start of the HD console era in software renderers if you really pushed hard.

    Honestly?

    Not much.

    From the years 2015-2018 (around September of that year) I was actually doing all my Unity dev work on two computers:
    1. A late 2012 Mac Mini with 8gb RAM, Intel HD Graphics 4000, and a 2.5GHz dual-core Intel Core i5
    2. An early 2015 Macbook Air with 8gb RAM, Intel HD Graphics 6000, and a 1.6GHz dual-core Intel Core i5
    Unity's fundamental limitations really aren't related to bloat or how much it tries to do all at once, but are really more based around things like poor project management choices and out of date middleware (cough enlighten cough cough). Every time I ran into a limitation on these devices, it was either related to the absolutely dire state of integrated GPU fill rates or trying to bake a lightmap on systems designed for little more than light Photoshop work and YouTube.
     
    IllTemperedTunas likes this.
  5. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,615
    This is what the Package Manager is for, which I believe you've complained about in the past. ;) Every project is a bit different, so the idea is that we can remove stuff we don't need, and Unity can provide specialist stuff for subsets of their users without everyone paying the cost in their own projects.
     
    Zarconis likes this.
  6. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,631
    I don't know about bloatware, but if we ignore the "not good enough" features, it has certainly become abandonware.
     
    Moonjump, chingwa and Marc-Saubion like this.
  7. pekdata

    pekdata

    Joined:
    Mar 16, 2019
    Posts:
    114
    Unity is expected to do quite a lot. Lots of platforms, lots of features and expected to be on par with Unreal Engine 5 in at least some aspects. I'm not sure if that's a realistic expectation.
     
  8. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Nah this is not one of Arowx's finer posts cos Unity is constantly reducing bloat. It's actually a bit like a ship with holes, you have to keep pumping out water or it'll sink, and for a codebase as vast on the seas of perpetual change, Unity has to pump hard, all the time.

    They look for the chance to dump old code pretty much all the time because it's less work for them. As others have said, things like package manager really help them do that. Coming up are Tiny and DOTS, and we'll be looking at executables that aren't that much bigger than a lazy C++ build.
     
  9. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,083
    It's at least a good post for establishing the context of Unity's performance in the major engine space, especially as an editor. Personally, one of Unity's greatest strengths at the moment is that its baseline performance is pretty good even on lower spec hardware that UE4 and lumberyard/cryengine would just burst into flames upon launch.
     
    Zarconis likes this.
  10. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,964
    I'd start by making a package manager and moving as much of the uncoupled code as I could out of the core. ;)

    Edit: I just saw the release notes for the latest beta and that one of the improvements is IL2CPP generating up to 50% less code resulting in both faster and smaller builds.

    https://blog.unity.com/technology/unity-20212-beta-is-available-for-feedback
    https://forum.unity.com/threads/il2cpp-build-time-improvements-seeking-feedback.1064135/
     
    Last edited: Jun 28, 2021
  11. Zarconis

    Zarconis

    Joined:
    Jun 5, 2018
    Posts:
    234
    Yep, UE constantly has my GPU fans spinning.. Can't be that good for the HW, it's ironic how people are jumping on Enlighten and I'm going to use Unity because it has Enlighten. Work on a decent sized scene with lightmass and then tell me how bad it is :)..

    The other option is just to bypass light baking altogether but somehow UE manages to lack performance and graphical ability, especially when you start to modify to suit a target hardware spec. As always six of one half a dozen of the other..
     
  12. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,964
    Armynator likes this.
  13. Zarconis

    Zarconis

    Joined:
    Jun 5, 2018
    Posts:
    234
  14. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,964
    Last time I had a card fail was two years ago when my GTX 460 which had been moved into a secondary system finally gave out. For the first four to five years it was running 24/7.
     
    Armynator likes this.
  15. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,847
    Putting some functionality into optional packages has certainly helped. It could be argued that including certain uncommonly used packages in every new project by default constitutes bloatware.
     
  16. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    6,008
    It's not bloated, it's fragmented. Those are two completely different problems.
     
    NotaNaN, lmbarns, Ryiah and 1 other person like this.
  17. Zarconis

    Zarconis

    Joined:
    Jun 5, 2018
    Posts:
    234
    Neither would I want it to, Unity does its own thing and that's a positive not a negative. Simple fact of the matter is they took an indie engine littered with an old, archaic core and now they're trying to transmogrify it into a modern engine. They're obviously struggling or it wouldn't have taken so long or frittered at every turn..

    I do empathise but we (I) see it from a customer side and frankly put we just want things to work. I believe there's ways to monetise the subs better, I'd pay for a few prioritised support tickets every month. Focus more on unifying the rendering pipeline(s), make features a bit more artist friendly, focus on performance / bugs and keep providing fabulous documentation.

    Even at the top tier of indie games in a 20+ member team there are limitations.. An engine only needs so many features to be viable for any type of game and it's obvious as day spreading yourself too thin creates a jack of all master of nothing. Indie's can supply a higher fiscal income than even a AAA project, what's 300 subs vs. millions hmm? It's worth it Unity, you just need to get on board with your day to day dev. I don't think I'm being unreasonable here? Am I?

    As for bloat? Compared to what exactly? Have you every used another fully featured engine before? Unity is still pretty lightweight. (Of course IMO, YMMV)..
     
    Last edited: Jul 1, 2021
    Ryiah, Joe-Censored and JoNax97 like this.
  18. Armynator

    Armynator

    Joined:
    Feb 15, 2013
    Posts:
    66
    Very offtopic, but my GTX 680 is almost 9 years old now and was in 24/7 use its entire life. Still working fine, still overclockable as on day 1, no fan problems, still under warranty. (10 years EVGA warranty)

    I also repaired some GPUs in the past. Most of them either had a broken fan or failed because of cheap components, so this highly depends on the manufacturer you choose. I also never have seen a GPU fail because of an actually broken chip. I heard it's possible but extremely rare.
    So if you want a GPU to last long, don't worry about putting load on it and research what you are actually buying. There is a reason why some manufacturers only provide 2 years warranty while others offer 5 years or more.
     
  19. adamgolden

    adamgolden

    Joined:
    Jun 17, 2019
    Posts:
    1,549
    That's a good tip. I just wanted to say that, because while it seems like common sense, I can't say it's ever occurred to me while I was actually comparing things while deciding which to buy. Thanks to you, when prices are pretty close for similar items, the length of the longest available warranty will be my deciding factor :D

    Edit: And if both have say 5 years available.. I'd venture to say a cheaper warranty implies they have less returns/replacements to cover (excluding effects of any promo or other subsidy).
     
    Last edited: Jul 2, 2021
  20. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,964
    This. Unreal Engine 4 and 5 may not be in the best state but they were able to be developed to where they are because the company wasn't afraid to abandon Unreal Engine 3. Unity 5.6 and the releases after it should have been two completely different engines.
     
    AcidArrow likes this.
  21. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,615
    I'm not at all convinced that the issues have anything to do with it being an "old, archaic core" in principle. The thing that stands out to me is that, with a few notable exceptions, they're trying to maintain backward compatibility with 16 years worth of other peoples' projects.

    It's madness.

    I understand why they're doing it. Unity started in an age where games were made, sold, and moved on from, but grew into an age where many games are maintained as long-term, ongoing services. So it's pretty difficult for them to clean-slate things, not so much from a technical standpoint (that'd probably get easier), but from a business standpoint where a bunch of their deepest pocketed customers would be highly resistant to being forced into making significant technical changes to their long-term, consist earners.
     
    NotaNaN and JoNax97 like this.
  22. Zarconis

    Zarconis

    Joined:
    Jun 5, 2018
    Posts:
    234
    So, code made 16 years ago for a different technological age and process methodology isn't old? Then building on top of that whilst factoring in backwards compatibility isn't archaic? I've seen arguing for the sake of arguing in my time but that really does take the biscuit :D..
     
  23. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,615
    I didn't say that it wasn't old and archaic. I said that wasn't the principle (ie: foundational, underlying) reason for their apparent struggles. If it was they could just fix it.

    They can't just fix it because the majority of stuff they have to maintain compatibility with isn't even theirs.

    Yes, at one level of the decision stack "we have to keep (compatible with) old code" is indeed an issue, which makes everything else they do harder. I completely agree. My point is about why they keep that compatibility. It's not because they're stupid. It's because a whole bunch of their customers rely on it.

    I've got decade old projects which I occasionally open in new versions of Unity and they still work. That's definitely a strength of Unity, and they must put a huge amount of effort into maintaining that.

    If I am working on my own tools and I decide a thing needs a rewrite, I can do that. I can even decide that my team will convert or re-author a bunch of content to be compatible with my changes. It's expensive, so I'm going to try to avoid it, but it's a choice I can make. It is not a choice Unity can make. They often have to solve stuff at their technical layer because they can't solve it at the (client) product development layer, or at the management layer. At best, they can mark something as "deprecated", replace it, and phase in a replacement over a period of years. During that time everything else has to play nicely with both systems.

    If "the core is too old" was the root problem that would be very fixable. UE has been doing that every few years, and it's certainly one of their strengths.
     
    Last edited: Jul 2, 2021
  24. Zarconis

    Zarconis

    Joined:
    Jun 5, 2018
    Posts:
    234
    Understood but we are getting a bit too deep into unknown depths, same as you I can appreciate the rock / hard situation from how it appears on the outside. Still that doesn't change the fact as a customer we kind of want it all, new shinies alongside bug free stability and support whilst retaining ease of use and backward compatibility.

    Not entirely realistic though? I'd settle for what Unity is today just polished to the Nth degree via actual use case scenario's with more focus on usability. If the goal is a UE replica in both iteration and feature set then there's already an engine for that purpose (UE). I know it's hard to jump from frameworks / eco-systems but it's always the end result IMO that comes first.

    Despite any qualms uttered I have no issues using either for a specific project, they are ultimately just tools for a function. Whatever gets it done with the least amount of fuss..

    That being said, some of the decisions, priorities and executions are perplexing.. Although we've been through this since the 5.X days over and over.. There are many, many good points given out by the community (IMO of course), I did read over just about everything in the UE5 threads but somehow we're still here :)..
     
  25. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,615
    Totally, and if someone else can offer a better implementation of that then I'll happily swap tools. That's just a thing Unity need to balance as a business.

    My comments there come largely from a context where I often hear from people about how Unity should be able to do X easily. In some cases I agree, in many cases I do not. Many things that are easy for a solo or a small studio can be prohibitive for a large studio, let alone for a global provider such as Unity. They still need to solve the problems, but the "simple" solutions we could take may simply not apply to them.
     
    Zarconis likes this.
  26. Amon

    Amon

    Joined:
    Oct 18, 2009
    Posts:
    1,384
    What I consider bloatware in Unity, is what another will consider as just what they needed.
     
    Last edited: Jul 2, 2021
    JoNax97 and Zarconis like this.
  27. spiney199

    spiney199

    Joined:
    Feb 11, 2021
    Posts:
    7,610
    Yeah this is a pretty succinct way to put it, of which I agree with.

    And as stated, the package manager seems good for reducing what comes in a new project. There isn't that much in a fresh 3d package, and then you can just add what's needed.
     
    Amon likes this.
  28. andyz

    andyz

    Joined:
    Jan 5, 2010
    Posts:
    2,251
    Perhaps a new graphics/scene core at some point based around the SRP pipeline - URP/HDRP/custom and dump the old ones and have extendable base classes for lights, cameras etc.
    As it is HDRP and URP are balanced on top of the old underlying systems with extra settings bolted on top everywhere it seems.
    It must be an architectural nightmare.
     
    thelebaron likes this.
  29. sxa

    sxa

    Joined:
    Aug 8, 2014
    Posts:
    741
    Hmmm.

    7 Unity version installs = 34.4Gb, largest one is 2020.3 at 6Gb
    3
    UE installs = 116Gb, largest one is 4.27 at 41.2Gb
     
  30. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Yes, although I totally took the intent of the thread to mean runtimes or built apps, because the factory where you make the car will always be quite a bit bigger than the car it produces.
     
  31. sxa

    sxa

    Joined:
    Aug 8, 2014
    Posts:
    741
    So. despite referencing Unity itself as bloatware in the title, you think he actually meant 'Software whose usefulness is reduced because of the excessive disk space and memory its output requires.'
    Hmm.
     
  32. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    I took it to mean the executables that Unity produces since how "bloated" the editor is will be far less important than the bloat of what you are using it for.

    Whatever I think, I think. Whatever you think I think, is still what you think.
     
  33. sxa

    sxa

    Joined:
    Aug 8, 2014
    Posts:
    741
    Yup. But on the other hand, when you dont say what you think explcitly enough, then invite comment on that, any deviation between what you think and what other people think you think is your own fault.
     
  34. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    I don't feel it's a fault nor do I ever care what others think. My philosophy is "each to their own" :)
     
  35. sxa

    sxa

    Joined:
    Aug 8, 2014
    Posts:
    741
    fwiw, 'own fault' in common usage is 'own responsibility', not 'a flaw' so interpreting it as the latter is not my thinking.
     
  36. Zarconis

    Zarconis

    Joined:
    Jun 5, 2018
    Posts:
    234
    :D...

    I just replaced one of my GTX 1080's and Unity is no longer crashing.. That's another one, although the card is probably about six / seven years old now..

    Fortunately I have enough spares to build another three machines.. Plus a few test benches with Vega's and AMD CPU's..