We’ve entered an era in game development that is equivalent to the time of the Super 8 camera for film. Game engines like Unity 5 and Unreal Engine 4 (UE4) provide the general public with a potential to make great looking games that has historically only been available to industry-proven development studios. Self-funded games and games with small budgets are the bread and butter of indie games, but development costs hold a tremendous amount of power over whether or not a game is ever made. Programming has also acted as a barrier of entry for game development. These two factors of game development are ones that have been greatly innovated upon in the latest iterations of the Unity and Unreal engines. This guide will walk through the licensing costs and scripting methods found in the aforementioned engines, highlighting the particularities found in each one. By the time you’re done reading this guide, you should know more about the cost of use and scripting of Unity and Unreal, enough so to inform your decision to use one or the other. If you’re a would-be indie game developer and you don’t know which game engine better suits your needs as a developer, then this guide should help you make your decision. If you already have a favorite game engine that you use dogmatically, then you may learn something new that could potentially change your mind. Let’s start arguably the biggest concern of an indie developer…
As an independent game developer, your budget is likely very low, if not completely nonexistent. In this section we’ll take a look at the costs of development and publication using Unity 5 and Unreal Engine 4.
Unity lists two different pricing options for Unity 5 when used by “Indies & Studios”: Personal Edition and Professional Edition. Personal Edition is completely free and includes the engine with all its features as well as royalty free publishing. The Personal Edition also does not include a customizable splash screen, so if you really must have a customized splash screen rather than the stock Unity splash screen, then you’ll have to fork over $1,500 or $75/month for the Professional Edition of Unity 5. You may be thinking, if the Personal Edition allows for the full engine, then why don’t studios just take the hit of having a generic splash screen and save on Professional Edition licenses? It seems that the folks at Unity thought that too, because according to the Unity 5.X End User License Agreement (EULA), you may not use the Personal Edition if you are an individual or sole proprietor that has reached annual gross revenue in excess of 100,000 US dollars. There is a similar rule for commercial and noncommercial entities, but the important takeaway is, if you reached an annual gross revenue of $100,000 or more in the most recently completed fiscal year due to use of the Unity software, then you are no longer allowed to continue use of the Personal Edition.
The $1,500 lump sum for a Unity 5 Professional Edition license may seem like a small price to pay if you’ve already earned at least $100,000 on a game you built using Unity, but the devil is in the details. The Unity 5.X EULA specifically states that only one user is allowed per license. So imagine that you’re a 10-person studio and you just made an annual gross revenue of $100,000 or more. Now, your studio must purchase a Professional Edition license for each of the 10 members and suddenly $15,000 is seeming less free than it was before. Additionally, to prevent developers from gaming the system by just buying one Professional Edition license and keeping the rest of the developers on Personal licenses, the EULA prevents the combination or integration of Personal Edition licensed content with Professional Edition licensed content.
Unreal Engine 4 has a different, simpler model as far as pricing goes. There is only one licence for the UE4, and that license is completely free. As with Unity, there is a cost to using Unreal, but this cost comes in the form of royalties. The Unreal Engine EULA states that the end user (you) agree to pay Epic (the company that provides the Unreal Engine) a 5% royalty on gross product revenue after the first $3,000 per game per calendar quarter from commercial products. An important detail here is that this royalty must be paid regardless of whether that revenue is received by you or any other person or legal entity. What exactly does that last part mean? Well, the EULA gives a simplified example of what this means: if your product earns $10 on the App Store, Apple may pay you $7 (having deducted 30% as a distribution fee), but your royalty to Epic would still be 5% of $10 (or $0.50).
In other words, neither of the engines are truly free, however development using the engine, at least to start, is free. You may wonder, why bother making it free at all if there are mandatory professional licenses and royalties with Unity 5 and UE4 respectively? The most important detail is that you don’t need to pay in order to build your game. If we accept the fact that this option is better for an indie developer than the way it used to be, where one would have to license Unity Pro or pay for use of the Unreal Engine, then the question is which is cheaper?
The answer is variable depending on the size of your team and the amount of revenue that your game is making once it hits the market. In order to determine exactly which is cheaper, you would have to know how much money the game will make throughout its lifetime, which is not possible. Unreal Engine usage includes royalties but never costs anything to develop on, and Unity never has royalties but costs $1,500 per Professional Edition license once your annual gross revenue exceeds $100,000. Therefore, if 5% of your game’s total revenue is less than the price of a Unity Professional Edition license per team member, then Unreal Engine is cheaper, otherwise Unity is cheaper to use. So maybe the price is not your only concern, perhaps you’re also worried about what methods of scripting each engine uses because you have differing levels of programming experience among your team...
Unreal, on the other hand, has a method of scripting that is quite different from Unity. In an attempt to depart from the prerequisite of knowing how to program to build games, Unreal Engine 4 has introduced visual scripting through the new system called Blueprint. Conceptually, a Blueprint serves the same purpose as a script, defining the behavior of specific objects or classes of objects. However, this is where the “visual” in “visual scripting” comes in, all the logic within a Blueprint is defined by a series of nodes connected to other nodes by wires. It is possible, using Blueprint visual scripting, to build a game without writing a single line of code. When you’re scripting in UE4, you’re building a sort of flowchart of different predefined nodes that come with UE4. Though there is no programming knowledge that is technically required to script using Blueprint, there is a certain level of computer logic knowledge that is assumed. Using Blueprint is very much like programming, but without writing the actual code. If you have no previous programming experience, you could really benefit from a crash course in computer logic or you may find yourself having difficulty debugging your Blueprints.
What if there is functionality that I need that isn’t defined in the set of nodes provided by UE4? Just because you don’t need to write any code to build a game in Unreal doesn’t mean you can’t. UE4 allows for users to write their own nodes in C++ for use in Blueprint. As such, there exist many community-made plugins that add lots of functionality to Blueprint visual scripting that doesn’t exist out of the box. Furthermore, Epic Games provides the UE4 source code for free use and modification. One caveat of using Blueprints is that they are known to perform around 10 times worse (as a loose rule of thumb) than native C++ would in the same circumstance. There are times where it would be unwise to perform very CPU heavy operations in a Blueprint, but in the majority of cases the difference in performance will be inconsequential.
Between Unity and Unreal, Unity certainly has the more traditional method of scripting since it involves line-to-line programming. Unreal provides users with a robust library of nodes (similar to Unity’s own library) with which to visually program, departing from a strictly code-based form of scripting. At the risk of oversimplifying the problem, we can view scripting in Unreal and Unity as one in the same, with the main difference being that Unreal is visual-based and Unity is code-based. On the lower level of optimization, Unity suffers because its source code is unavailable, meaning that runtime optimization is simply not possible to the extent that it is in the open source Unreal Engine. Setting aside engine architecture, which is a whole other series of posts in itself, the biggest difference in scripting between Unity and Unreal is style, which boils down to a matter of opinion. Which do you prefer, visual or code-based scripting? The answer to this question could indicate which engine suits your scripting needs and preferences better.
Unfortunately, there’s no magic checklist of criteria for the perfect game engine for an indie developer. We can approximate the price of developing and publishing with either engine, but even that is not exact because there’s no way to precisely know how much money your game will earn. For a first-time indie developer, both engines are free to start so deciding is even harder because you might not be affected by the true cost until a year or two after beginning development. For an established indie developer with an annual gross revenue of $100,000 in the most recent fiscal year, the answer depends on the size of your development team. In terms of scripting, a lot of it comes down to personal preference as discussed above. However, if your team is comprised mostly of artists, then Unreal Engine 4 is a strong contender because of the low level of programming knowledge required to develop a game. On the other hand, if your team consists mostly of the hardcore “hacker” types who shudder at the thought of dragging wires around to connect nodes, then it could be that Unity has the scripting scheme for your team. Both engines are extremely powerful content creation tools that deserve to be deeply considered as the tool to power your next independent game production.
Unity Personal v Professional
Statement on Blueprint performance