I know "asymptotically close to zero" about game development and the like, so if someone who works in this space could answer this I'd be appreciative: what, if anything, would make you use Unity or Unreal instead of Godot for making a game today?
This isn't meant as a passive aggressive question to push some kind of open source narrative, but a genuine curiosity. Since I know basically nothing about the industry, I'm curious to what something like Unity or Unreal still offers over an engine that has no licensing fees.
Indie gamedev company co-founder here: 14 people team, 2 games released + next in progress and signed with publisher. There are few big reasons why you can't just go and use Godot.
Publishers. Basically 3 years ago when we made our first game together using Godot it was main reason why we were rejected by some publishers. Now situation can be slightly different, but many publishers still have in-house pipeline that only work for Unity and Unreal: QA, localization and console porting.
Asset Stores. Majority of modern games are not built from scratch and selection of ready-to-use components and assets available commercially would be like 1000x for two major commercial engines.
Hiring. It's take years and several commercial projects of experience to actually become effective at using specific game engine. There are just far less Godot experts arounds especially those with experience of making commercial game while working in team.
These reasons can sound like inertia, but it took decades for Unreal and Unity to conquer their market share and build their moat. I myself big open source and Linux nerd, but sadly it's will take another decade for Godot to make sensible dent in this market.
PS: We released first game on Godot and our following projects are built on Unity.
Sounds really unfortunate. I also know little about this process, what do the publishers do that we cannot do ourselves? I guess they have pre existing deals with the major console makers that allows them to send things to market with little friction? Maybe that's why some indie devs just target PC, they lock themselves out of the console market but also don't have to deal with publishers?
First and most important publishers provide funding. To give an example here is a work you need to build a small game and you can imagine how much it costs:
- 1 project manager / year.
- 1 game designer / year.
- 1-2 programmer / year.
- 2-3 months month of sound design / music.
- 3-5 artists / year.
Even if you have a great multi-skill team you need at least 5-6 people for a 6-9-12 months and it's would be very much skeleton crew.
There are cases where team of 1-3 people working part-time without funding can build a great game, but it's require both sticking to specific genres and greater use of ready-to-use assets which means it must be 3D. Game that small indie company will build in 6 month will take 3-6 years with a team working part-time.
Indie devs who self publishing only target PC because commercial porting sertvices cost starting from $10,000-15,000 per platform and it's gonna be way more expensive if game wasnt optimized for gamepad and big screens from beginning. And it's just impractical to port it yourself because it will take many months to pass certifications since know-how for proprietary platforms is not available on stack overflow.
Thanks, this makes a lot of sense, and I learned about how games are really created. It's sad because I see devs like Notch or Zeekerss who somehow go solo and make millions, but clearly these are the exceptions and these medium-sized teams are typically the minimum required to get a real game out the door.
There are no "one size fits it all". Some good games can be built by one person given there are right tools available and your skillset is align well. Problem with solo development is that you can't make a job out of it unless you are already have big community of followers or released something popular.
I sure it's possible to get $100,000 of budget for a new game as team of 5 people to release it within 6-12 moinths. Even without much of track record it's doable if you have cool prototype. But I pretty certain no one will ever give money to yet unknown solo developer to release the same game in 2-3 years.
Yet modern tools become better and better every year and even for $100-500 you can buy enough of assets to build something that look good enough in 3D. There are just certain genres and art styles that just require larger team.
To be honest this is quite opposite. When you make 3D game you can re-use a lot of models and art assets from Unity / Unreal stores and easily hide the fact by using some filters or shading configuration.
When you do pixel art you cant just buy bunch of art packs and expect them to work together. And for anything high-quality you'll be creating all the art from scratch for every project.
Of course I not talking about very basic 8-bit stuff, but about something that is actually looks good and well animated.
Interesting, so seems like asset stores are way bigger than I thought. I guess, when I think of Pixel art games, I'm thinking about indie games like Stardew Valley, Celeste, and Undertale, maybe I am just revealing my own gaming biases.
Unity was already massive by its 5-7th year. It had tons and tons of released games at that stage. Not sure exactly why that hasn't happened with Godot but i guess it might still happen, just a bit more slowly.
Biggest reason is that there weren't any decent competitors around as Unity built momentum. At the time it was Unity, a (difficult-to-work-with, difficult-to-gain-access-to, expensive) proprietary engine, or something vastly less feature-filled like Game Maker.
I tested both on Steam Deck and VOMP certainly works better on the platform since Beat 'Em Up just have easier controls and we supported Xbox gamepad anyway.
For Dwarven Skykeep controls include both keyboard and mouse and while playable from touchpads it's far from perfect. Though it's the one made in Godot and it took us 3+ years to build. :-)
Mainly the plug-ins, particularly third party plug-ins for unity are better.
One of them being cinemachine.
Another example would be a tool call technique collider creator that let's you paint collider primitives. That tool alone saved about 300 hours of work.
For many developers the Cinemachine tool is very useful as well.
The other feature is the ability to edit game objects while the game is running in editor mode for debugging. This is the sole major feature Godot currently lacks compared to unreal and Unity imo
Beyond that Unity has a better overall design IMO encouraging users towards composition over inheritance and NOT encouraging use of some one shot interpreted scripting language (GDscript)
Does this justify the 100x greater size of Unity as an organization over Godot? Probably not
This is exactly the feedback I was interested in...thanks!
I think these kinds of criticisms are necessary for open source stuff to become competitive with proprietary offerings; it feels like Blender, for example, has taken these criticisms pretty seriously and as a result it's started to become competitive with proprietary tools (at least in the "prosumer" and lighter professional spaces).
I'm sure they're already doing this, but Godot should probably keep a list of all these bits of feedback and start fundraising to build these features.
The Godot leads basically discussed this during the last conference that they are definitely not in the right zone to take over significant developer share for Unreal or Unity, they hope in new versions they can inch closer and closer.
> The other feature is the ability to edit game objects while the game is running in editor mode for debugging.
+1 to this. Having switched to trying Godot Vs unity, this was the biggest "missing feature" that made godot harder to work with Vs unity. (I am no pro, not even indie, just a hobbyist)
In unity you can pause that game and view and/or modify game object's variables/properties/etc in real time. In Godot it feels like it just compiles and runs a binary that is disconnected from the editor. Yes you can debug the code, but the "live" integration with the visual editor is very useful when prototyping and trying out ideas as it lets you move things around and change variables, which you can't really do with debugging
My opinion as a gamedev who doesn't work with engines like this:
-Unity and Unreal both offer better performance guarantees and more featureful runtimes than Godot
-Both represent much more mature ecosystems, with tooling that's again, more powerful than Godot
-Both have more robust communities and larger talent pools
All of this said, I'd be more likely to use Godot for a quick personal project than either Unity or Unreal. But then I'd be more likely to choose Raylib over any of these options to begin with. Other people's choices might be influenced by the above, or they might choose Unity/Unreal out of familiarity, or possibly even something as simple as marketing hype/market perception. I'm not really sure the current state of Godot, but last I toyed around with it, I got the impression of something that was in-between Gamemaker and Unity and that dominates my perception of it today.
A few years ago I started messing with Unity and for the most part it was a decent engine with many platforms you can target which is a huge plus. Their whole licensing issue of late made me think though, do I really want to put years of my life into building a game when the owner of the engine can make changes which negatively impact my project?
Now, this could happen with any engine that you don't own but Epic uses their engine to create games themselves so they have an interest in further development which also benefits the users of the engine.
Godot is a newer kid on the block but has gained a lot of interest, especially after the Unity stunt. Now that it can target a Nintendo Switch there is even more reason to choose this engine as coding for game consoles can be pretty tricky as they usually have a lot of restrictions and tests they have to pass before you can launch on the platform.
Unreal and Unity offer maturity and vast knowledge available on the web for both if you want to learn the engine. Unreal has a visual scripting language which some love, both engines have storefronts where you can buy plugins, code, objects, all sorts of things to help make your game.
I don't know 100%, From looking at the documentation you need to prove you are a licensed developer for Nintendo and then you can get access to export to the Switch inside unity.
Unity and Unreal still have more brand recognition, I'm sure there are project managers and creative managers that hadn't heard of Godot yet (though that is diminishing, I'm sure).
More importantly, there is institutionalized knowledge and established tooling in place at a lot of dev studios. The expertise in one engine takes at least a year or more to acquire before you can really make the engine purr. But it also affects the whole toolchain, not just the part inside the IDE -- assets created elsewhere (models, animations, audio) typically go through some massaging to be compatible in Unity or Unreal, or the particulars of the scene/project and this often done through some automation, that automation would likely have to be rewritten for a Godot workflow, or even if it didn't, that's certainly what a PM or other decision maker would anticipate.
There's also the asset store full of plugins, or in-house developed plugins, which extend the engine and would also likely need at least some part of it rewritten or replaced.
I have over ten years experience with Unreal, so the cost of switching engines would be very high, and must offer something irresistible in return.
Regarding your second question: Unreal effectively has no licensing fee for most developers. The engine is free, you get access to the full source code, and you pay a 5% royalty only after you have made $1 million gross revenue.
"Godot 4's HTML5 exports currently cannot run on macOS and iOS due to upstream bugs with SharedArrayBuffer and WebGL 2.0"
I have read this line of the documentation a dozen times and I still don't understand what they mean by it. An HTML5 game is supposed to be run in a browser, are they saying that web GL 2.0 games won't run on a Mac even in a chromium browser?
Or are they saying that the export process to create the HTML5 game won't run on a Mac?
Those numbers are for desktop game sales, not people who might want to play your game in their browser.
Being unable to load up a browser game on macOS is a pretty big deal when the main upside of a browser compile target is portability and accessibility.
Yeah but if it works on Windows, who cares about the tiny tiny tiny vanishing percentage of Mac users? I would prefer Godot concentrate on implementing missing features and improvements rather than trying to support the tiny number of MacOS gamers who want to use a browser.
The web export is very very bad currently. I know there is a PR where that is getting worked on, but currently it's basically recommended to use Godot 3.6 if you want to web export. It outright does not work for safari (and Im not sure if safari is the issue in this case, or at least not anymore. Webgl2 has been fully supported since v15 ?)
This is the reason that I still haven't switched over to Godot and I continue to develop games using phaser JS.
Forcing users to physically install a game onto their computer is simply too much friction for 99.9% of your prospective audience. Lack of robust HTML5 support is a dealbreaker.
You're taking the problem in the wrong order, it's more why would I use Godot which is vastly inferior to unreal and unity.
Now what is inferior, well performance is bad, they have their own scripting language which no serious dev would want to use, they have c# integration but it's not on part. Assets, tooling is also inferior, you can't make console game with Godot etc...
Networking wise Godot has not much either.
That's the difference between an open source engine with not much investment and 100's $ put into unreal and unity.
Compared to Godot, as a hobby/volunteer game dev on some projects spanning a decade or more: I know Unity already, I enjoy it and have no compelling reason to leave, and it's much more mature in features, optimization, etc.
Efficiency - if you really need it. Unreal, gives you source, so you technically have everything you need to customize and optimize for the console you're targeting.
This isn't meant as a passive aggressive question to push some kind of open source narrative, but a genuine curiosity. Since I know basically nothing about the industry, I'm curious to what something like Unity or Unreal still offers over an engine that has no licensing fees.