It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
Hello. Hope everyone is doing fine.

I've been noticing for a while now that many modern Unity games are not really well optimized compared to games that use their own engines (specially older AAA and AA games).

I know this seems like a subjective question, but it seems to me Im not the only who notices this.

If someone out there could give me a technical answer of why Unity games tend to have worse performance and require higher PC specs, I'd be grateful.
Post edited April 14, 2023 by .Keys
high rated
The answer is basically upper level coding vs lower level coding. A specialized engine can communicate better with the hardware for the specific uses the game needs, while Unity is a catch-all answer. Is like putting a native game vs an emulated game (not that extreme, of course).
Because it's a crap engine.

I notice that with most of the Unity games I have, they cause my 2080 GPU's fans to turn on and to spin to the extent that they sound like a vacuum cleaner, which is extremely annoying to listen to, and it wrecks my ability to enjoy the games fully.

But with most non-unity games, my GPU remains totally silent because the GPU's fans are either not active at all, or they are spinning slowly, since those other games aren't requiring my GPU to work hard.
avatar
jonridan: The answer is basically upper level coding vs lower level coding. A specialized engine can communicate better with the hardware for the specific uses the game needs, while Unity is a catch-all answer. Is like putting a native game vs an emulated game (not that extreme, of course).
This makes a lot of sense.
So does Unity works on its own layer of code calls, which then translates those calls to the hardware, and all of this worsen optimization?

May you explain it a bit more? If you can of course, I can also research more later.
avatar
Ancient-Red-Dragon: Because it's a crap engine.

I notice that with most of the Unity games I have, they cause my 2080 GPU's fans to turn on and to spin to the extent that they sound like a vacuum cleaner, which is extremely annoying to listen to, and it wrecks my ability to enjoy the games fully.

But with most non-unity games, my GPU remains totally silent because the GPU's fans are either not active at all, or they are spinning slowly, since those other games aren't requiring my GPU to work hard.
While its good that game designers which use Unity learn how to program games, It feels to me that this engine is also destroying gaming performance in the market overall. Of course its just a subjective impression, as I have not the research data for this. Still, Unity games do require higher specs than games made on other engines.

Feels weird that well optimized games with great graphics from 2010 run well on 2017 low end notebooks while 2023 pixel graphics made on Unity have constant stutters and lag, for example.
Post edited April 15, 2023 by .Keys
avatar
.Keys: Feels weird that well optimized games with great graphics from 2010 run well on 2017 low end notebooks while 2023 pixel graphics made on Unity have constant stutters and lag, for example.
^This.
I have a 2017 Lenovo laptop, 4GB RAM, Intel Pentium Silver *4; integrated graphics. Last game I launched was https://www.gog.com/en/game/zombie_night_terror, which is basically Zombie Lemmings (with a twist). Same pixel art as the original Lemmings, same animùations, quality wise, visually, it's as good as Lemmings, but not better. still I must close all other programs before I launch it or it will be laggy, or even freeze my computer. The original Lemmings ran without any problems on computers that were way less powerful. Sadly this doesn't only apply to Unity or more generacally speaking games, nowadays most devs don't care at all about optimization, they just assume computers will be powerful enough to run anything.


EDIT: reminds me of something I wanted to ask about; a comment from Zombie Night Terror's page:

"The game itself is an excellent lemmings clone with a lightweight story line, good music and interesting ideas. It does make puns on almost every zombie topic and film of the 90's.

However the game is based on Unity, uses Unity's user tracking feature. Neither does it tell you nor does it present the opt-out option.
Technically it is illegal to sell the game in the European Union because GDPR dictates opt-in to such a feature.

To sum it up, Great game led down by privacy issues. "

Anyone know anything about it?
Post edited April 15, 2023 by maxleod
avatar
.Keys: I know this seems like a subjective question, but it seems to me Im not the only who notices this.

If someone out there could give me a technical answer of why Unity games tend to have worse performance and require higher PC specs, I'd be grateful
Agree! The worst offender I remember is Last Day of June
WTF my PC had so much trouble running it?
C'mon! Look at its pictures...

Unfortunately, Im not an expert so I cant help with technical reasons
but my suspicions are:
-The abstraction of the engine. Mostly by its ,,all-platforms promise,,
-PC having lower priority vs the iOS & Android platforms
-Telemetry (read below)
avatar
maxleod: EDIT: reminds me of something I wanted to ask about; a comment from Zombie Night Terror's page:

"The game itself is an excellent lemmings clone with a lightweight story line, good music and interesting ideas. It does make puns on almost every zombie topic and film of the 90's.

However the game is based on Unity, uses Unity's user tracking feature. Neither does it tell you nor does it present the opt-out option.
Technically it is illegal to sell the game in the European Union because GDPR dictates opt-in to such a feature.

To sum it up, Great game led down by privacy issues. "

Anyone know anything about it?
I can give some clues, just checked downloading my ZNT v1.5.2_(36444):

1) When you lauch the vgame (Zombie Night Terror\znt.exe)
It tries a TCP Outbound connection to 142.251.34.238 port 443
(Without a firewall, you wouldnt notice that)

2) The existance of this files on
GOG Games\Zombie Night Terror\znt_Data\Managed
UnityEngine.UnityAnalyticsModule.dll
UnityEngine.PerformanceReportingModule.dll

3) Files written on
%HOMEPATH%\AppData\LocalLow\NoClip\Zombie Night Terror\Unity\2d0a8a49-5aac-472c-b9fa-97b3ab599420\Analytics


They are indicatives of Unity collecting Analytics (Telemetry)

Why, What, When, How... all this? I dont know (Im not an expert)

But I learned it happens & an antidote here (Thanks once again Dark_art_!)
gog.com/forum/general/unity_engine_telemetry_killer
Want details? Follow that trail

And from another source:
pcgamingwiki.com/wiki/Engine:Unity
quoted:
"Games built with Unity automatically upload the player's hardware statistics when first run."

So, to the final question:
Who the fck requested my authorization to collect & send that info?
Nobody!
...And in my experience, that's the norm for the Unity Engine vgames...
A small list when I bothered to take note of them:
Bomber Crew, Blasphemous, Boomerang Fu
Optica, Escape Machine City: Airborne... Valfaris!!
The good thing: Valfaris ran without issues once inoculated
(In fact, All of them, but as I didnt like the rest... I dont care :))

Please, be responsible & let others know

PS - A recent case I found the Analytics disabled:
Bullet Runner: The First Slaughter

And another thread you might want to read: gog.com/forum/general/telemetry
avatar
maxleod: (...)
avatar
tag+: (...)
I remember checking this post on the past and after reading maxleod post I was going to search for it but I wouldn't be able to write a better post than yours tag+ so thank you very much for the awesome compilation of info on Unity Telemetry tag+! Really really useful!

Its really disturbing to me that when you stop to think about how all Unity games (are all necessarily doing this?) could be automatically sending user data without their consent and knowledge to its servers (we can't say all games which uses Unity don't warn users about this though, but many don't, for sure.) In the cases of users which doesn't configure firewall at least it seems.

All the info you all shared makes a lot of sense on performance issues.
I'd still like to learn more of this on a code level though, but probably I'd need to study Unity for this.

Thank you all very much anyways, really useful info!!!
Post edited April 15, 2023 by .Keys
avatar
tag+: (...)
avatar
.Keys: I remember checking this post on the past and after reading maxleod post I was going to search for it but I wouldn't be able to write a better post than yours.

Thank you very much for the awesome compilation of info on Unity Telemetry tag+!
Really really useful!

Its really disturbing to me that when you stop to think about how all Unity games (are all necessarily doing this?) could be automatically sending user data without their consent and knowledge to its servers (we can't say all games which uses Unity don't warn users about this though, but many don't, for sure.) In the cases of users which doesn't configure firewall at least it seems.

All the info you all shared makes a lot of sense on performance issues.
I'd still like to learn more of this on a code level though, but probably I'd need to study Unity for this.
You are welcome .Keys, but the real credit goes to Dark_art_, R-T-B
& the many, many enthusiasts creating & sharing threads,
knowledge bases, antidotes, etc
Really, the Internet is great


That Unity behaviour is totally disturbing,
but unfortunately, Who doesnt nowadays?
Windows, Android, iOS...
A total scandal. Privacy is a fallacy this days


And thanks to you too for creating this topics,
Curiosity is what triggers invention!
Eager to read your findings at its time: Thanks in advance & Regards!
Another link might be of interest about the Unity telemetry
Rescued thanks to The Wayback Machine
Credit: Gekko_Dekko

web.archive.org/web/20180716174123/gog.com/mix/games_w_potentially_telemetry
high rated
avatar
.Keys: Its really disturbing to me that when you stop to think about how all Unity games (are all necessarily doing this?) could be automatically sending user data without their consent and knowledge to its servers (we can't say all games which uses Unity don't warn users about this though, but many don't, for sure.) In the cases of users which doesn't configure firewall at least it seems.
The Telemetry problem is bad enough the only sane solution is move from a backlist based firewall (trying to create 'block rules' for each offender individually in an unending game of 'Whack a Mole') to a whitelist firewall (you select the few apps you do want to make outgoing connections (eg, web browser, email program, anti-malware program updates, etc), create 'allow rules' for those and block everything else by default). I've been running that since W7 came out and the sheer number of times I've seen "x game wants the Internet" alerts and thought "Nope. You're a self-contained single player offline game. We both know you don't 'need' the Internet at all..."
avatar
.Keys: If someone out there could give me a technical answer of why Unity games tend to have worse performance and require higher PC specs, I'd be grateful.
As for Unity Engine optimization, it's always been a mixed bag. I've found some games like Dusk are actually well optimised. Not just high framerates but playing them with MSI Afterburner overlay on, the GPU (fairly low end GTX 1660) has only 30% usage even when well under-clocked (from 1920MHz to just 620HZ) in an almost idle state, and will run very well on APU's. Other games with similar 'simple' visuals though basically render at a high resolution then pass everything through some blocky / downscaler pixel shader to fake low-res and need far higher requirements that are way out of whack with visuals.

I suspect it's a case where it's a licensed 3rd party engine that's relatively so easy to use that some games developers don't bother learning how to use it properly beyond "getting my game to work", ie, they know how to make a game but not optimise on an engine they didn't build. "Old school" games though where Looking Glass Studios knew their own Dark Engine inside out, where Monolith knew their own Lithtech Engine inside out, etc, engines were regularly well optimised simply because game development staff overlapped with engine development staff.

Having said that, the same can be true of Unreal though. Many UE2-3 games like Bioshock trilogy, Dishonored, etc, are very well optimised and can get +60fps even on a 15w APU. And some UE4 games with simple visuals can be either well optimized or they run or even look surprisingly bad for their visuals / hardware requirements. Eg, it took me a while to figure out why in some UE4 games everything beyond a certain distance sometimes just looks "smeary" compared to 15-20 years older titles like HL2 (Source Engine) or even Thief (Dark Engine). The edges of things like railing / gratings at a distance look far fuzzier than they need to be. It can't be Depth of Field that's the first thing I disable. It turned out to be things like bad LoD defaults and TAA (Temporal Antialiasing) forced on internally on an engine level which often looks worse than old fashioned 4x MSAA. And some developers haven't a clue how to change it. I saw a funny meme the other day which highlights similar effects perfectly on Remedy's "Northlight" engine.

UE4 also has notoriously bad default key bindings for left-handers. The number of games even here on GOG where W / S is mirrored correctly onto Up / Down cursor keys and yet Left / Right cursor keys are instead bizarrely mapped to moving the mouse left / right instead of mirroring A / D leaves the player with two ways of turning (one in each hand) yet no way of strafing / moving left / right. And some of those games like Obduction have no in game key-rebinding to correct it and even break the game if you manually edit the usual input.ini file. For a sense of perspective, this is very basic stuff that UE1 games (Deus Ex, Unreal, etc) got right 24 years ago, as did UE2 (Bioshock) and UE3 (Dishonored), etc. So whilst Unity is the easy target for "low effort engine" games, Unreal 4 has not been without similar issues either.
avatar
.Keys: This makes a lot of sense.
So does Unity works on its own layer of code calls, which then translates those calls to the hardware, and all of this worsen optimization?

May you explain it a bit more? If you can of course, I can also research more later.
I'm not a programmer per se, so I can't give too many details but basically it is like this: an engine is build for a specific OS, which communicates with hardware in a specific way to achieve specific goals. The more specific it is, the better performance (basically why consoles can run games with lower requirements than a PC). Is not like Unity knows different languages to communicate to every single OS making life easier for every developer in the world, but does use Google Translate to communicate with every OS, making life easier for developers but a nightmare for the people that require speed (performance) in the conversation (ie: gamers). So instead of having, for instance, the graphics instructions going to the GPU it actually goes to a conversion layer in the engine which then goes to the GPU (this is for everything, but graphics are obviously the heavier load and therefore the main antagonist of optimization). Basically you have a middle-man on every instruction set in order to achieve the compatibility Unity provides.
A few years back, Unity Engined games were avoided like the plague on Steam because many were nothing but "cash-grabs" "asset-flip" with no real content.
Things got better but I feel the real issue is that the Engine is free to use, with easy to get assets. Many people use Unity to learn game building, don't really know or care about how the game run as long as it runs. Previously Flash or Java was used to build small games. S single person doing a game, can't obviously know how to to every single task in the most optimized way, assets building usualy takes the most time and effort.
I also don't know how the engine handles libraries etc, being able to port to various systems may cause an increased overhead.

Not all games run like crap though, Fell Seal is a prime example of a game that can run in a potato, carrot or onion.
In the end, Unity engine provided the tools to make some great games that could not be possible with out it. I'm only speculating but "earlier" games like Ori and the blind Forest, Broforce and maybe Cities Skilines coudn't be made otherwise.
Post edited April 15, 2023 by Dark_art_
I think you also have to consider the skill of the developer. A very skilled programmer might not be attracted to Unity, they might prefer to write their own. And if the developer is not real skilled and has no idea how things work then they are not going to be likely to use it optimally.
avatar
tag+: You are welcome .Keys, but the real credit goes to Dark_art_, R-T-B
& the many, many enthusiasts creating & sharing threads,
knowledge bases, antidotes, etc
Really, the Internet is great

That Unity behaviour is totally disturbing,
but unfortunately, Who doesnt nowadays?
Windows, Android, iOS...
A total scandal. Privacy is a fallacy this days
I only pasted a link to the work of someone else, I deserve no credit whatsoever. Dan is the Guy that made the tool possible.

I don't mind telemetry but I do mind undisclosed telemetry. It's the "new normal" so people don't even care, not a lot of years back, workplaces were not even allowed to have cameras filming the employees. Having a camera pointing to someone on the street was a issue, once a lady asked me to delete a photo where she was captured (not very politelly may I add) on a public space. The motif was not her obviously, but a Castle, she just happened to pass by at that time.
The lost art of optimization matters, indeed. But the optimization of Unity itself could be a different thing, more difficult to deal with.

I always considered that the Unity shadows system, how does deal with the vsync thing are subpar or too demanding, also the basic 2D games that feel more demanding than it should be. The same with the unityplayer itself, the bare minimum requirement to run the game, and the strangely way it deals with movies (intros lagginess etc,)

Obviously all of this is much more noticeable in low resource computers.
Post edited April 15, 2023 by Gudadantza