Unity v/s Godot

Recently I began fiddling with two of the most popular game engines out there. I tried following a tutorial also, so I knew I was doing the things the right way. For Unity, I followed a video series by Brackeys and for Godot, I saw a tutorial by GD Quest. They were both the 3d game tutorials. In this blog I would like to compare both the engines and give my opinions on both of them. 

Do you need an Engine?

This question must be answered. Many programmers just blindly download a game engine and start working with it. I was one of those. After playing around with two engines, I feel, I don't belong to the "game-dev with an engine" world. 

Game engines are highly advanced and often do complicate stuff. To give an example, it harder to play music alongside changing scenes in Unity as compared to something like Pyglet, where you just need to write.

music = pt.media.load('music.mp3')
player = pt.media.Player() player.queue(music) player.loop = True player.play()

These engines are made for very advanced use. Use could re-create Fornite from scratch in C++, but that will be much more harder. It is also the visualization, which makes things simpler, like animation. Engines will be much harder to use for simple project and much simpler to use for large projects. Engine also just increase the file size of your game. If you just want to create short animations or simple games, I would recommend staying away from engines. Now the comparison.

UI and Workflow

Godot

Godot has a very nice look. I actually prefer the blue color over the dark themes. Godot has a menu which pops up before opening the editor, which would tell you of all the project you are working on. Godot is based on nodes and parent-child relations, which is something that takes time to grasp on. A similar parent-child relation is found in CSS. Godot has a built-in, text editor which is just awesome. Another thing which I like is that the way Godot makes use of inputs and how you can create a custom input by going to the Project Settings and then to the Input Map.

Unity 

Unity has a modern look to it and only recently it launched a dark theme for its free users. Unity has a similar menu as I described in Godot and its called Unity Hub. It does not have a built in editor, which implies that you are supposed to use an external editor. On the internet they recommend using Visual Studio, although I used Visual Studio Code, which worked perfectly. Perhaps, even Notepad will work. 

Although, something that I have noticed on my laptop was that Unity took very long to load. Sometimes to run and test a scene it would take 20 to 30 seconds, which was something Godot did instantly. Godot even felt more responsive than Unity. 

Languages

Godot

Godot currently works with GD Script, C# and C++. GD Script is a Python like language. Since, Godot is open-source and development happens regularly, more languages can added.

Unity

Unity only supports C#. It used to support Unity Script, a JavaScript like language, but it doesn't any more. In fact, I only downloaded Unity because it had a JavaScript like language, but then my heart was broken.

Other

Godot

As I have previously stated Godot is open source, which is an upper hand because it makes it free. Although, Godot is new and rusty. When I was working with the engine, the default settings work perfectly, although just as I step in and tweak stuff around some bugs do pop-up. As I have heard, seen and read online, Godot is the master of two dimension, nice in three dimensions, but laggy in VR/AR, something which Unity has mastered.

Godot also has a very small community and as far I seen there are no games on the google play-store made with Godot and no AAA titles.

Unity

Unity is free*. Yes that's it. The asterisks says a lot. Unity has different tiers of membership. The free tier is excellent and you can make nice games from it, although some features will be hidden. If you will be earning more than a specific amount annually by your games made in Unity, then you would have to upgrade to a paid version. And just to add, it almost feels bug-less.  

Unity has a huge community and there are many AAA titles with Unity. My favorite Unity games are those made by Martin Magni.

My Opinions

Godot is a very good and is a engine that can give you results, in a short amount of time. The reason I prefer Godot, is simply because of the language, GD Script. Unity seemed to curtail me in my choices. Although if you are a person who knows C#, then I would recommend that you test both of them yourself, because both of them use C# in different ways, and then only make a choice. Although if the C's are scary to you or not your choice, then you must search for a game engine which makes use of your language and begin developing with that. Although if you are Pythonic like me, then just hop onto Godot.

Happy Game-deving!!

Comments

Most Popular Posts