I am into the 3d engines for long time. I was at the beginning of Blitz Basic, and owned C4, Leadwerks and others that I have forgotten the name.
When Unity first came out, I was excited but I waited the first version released on PC to buy it. (version 2.5 I think).
Unity was a revolution compared with other engines at this time!
Now I have the same feeling when moving to UE4. Unity is so much late about all aspects (apart from 2d/GUI stuff maybe). I have the same feeling than when I moved from Blitz Basic to Unity.
10 months ago I decided to make a game with Unity. I practice it for +10 years and I was author at the Asset Store from the very beginning. I can say that I know Unity perfectly, I can program shaders, and I have some some great assets with it, I could probably teach it in a school.
I spent 6 months doing a biome based on tropics for this game. Most of the steps of the game were documented with video and I reached the top 100 of Indiedb.
Then I had to work on a Cryptocurrency project for 5 months, I stopped the development.
When I restarted in December 2017, Unity just released version 2017.3. Nothing was working anymore. From all the time I have spent customizing plugins like water and terrain generation, 3 of them were not supported anymore by the authors and not working. My biome was broken, I was not able to re-generate the environment anymore.
Who is going to make a game in less than 1 year?
If you can, then use Unity. If you cannot they forget it. Unity’s way to manage shaders, is by including their library into your code. This library is incompatible with the previous version of each new release of Unity. This is forcing all the authors having shaders to update them, for each new releases.
Unity is an empty shell from where you run assets done by authors. If these publishers for any reason stop to maintain them, you are f*cked.
That’s what happened to me.
So I decided to check UE4 again. I do it every year, just in case. The version 4.18 is when UE4 finally became good enough for me to forget all the money invested in Unity (+$10,000) and learn again an engine from scratch.
Actually only one week of work was necessary. A lot of UE4 is very similar compared to Unity. But what is mind blowing is the set of tools that you get with the engine!
Unity sucks about environments. Grass has no shadow, terrain brushes are very basic, you cannot do an acceptable ramp or erosion without buying something in the asset store. The terrain shaders are horrible, 10 years old at least, never changed since version 1 of the engine. The Trees are so slow, it is unbelievable and if you use more than 5 different trees in your scene, the billboard are ridiculous (think like 8 bit computer style). Texturing a terrain with Unity is retarded.
The Unity’s fan club like to say: “there is an asset to solve any problem”.
But what I explained before is about the quality, the integration, the maintenance, and the reliability of these assets that are questionable. Not only that, but making them work together is a mess. In fact when you are working with Unity, 90% of your development time is to fix these 3rd party assets for each new version of Unity and in order to get them to work correctly in your own game together!
When I moved to UE4, I got for free: uSky, HX Volumetric Lighting, all the Amplify products, ProBuilder, Shader Forge, Playway Water, Ultimate Water, Erosion Brush, Vegetation Studio, CTS, Megasplat, Advanced Grass, Uber, Next Gen Shadow… and so many I cannot list all: FREE I am not joking, UE4 is bundled with what would cost you $5,000+ to buy in the Unity’s Asset Store.
And what is worse for Unity is that all these features are native and included in UE4, they are maintained by the authors of the engine, working with every new version of the engine in one word: they are scalable!
As a result, UE4 is way faster than Unity for environments, the shadows are awesome, the atmospheric effects are breathtaking. You can create a huge forest and fly into it without CPU spikes and garbage collection, something that is absolutely impossible to achieve with Unity which is waiting half a second to display new trees in the distance!
There is a reason why there are no Megasplat, CTS, Shadow softener, Prism etc… in the Marketplace. It is because there is no need of them! Just take CTS terrain shaders, you can do the same in 5 minutes with the Material editor. I am not joking that’s how far Unity is from Unreal as I write this!
Unity’s fan club is always justifying the cost of Unity “yes but you don’t have to pay royalties”. I don’t care. I have spent $10,000+ on Unity and still don’t have a game out. If I was using UE4 I would have spent maybe $1000 in the Marketplace, and that’s it, my game would be half way to finish it. Now with unity I have to start from scratch? Unity is like a Pattaya’s bargirl asking me to pay every month to feed a family buffalo.
If I make money with a game, I will be more than happy to share a percentage with the people of Epic, who saved me so much money upfront, giving me a quick start for almost nothing invested, and let me use such an incredible tool ready to work: without paying!
So if you are an Unity user, learn UE4. It is free, you get the dark interface without having to pay $125/month. Forget this money lost on Unity, it is a failed engine. The version 2017.3 creates a lot of incompatibilities, and the next version will quick out Javascript: what a mess! Unity is not going to help you to finish your game, it will break it on its way to the end because of another stupid upgrade. Why did they deprecated the WWW class in 2017.3? Was is not possible to keep it? Now all assets that were using their servers for licensing, or checking updates are broken!
Think about Unity like this bar girl. Yes you probably invested a lot of money in this girl, you have been stupid for long time, but one day you need to stay stop, you are not an ATM machine, and let her go.
Enjoy your freedom with UE4. Do great games, finish them with a minimum of headache and make money.
Wolf at http://wolfkingdom.com