3 ms·
Unity makes it easier than get started. Unreal makes it easier to ship. Caveat: my understanding of Unreal is limited. The sources of differences are: Unity'
by corysama 9y ago
Unity makes it easier than get started. Unreal makes it easier to ship. Caveat: my understanding of Unreal is limited.
The sources of differences are:
Unity's primary audience has been hobbyists. Unreal's has been AAA devs. Unity doesn't ship games themselves, so they tend to focus on flashy, marketing-friendly features. Epic used to ship FPSs at least (they've slowed down in that area). Unity's huge audience pushes them into a large commitment to a ton of legacy architecture dating back to the web plugin. UE is on Ver4 (whereas Ver1 & 2 might predate Unity).
A big one is that Unity uses C# vs UE's C++. Garbage collection is great in the beginning. But, when you go to ship it becomes the enemy. You end up needing to structure everything to have no allocations at run time to avoid GC hitches. So, you start out coding like a modern app dev and end up coding like a classic embedded C dev. Except you aren't using C. You are using a language that tries to sneak allocations past you all over the place.
If you are a hobbyist, Unity is really great. It's great for experimenting, prototyping, and for remaking your own take on that game from 10+ years ago. If you want to make a modern game, be prepared to fight and rewrite a lot of the core of Unity. The editor is great though!
Unreal, however, is a lot more complex and challenging to get started. And, it's not all roses when it comes to shipping either. UE tends to favor a heavyweight setup cost in order to make using high-end features a bit cheaper. That's not great if you don't actually want to pay for those features. UE is technically on mobile, but only because high-end mobile hardware is catching up to what UE requires. Getting UE to run 60fps has been a challenge forever. The Mortal Kombat team has at least one GDC talk about the extensive surgery they had to perform because their management dictated that they use UE.