When I try modern software, I often wonder why their executables are so big. Do they pad them with random data to make them look bigger and run slower? lol
It seems Juan has similar thoughts:
"Godot is downloaded as a single executable that takes up a little more than a dozen megabytes and, just by executing it, contains the project manager and editor runtimes. No installation is required. This is obviously wrong and against the trend in modern game engines. As an example, Lumberyard, the new amazing Amazon game engine, uncompresses to 40 GB after download.
It’s a basic rule in marketing that public visibility depends on how big you are. So starting from Godot 2.1, users will finally be able to download an installer that takes up 2.7 GB of your hard drive. This increase size should hopefully help increase our visibility and give our users the feeling that they are installing a feature-packed engine. Of course this won’t just be bloat, the additional size will be due to many important new features: for example, the internal PI constant will provide the first 231 decimals of π (Pi), as we know that mathematical precision is an important concern in the gaming industry."
As for Unity, there’s probably an overhead because of Monodevelop and the .NET framework. The core engine itself is still bigger than Godot but not by gigabytes. Actually, the Unity .exe is just 64mb (though I doubt that would run on its own). Unity just includes more stuff you might or might not want to have by default. Scanning through the tools/data folders you can see that some specific platform tools, libraries and VR support for example make up most of Unity’s size.
Unreal is a beast as far as I have seen. It packs an unbelievable amount of very advanced features and probably also includes a lot of libraries with a lot of overhead. Haven’t worked with it myself but since UE is open source, having the whole source code accessible might contribute to its size.
I guess Godot is small because it’s good It’s not bloated with unnecessary tools and dependencies. Also, because it’s free and doesn’t have to answer to paying customers it probably has an easier time letting go of legacy stuff that other engines have to keep for years to ensure compatibility.
One correction: Unreal Engine is not open-source software. It is proprietary source-available software. You are not allowed to modify and distribute your own version of Unreal Engine, like you are with Godot.
Other engines include all the framework needed to run the editor, plus the engine (and sometimes big third party middleware and dependencies), all the SDKs for export and the proprietary stuff used in it.
Godot has the editor made in Godot (basically) and basic templates already compiled, but if you need to, lets say, compile for UWP and Android with extra modules, the “real” size increases a lot.
Godot 3 with C# scripting support will be bigger than the classic one too.