Unity and the Art of Self-Evisceration

Let’s Talk “Integrity”

Last month, Unity Technologies announced that they were changing the licensing terms for their Unity game engine, which they claim is used in the development of more than half of the top games for mobile, PC, and consoles. They boast that they have 1.5 million creators and two billion monthly end users. Well, maybe they had that many.

The Problems

Under the new terms, Unity were going to charge publishers up to $0.20 per installation of their games; note that this is not per sale, but per installation, which means that creators pay regardless of whether or not their game is bought or even played. The term “install bomb” came into broad usage immediately as shorthand for a method where nefarious actors could damage a developer financially by repeatedly or widely (via bots or networks) installing a trial version (and, not coincidentally, profit Unity).

This first problem was that it potentially turns game marketing on its head, where the free-to-play model (currently the only way to make money on mobile) is damaged, free trial versions are now costly, giving away software for charitable purposes is no longer viable, and the economics of other marketing models, such as bundles or console subscriptions, are disturbed. Ironically, this was introduced under (now former) CEO John Riccitiello, who infamously called game developers “some of the biggest f***ing idiots” for not focusing on monetization early, and then his company screws any early monetization plans.

The second problem is that professional developers (i.e., those making money or disinclined to advertise for Unity) are already paying at least $170 per month per seat (according to the website; it had been somewhat less when I considered licensing Unity a few years ago), with the calculation being that this was the cost of development to avoid backend expenses. Now, the backend costs are added and even if they replaced the monthly cost (which they have not), those companies have already paid that licensing fee; it is a sunk cost, so they are paying twice.

The third problem, related to the above, is that the installation charges are retroactive; even though they are started accruing in January, 2024, they applied to games that have already been completed and published. Companies could have moved on, no longer be using Unity at all, just selling a game they built in the past, and suddenly be on the hook to pay a company that they no longer have a business relationship with, or in the case of acquisitions, perhaps a company that they never had any kind of agreement with.

The biggest problem, however, is that Unity promised game developers that the game engine would remain royalty-free, built the Unity ecosystem based on that promise, and then reneged in a very big way. To be clear, this was not merely implicit: John Riccitiello made it very clear in his quote to GamesIndustry.biz:

If you’re a seven-figure developer, you can afford $75 a month, but if you’re not, if you’re just getting started or just choose for artistic reasons to give your games away for free, or if you’re a hobbyist screwing around or a student, this is free. You get the full power of Unity 5 for free. There’s no royalties, no f***ing around. It’s simple. That’s really what we’re announcing.

Well, they are definitely introducing a form of royalties (but worse) and are definitely “f***ing around”. To be clear, the costs would only apply after a game makes $100K, but the simple fact is that no professional game developer targets making less than that. Students benefit Unity greatly (and probably still don’t plan to make no money), and amateurs who are just making games as a hobby would simply move to a different engine that is truly free.

The Fallout

I don’t dispute that Unity Technologies had the legal right to increase costs and impose additional charges, especially after surreptitiously changing the licensing agreement (although I think the claim that they can charge retroactively for previously built games is tenuous, at best). I think that the manner in which they went about it was critically flawed. I am certainly not alone.

The backlash from the announcement was immediate, strong, and (appropriately) unified. Developers of indie games, who were arguably the most affected, were quick to condemn the pricing change, and many threatened to leave Unity, some stated they had already decided to move their games to a different engine, and the developer of one popular game even posted that they would remove it from sale when the policy took affect (although they later recanted, saying that it was a joke, but I remain unconvinced). Terraria developers Re-Logic donated $100,000 to Godot and FNA, two open-source engines, alternatives to Unity. Meanwhile, nobody outside Unity leadership tried to justify the new fees.

Unity tried, likely in vain, to quell the potential revolt against their game engine and, definitely in vain, to repair their damaged reputation by backing down on some of the changes. The revenue cap for not getting charged is being doubled to $200K, games which make less than $1M in “trailing 12-month revenue” will be excluded, and the fee will only apply starting with the next version of Unity, which will not ship until 2024 (at the earliest). They also gave an alternative option of a straight 2.5% revenue share (pure royalties) based on self-reported data. (To be honest, I find the concept of explicitly reporting revenue data to a tool manufacturer to be perverse.)

John Riccitiello was also “retired”, which step, to be frank, was way overdue. That should have been done well before this little debacle took place, but once it did happen, he should have received his marching orders within days or hours, not a month later. To be fair, it is not clear that he was behind this mess; it may have been forced by the soulless profiteers on the board of directors. As CEO, though, his ouster was an absolute minimum.

My Relationship with Unity

I personally have no skin in the game, nor does SophSoft, except insofaras Unity decided to eviscerate themselves before the SophPlay System™ was ready for external developers; we really could have had a boost from 1.5 million creators looking for a new home.

The company does not use Unity for its own projects, only for client work (and even then, not for a while now), and I do not particularly care for it. I know Unity fairly intimately, now, because the team I lead at DAQRI, the Advanced Concepts Group, was responsible for the development and maintenance of the Vos Extension for Unity, essentially the Unity SDK for the Smart Helmet and Smart Glasses. More particularly, I personally ported most of that SDK (with the assistance of a very talented colleague for the 3D mathematics) to run on hardware using an entirely different operating system, so any existing project would work with a simple setting change and rebuild.

Despite this knowledge of Unity, I find that I much prefer the “old school” approach of writing code and, importantly, being able to identify and enumerate all of the processes. I certainly appreciate the democratization of game development that a more visual engine provides, especially as I have watched designers and artists produce some wonderful prototypes without requiring a programmer, but I find that it doesn’t work as well for me.

About Integrity

Integrity is, literally, central to our company motto: “Quality. Integrity. Fun.

When we decided on this motto, we actively discussed the meanings and intent of each word, and in particular, the dual meanings of “integrity” and how we intended both. The first definition that usually comes to mind involves adherence to principles and values, honesty, ethics, and forthrightness. We want the company to be the business equivalent of a “person of character.”

The second definition, that is less common, is related to being complete and solid. We intended this meaning to apply to the company’s self-reliance, specifically in its production approach, being able to perform any (and all) aspects of game development, from concept and design, to programming, artwork, audio, and writing, through quality assurance, packaging, and publishing. (To be honest, marketing was the only development skill we have never really mastered.)

Our interpretation of this second definition was why we never tied ourselves to an external game engine (Unity, in this case, but there were several earlier options as well). To maintain corporate integrity, we would never commit to an arrangement where an external entity, particularly a money-grubbing conglomerate, could directly harm our interests. Developing in Unity binds a company to external actions and decisions, since there is no quick alternative should things go wrong (which we always articulated as “disappears tomorrow”); this is why the Unity policy change was so impactful to many developers. There is no way to quickly move a game developed in Unity to an alternative, so you can become a victim. On the other hand, if any major tool we use, say Visual Studio or Photoshop, were to disappear tomorrow, it would be an inconvenience but the code and artwork would still be usable; we would only lose the time it takes to switch tools.

Of course, Unity also badly violated the first definition of integrity. Making a promise of a royalty-free engine and then, deliberately, making unannounced changes in the licensing agreement to allow royalties and installation fees, and then enacting (or trying to enact) such additional costs is a high stakes “bait and switch”. The fact that it can be argued as legal does not make it ethical, and it definitely is not. The fact that this whole story arc unfolded under one CEO makes it that much worse, since the hypocrisy and unfair treatment cannot be explained by a signaled change of direction. Had Unity been acquired by another company with vastly different goals, one should prepare for such a turn of events, but for the most part, most people don’t consider an IPO a form of corporate takeover, though they probably should.

I contend that no company was ever purchased (including via IPO) to benefit the customers. Game developers are the customer here, and Unity’s actions signal their obvious intention to take as much profit from them as they can get away with. In this case, I think that they reached too far into their pockets and got caught, red-handed.


If Unity truly just wanted to get funding to improve the game engine, it could have signaled that policy change, consulted with its customers, rolled out a workable new policy and license agreement starting with the next version (not forcing anybody to upgrade), and then made tangible improvements to the new version. Game developers could make the choice between shiny new version with bells and whistles (and royalties) or the status quo (with the inevitable slow technical decay). I would even have planned to cut the older version loose, totally free or (better yet) open source, at some point a couple years down the road. They did none of that.

Instead, they blindsided customers with new, unworkable, and retroactive fees, against explicit promises, as an obvious consequence of attempted profit-taking for investors, not any concerns for their customers nor the end users that they claim (but do not service). I have no doubt that some hobbyists will keep using Unity because it is “free”, but those who harbor hopes of eventual success, or care about integrity, will likely look to other engines. Students will still learn Unity and other engines, but professors who currently focus primarily on Unity should be reducing this emphasis (and increasing emphasis on Unreal).

Professional game developers, however, will turn from Unity in droves. Some have already begun porting their projects in development to alternative engines. Some will hold their noses and continue with Unity for current projects, due to the cost of switching engines, but then use another engine when starting future projects. A few will determine that their processes are too dependent (unfortunately) on Unity and will continue with them rather than bear the expense of porting everything to a new engine.

The fact is that Unity no longer has any significant advantage over Unreal Engine, which has a reputation for better technology and a more stable platform, while Unity is known as the engine of low quality games and, now, a major lack of trustworthiness. As many professionals switch to Unreal, and Godot and others improve through additional support and users, the Unity community which has been building for years will deteriorate. Unity Technologies will be repaid for their greed by a substantial loss of value in their core asset.

Although it is not always (read: rarely) the easy path, is sometimes nice to see that our decision to commit to integrity can prove the correct choice. 😉

Mental Retooling

Grizzled veteran embraces free-to-play concept.

In my last post, You Lost Me at ‘Buy’, I was ranting about a scenario that really had me down-heartened about the direction of the game (and, in particular, mobile game) industry.  However, not being one to wallow, I already had a plan in motion (and development) to adapt to the changing landscape of the business I chose (back in the 80s) to be part of.

In the two months since that post, I have been working on Demolish! Pairs FTP, a free-to-play version of our latest iOS release.

In truth, the process was already underway when I made that blog post, but a comment from Joel Davis, along with an intense read of the book he recommended, Free-to-Play: Making Money from Games You Give Away, by Will Luton, caused me to revisit the (free-to-play) design from the top, with a different attitude and approach.

I ended up with a separate design document just for the free-to-play features that was longer than the design document for the game itself.  I did not change anything about the actual gameplay, deciding against banner advertisements that would adversely affect the experience, and determined not to allow “pay to win” in any sense.  However, I did incorporate several features into the product (interface) to allow for free-to-play, including certain (temporary) game restrictions and advertising, as well as means of playing for “free” forever (wherever time is a valueless commodity).

To be clear, I “embrace” free-to-play approximately the same way as I might embrace a great aunt who I have never met, and may never see again.  Of course, if it turns out that this great aunt happens to want to enhance my income substantially, then the least I could do would be to visit more often and get to know her, and my embrace may grow sincere.  It would be the polite thing to do. 🙂

In the world outside that metaphor, the new version is designed to allow, and encourage, players to give us money for the fun product we have created.  However, it does not force anybody to part with money and, actually, players may not be significantly restricted until they get decent at the game.  The other major drive and purpose of the free-to-play version is to get information about the market, relative to the paid version.  Although the first/paid version of Demolish! Pairs did make some money, that income stream deteriorated to the point that the possibility of cannibalizing sales with a “free” version is no longer a serious risk.  (A game needs to make a meaningful contribution to keeping our company in business, or it may as well be free anyway.)

So, I created this new free-to-play edition, Demolish! Pairs FTP, over the last couple of months (in addition to a whole new round of iOS solitaire game updates for Goodsol Development).  The actual development time for just the FTP (which does not stand for what you think it stands for) version was 80% of the time it took to build the original iOS (paid) version of the game from the prototype.  The game has been submitted to the App Store, so now we are just waiting for approval (I hope), after which we will see how the initial sales stack up against the initial sales of the paid version.

The free-to-play edition should have a much longer tail than the paid version, so when (<optimism>) this new version matches or exceeds the income of the paid version over the critical first 3 days, and then grows instead of plummeting, then my attitude will truly be changed (</optimism>).  I have a very specific target in mind for iOS to be considered a successful platform for us, and I am anxious to see whether we make that goal.

I plan to write more about the free-to-play features and results once there are actual results to consider.  In the meantime, you can buy (the original version of) Demolish! Pairs in the App Store, with no ads nor restrictive baggage.

Note: If we get at least 350 purchases of Demolish! Pairs 1.0 before the end of this month [October], Digital Gamecraft will donate $1000 to the Juvenile Diabetes Research Foundation, plus 50% of all net proceeds for sales beyond 350 (before November 1).

You Lost Me at 'Buy'

Game development can really suck sometimes.

Let me set the (completely true) scene for you.  My wife and I are at an informal dinner with several other people, none of whom we had ever met before, except for my cousin (the only reason we were there).  At some point, while waiting for our meals, he started talking about our game, Demolish! Pairs, and when somebody wondered about it, he pulled out his iPhone and started demonstrating it.  One of his acquaintances showed interest in the game, so he told her, “You can buy it on the App Store.”  Then, to me, he asked, “How much is it, again?

She did not even wait for my reply before saying to him, “You lost me at ‘buy’.” 🙁

Although I was disappointed and slightly shocked at the direct rejection of Demolish! Pairs (or any game) on the basis of it not being free, it was not until days later until I realized exactly how much it was really bothering me.  This is truly a depressing sentiment for somebody who makes a living developing games.  I hope this rant exorcises that particular demon from my thoughts.

Point 1:  Games should NOT be free.  Worthwhile people are willing to pay for their games explicitly, rather than requiring coercive “free-to-play” schemes.

Shortly thereafter, we heard the common refrain about none of them really playing games anyway, followed again by the increasingly frequent mention that, ‘what I do play is this app called Candy Crush.’  Then, pretty much everybody admitted that they all play that game, and these “not real gamers” started discussing the game, including specifics of their approaches to winning and getting 3 stars on every level!

Point 2:  You DO play games; every interesting person does.  Playing a casual game is still playing a game.  In fact, that is the most common form of gamer.

It is gravely insulting to hear, repeatedly, that the games we develop somehow do not count as real games.  Just because a game does not involve a console and game controller, and shooting people on screen, does not make it any less of a game.  Lots of people play Call of Duty, but ridiculous numbers of people also play Candy Crush.  I do not like to segment people into hard-core/mid-core/casual/social/live/whatever gamers; they are all gamers.  Please enjoy Pretty Good MahJongg and Demolish! Pairs, but do not tell me that you are not playing a game while doing so.

Now, Candy Crush is the current flavor of the day, and that is a position it deserves.  It is a game based on a proven (addictive) mechanic, with a clear theme, nice artwork and audio to match the theme, and excellent execution of a good design.  For this effort, it currently earns more than $800,000 per day on iOS alone.  Puzzles and Dragons is reportedly earning $3.75 million per day!  By contrast, most games earn very little, and Forbes reports that the average iOS app earns only $4000 (lifetime), which is still far better than either Android or Windows Phone.  Needless to say, no proper game developer can make a living on an “average” iOS app.

Point 3:  Just because some games are reporting unbelievable revenue figures, it does not mean that the game industry, as a whole, is healthy.

Right now, more than ever before, we are seeing a huge influx of games on the market.  Lower barriers to entry have created a glut of content, much of it not very good, and this makes “discoverability” a serious problem.  Essentially every programmer I have ever met in my career has created a game at some point, usually while learning.  The difference, now, is that a much larger percentage (and total number) are taking these experiments and school projects and publishing them, either for free or on the off chance that they might make some “beer money”, while working a different job or living with their parents.

The result of all of this is that they are essentially peeing in the pool in which professional game developers have to swim.  Small (or “indie”, if you prefer) developers, in particular, have to deal with a ceiling of games with large development teams and huge marketing budgets, and a floor muddied by hundred of thousands of mediocre games (at best) that only serve to make our games harder to find and exposure much more difficult.  The current situation is unsustainable in the long run.

To be clear, I am very frustrated, but I am not about to “pull a Phil Fish“.  However, if our products do not find an audience to achieve significantly more than average sales, we will not be able to stay actively in business.  Sure we might be able to produce some games in our spare time while writing boring accounting software or designing web sites, but that would be barely acceptable after two decades as a full-time game developer.

To end on a positive note, however…  I overhead a conversation among some of the young people I know, and they were complaining about the IAP (in-app-purchases) in Plants vs Zombies 2, saying that they would much rather just pay for the game than being constantly bombarded with IAP (and not insisting that they were not gamers 🙂 ), so perhaps the pendulum is starting to swing back, away from “free-to-play”.


Guilt by [non-]Association

There goes the “neighborhood”.

Going into the past weekend, one of our product sites had a problem in which accessing the page caused a very scary (and completely incorrect) “Reported Attack Site!” message in Firefox browsers, and a similar message in Safari (and Chrome as well, reportedly).  Of the major browsers, only Internet Explorer was allowing direct traffic to two specific pages, because it was the only one that does not (by default, anyway) subscribe to the StopBadware.org database.  To access our site, a user would have to click to ignore a message that said, more or less, “Run away from here and never come back.”

The problem began last Thursday, when FileKicker, a Digital River company that provides download bandwidth for many independent software publishers (including Goodsol Development, until recently), got blacklisted on the aforementioned database.  This meant that downloads from FileKicker generated the scary message, presumably because they delivered some “badware” somewhere, although I have no evidence (nor much doubt) that this happened.  The report was filed by Google.

On Friday, two of our pages that linked to downloads there were blacklisted as well because, I guess, Google assumed that if FileKicker was bad, anybody who linked there must be bad, too.  This is the “bad neighborhood” idea: we never linked to anything classified as badware or even any third-party software, but if we linked to a “bad” site, we must be bad ourselves.  Of course, the fact that FileKicker provided services for thousands of clients does not seem to matter.  This was bad on Windows, but devastating on Mac OS X, where Safari has the vast majority of the market.

By very early Sunday morning, due to quick action from Goodsol to remove all FileKicker links, and a subsequent retraction from Google, our pages were no longer banned, but all our direct links to FileKicker downloads (such as those stored at Apple Downloads) were still a major problem.  It took until yesterday [Wednesday] evening (i.e., six days) before FileKicker got this problem resolved for their downloads, with precious little information provided to customers in the interim.

This was a ridiculous episode, which produced many insights:

  1. The problem was first reported in the newsgroups of the Association of Shareware Professionals (by Dexter Bell of The Utility Factory, developer of FileBoss, an excellent file manager).  This is one of those situations in which ASP membership (and participation) was invaluable for rapid response.
  2. Digital River claims to be “the global leader in e-commerce”, a public company with close to $3 Billion in annual transactions, yet it took DR three times as long to fix the problem as Goodsol Development, a MicroISV, and never informed its clients until well after ASP members informed them.
  3. SWMirror, an independently operated download service run by Mitchell Vincent, was able to provide (better) services to affected publishers and have many downloads restored before FileKicker, part of a conglomerate with more than 1000 employees, even acknowledged the problem.
  4. The pattern of Digital River buying successful companies serving the shareware industry and turning them into garbage is intact; in fact, that record may now be unblemished.  Dealing with DR companies should only be done with due deliberation.  (read: “Do not touch them with a bargepole.”)
  5. The concept that Google can, with a simple electronic “report”, essentially shut down an internet business overnight, is more than a little scary.  Imagine launching a product that could compete with Google (or a blog being critical of them) and having most of your traffic cut off by a similar unsubstantiated report.
  6. The whole internet is a “bad neighborhood”. In fact, Google itself would be the worst culprit of all, since it provides links to nearly every crack site, domain squatter, malware distributor, and internet fraud out there.

Really, I am definitely in favor of a system to eliminate (or castrate) true spammers and distributors of malware, but when an honest company that has been doing business online safely almost since the inception of the web is economically impacted, things have gone too far.

Here endeth the rant.

Have you joined SpamBook yet?

A barrage of Facebook spams sets off a rant.

Last Friday, at 4:38pm, I received an email from Facebook entitled, “Reminder: 5 of your friends invited you to join Facebook…” Fine. Some people collect and count “friends” on that service, while I do not join and count the number of real life friends who have invited me to join. (My wife and business partner knows me well enough that she is not part of that group.) If I were to join, of course, I would lose count.

Then, at 11:40pm, I received another one, nearly identical, but with different ‘Other people you may know on Facebook’. Curious, I verified that the messages were both coming from Facebook, via email headers and the fact that the (accurate) list of invitations I have received should be known only to them. “Oops, duplicate message,” I thought. On Saturday, I received reminders at 4:44am, 6:47am, 12:16pm, 5:07pm, and 9:44pm. For good measure, I received another one on Sunday at 1:28am. Eight nearly identical messages within 33 hours trying to get me (now pissed) to join their silly little club. Not likely.

[I just decided to check the names in all eight messages, and two actually suggest that I may know my own brother. That I do. None of the other names, though.]

After the Facebook “fun” stopped, a denial of service attack on our server began. Somebody started bombarding the server with random spam messages to, literally, random (GUID-like) addresses at our domain. Not a single message from the culprit had any chance of hitting a real address, since they were not even in a human usable form, but we were getting hundreds per minute, and lost the server entirely for a while.

In the middle of dealing with this mess, the home phone rang (which normally puts me on edge anyway) and I answer to find that Payless Shoes has decided to robodial me to tell me about some sale coming to an end. Seriously?!? We are on the national Do Not Call list, and the fact that we may have bought cheap shoes there once does not give them the right to call me. I have no idea how they would have my number in the first place, so it may have just been coincidence. Report filed; customers lost.

The mail arrived with a machine printed return address from “Ealge Eye Fitness”. It made me laugh, since the people that sent it out clearly did not have the Eagle Eyes that they intended to portray. Business not earned.

Once email service was returned to normal, “Michael Jackson” became only the second actual name inducted into my spammers hall of fame filter, joining “Oprah”, as subjects (or subsubjects) that guarantee a message is not intended for nor of any interest to me. The sheer number of “surveys” and “news items” about his death was astonishing, especially from an industry which still regularly sent me (in June) special offers for Valentine’s Day.

Now that it is officially July, let me simply say that the greatest musical loss last month was definitely… Koko Taylor, who died on June 3 at the age of 80. (I saw her pitch a Wang Dang Doodle live more than 20 years ago, and she kept tearing it up right to the end.)

Here endeth the rant.

The downside of VOIP

Or, Why you should probably avoid Comcast.

Last Friday, our cable television went out. Not like ‘some services are missing‘ out, but like ‘somebody just sliced a cable‘ out. There was static on all of the analog channels, and just black (no signal) on everything digital. Many months ago we made the decision to ditch their cable modem in favor of our SDSL connection (from ACD.net), which was both faster and more reliable. We decided that the redundant Internet connectivity was more trouble than it was worth, at the added expense, and also, frankly, were just unhappy with Comcast.

For the last year or so, Comcast has been on an all-out media blitz to get people signed up to their VOIP package, bundling cable television, Internet, and telephone. The timing may have been coincidental, but the mailings seemed to intensify after we downgraded, and when we had to call about (somewhat regular) problems with the only service we kept (cable television), we always had to listen to another pitch before we could tell somebody in another state that our local HD was out… again.

Anyway, when the cable television service went completely dead, we called the customer support number. Instead of the usual sales pitch we got… wait for it… nothing. Yup. Apparently they use their own VOIP service, so when the cable system has a failure, you cannot reach anybody there by telephone. Brilliant! I was not even vaguely intrigued by the offering, but this definitely convinced me that my convictions against this technology (and Comcast) were not unfounded.

Not that I am any fan of AT&T either, but I am a believer in land lines. In the event of an emergency, when one really does need to have a phone, I am glad to have a system that will work even when the power is out. (Yes, we keep a standard handset telephone for just such an occasion.)

Our cable television signals did come back before prime time, but I think that all a satellite television company needs to do is add CBC and we are there. (Perhaps we should just move to the Bahamas where, oddly, Canadian programming is also available. Do they long for snow?)