Engine Trouble

I’ve known Unity since 2007 but only started using it seriously in 2013. At that time, a hobbyist shopping for quality engines could either go with one of the Open Source projects, UDK (3) or Unity 4.

While the workflow was very unusual for someone used to code-centric engines where your main working environment is an IDE and perhaps a wonky level editor that lets you place things in the world, Unity was a huge productivity gain.

The interface between game code and engine was very tidy (necessarily so because game code is written in .NET rather than the engine’s C++ but the Unity developers also had good taste in API design). Thus I purchased a Unity 4 Pro license for 1500 Euros (it was an early adopter license: use Unity 3 Pro now, switch to Unity 4 Pro as soon as it is released).

Two years later, Unity announced the interation of Enlighten into Unity 5, promising real-time global illumination. I took the early adopter offer again, 600 Euros for a Unity 5 Pro license for existing customers. There were some issues with new lighting system, but overall, the integration is pretty well done.

Screenshot of my Unity licenses, showing two 3.x and one 5.x Pro license

Early Unity

Until this point, I was very happy with Unity’s business model:

  • rather than collect royalties, I paid an (admittedly large) sum of money and never had to worry about sending sales numbers to Unity Technologies or other bureaucracy.

  • major engine versions became (mostly) stable targets to develop against and after feature development ceased, there was still 1+ year of bugfixing going on, leaving those major releases in a pretty robust sunset state.

  • lastly, it was classical business: UT builds the product I want, I pay them to get it. If they want me to pay again, they need to improve their product so I consider it worthwhile to pay for the next version.

Late Unity

Sadly, during the last years, things took a depressing turn towards “Economy 2.0”

  • In late 2013, ex EA CEO Riccitiello joins the board of directors at Unity Technologies. I have seen no public releases revealing who pushed for what in Unity’s board of directors, but I believe to see the EA CEO’s handwriting in many of the changes, resembling directional changes at EA.

  • In early 2014, Unity Technologies acquires Applifier, a company owning a mobile video ad network.

  • Also in 2014, Unity Technologies acquires Playnomics, a company offering telemetry services for software.

  • In late 2014, Riccitiello advanced from board member to CEO of Unity Technologies, replacing CEO David Helgason.

  • Early 2015, Unity suddenly gives away their bread-winning features for free. While many of us Unity users expected a reaction to Epic offering Unreal Engine 4 for merely $20 per month, this was a strange turn, especially since for most of Unity 5’s beta phase, the licensing terms remained in a state of flux.

  • In 2015, Unity Technologies acquired ecommerce business SilkCloud which has had many dealings with EA developing advertising, shop and mobile device account systems.

  • Still 2015, Unity Technologies introduces Unity Analytics, a telemetry solution as a service directly from Unity Technologies.

  • In 2016, Unity enters the certification business, offering paid certificates for Unity developers.

  • Also in 2016, with Unity 5.3, micro-transactions are natively integrated as “Unity IAP.”

  • Also in 2016, Unity introduces more services. You now get “Unity Ads,” “Unity Analytics,” “Unity Cloud Builds,” and “Unity Collaborate” all from one hand.

  • Still in 2016, the future licensing model becomes clearer: perpetual licenses will be discontinued; for $35 monthly (the $600 upgrade to Unity 5 translated into $25 monthly over its 2 year lifecycle) you get saddled with a revenue cap and can’t disable telemetry anymore while having the same feature set as the free version. Major versions are replaced with a rolling release model.

Quo Vadis?

From the business direction, what I am seeing here is:

  • Unity Technologies has quit the traditional economy. Rather than create features (packaged into major versions) and sell them to customers, the customers sign a contract (subscription) and will pay for whatever Unity decides to do or not do.

    It’s not as bad as the Windows 10 business model yet, where Microsoft can essentially do whatever they want to their OS, customers will download it and install it with no choice, but it’s close enough.

  • The basic product is free, revenue now needs to come from taking a share from advertising and micro-transactions (thus the Unity Ads and Unity IAP features) and services sold to developers.

    This way, Unity’s business now squarely depends on the toxic business model of money-grabbing mobile games.

  • For its services, Unity Technologies now has a lot of recurring costs paying for servers (content distribution for video ads, telemetry storage space, beefy cloud build servers, etc.)

Developer PoV

As a game developer, further worries this creates are:

  • The rolling release model is pretty ugly on the Asset Store. There never was support for downloading older versions of assets, but with rolling releases this has become a real problem. If you stay with Unity 5 for example, pretty soon all your script asset purchases are worthless because they all target Unity 2017.

  • Unity always had slight image problem. Not because the engine is bad, but because of the low barrier to entry allowing inexperiences developers to release very poorly made games.

    With Unity being completely free for everyone, this will get worse. With Unity being the engine behind most ad-supported and/or IAP cash-grabs on mobile devices, this will get worse again.

  • I like to pay small development teams for features. What am I paying for when I subscribe for $35 or $125? Will I pay for the development of useful engine features or for server rent to process the IAPs of some poor suckers?

    I hope Unity Technologies will continue to invest in cutting-edge features (like Enlighten was for Unity 5), but I do not see a strong business case for Unity Technologies to do anything more than just stay relevant with their current model.

Dilemma

These two concerns have so far prevented me from upgrading to Unity 2017.

I have purchased a large number of assets on the asset store, so this would be a big loss, but I also don’t feel comfortable with the direction Unity is heading and want to jump ship as soon as possible.

I have been looking into Unreal Engine 4 since 2015. It is capable of flashy results, but the technical foundation looks rather weak (everything is integrated with everything, where does the engine stop and the gameplay framework start? why do assets opaquely store their IDs with their data?).

Furthermore, I ran into real obvious showstopper bugs everywhere as late as 4.14. Lately things have been getting better, however.

So now I’m sitting here, unsure of when would be the right time to abandon Unity. Should I go with the 2017 license for 12 months and then switch.

Alternatives

I’ve also been looking into Open Source engines again.

Ogre3D has taken a nosedive in quality since the original project lead left,
Horde3D looks abandoned,
Atomic Engine is lacking Linux support (for its editor), but
Urho3D is in great shape and
Godot Engine might be a good choice, too.