Discomfort using Unity

  • 0 Replies
  • 211 Views
Discomfort using Unity
« on: July 05, 2019, 05:29:37 AM »
Here is a list of things that make me re-evaluate the way I think of Unity after using it casually for more than two and a half years.
These are my opinions based on my experience using Unity. Get really to listen a lot of poisonous things.

1. Doubtful to find decent freelancers to do work for you.
At the begining of the project I payed freelance indie developers to make things that where out of my confort zone.
If you leave outside that I got a vague idea of how Unity works, everything needed to be remade from strach.
My budget was low, I am not a rich person, still the quality of work was undoubtedly really low.
There where higher cost freelancers, but asked for hunderds of dollars for things that took me a couple of hours to reaserch and implement on my own.
Currently I think it is almost impossible to find decent, money worth, freelancer that can help with any 3d game made with Unity.

2. Online documentation.
Whoever says that Unity is well documented, I do not know what his idea of well documentation is.
There are literaly zero examples for anything I look for. Most of the pages contain just the function name and parameters with zero descriptions.
Most given examples do not reflect actual game situations, or are way complicated to make you understand how the function works.

3. YouTube guides.
When started using Unity I checked youtube to see if youtube had guides on the things I needed to begin with. It seemingly had a lot of guides for all the things I wanted.
What I did not notice is that if you search on youtube for "unity guide" there are two names that will popup. Brackeys and Sykoo. Both of them Unity biased, with even Sykoo sponsored by Unity.
When you do not know about Unity, you don't care much. If there are guides for the things you look for, everything is ok, right? Well... wrong.
Their guides are polished turds, at best half done, mostly with zero information on how to actually implent things on an actual game.
Other youtube guides go the same road as well, either because of the people that make them just want to make a video, or because they are just incompatible with the latest Unity versions.

4. Cannot use loops freely.
Unavailability using loops whenever you like and calling methods only from the main thread feels limiting.
This was very strongly felt when making the confirm dialog menu, character spawning, or managing any data that come from the server.
You have to do "workarounds" to make things work. From someone that programs for over 20 years, it feels not only limiting, but shady.

5. Literally no usable free assets on the asset store.
Due to MIT lisence I cannot use payed assets and Unity supposed to have a large collection of assets on the store.
But essentially there are none. Not for MMORPGs, or any game in any matter.
All free assets on the store are plain bad, sometimes even non free and rather expensive ones.

6. UMA, an open source, free, but not cheap asset.
UMA is the main asset that seemed to help a lot with the characters. Especially for an MMORPG. Seemingly having a lot of free related assets on the store.
I made everything needed to support UMA characters and now that I need a basic armor set to make the inventory, there are no free armors anywhere.
All UMA related assets are payed. There are zero free assets on the store. Any seemingly free armors on the store, require you to buy another system to enable them.
Finding a freelance 3d graphics designer to create a basic medieval armor set proved really costly, might as well take lessons to make it myself.

7. Unity crazy reworks.
I tried to use Crest Ocean to replace Water 4. At the beginning it worked fine. Then a new Unity update came and as usual I updated to the new version.
Needless to say, Crest rendered wrongly after the update. Understandable, but keeping track on each Unity update and what it posibly breaks takes time.
It seems to me that Unity deprecates a lot of it's systems for other, even third party company systems, without worrying about backwards compatibility.
I have experience from projects that want to make radical improvements all the time. It never went good for the project.

8. Non original features.
Unity tries to advertise it's newest additions. Entity Component System, The High Definition Render Pipeline and Visual Scripting.
None of them are necessary to make a good game. Not to mention that all of them are inspired (copies) from pre-existing features.
They claim to add these features to make Unity perform better. Not because Unity loses the competition with other engines, or gain the favor of developers.

At an optimal situation all the above cannot disrupt the progress of the project.
Unity gives the tools to make things done, but I cannot overlook what has been experienced so far.
I use Unity because I find it easier to make things on C#, not because it it the best engine. It is a good engine.