Unity came from small beginnings with its founding trio and, over the years, has emerged as one of the biggest platforms available in video game development. It’s also been seen as an indie-friendly platform that has helped to push mobile game development significantly.
However, despite its massive popularity and success, there have been issues with the platform. In September, we saw Unity aim to tackle this issue directly by announcing a new runtime fee, which sparked an instant backlash from those using the service. Since then, Unity has tried to clarify the situation and is looking to restore user trust.
Yet, for some, it’s too little too late. In this guest post, Fundamentally Games CEO Oscar Clark shares his experience with Unity, going from an advocate for the platform to being done with it all together. Here’s what went wrong.
In early 2014, I was sitting in the Unity offices in Copenhagen, chatting with a room full of Polish game developers talking about game design in advance of the Nordic Game Jam. In the room were a bunch of senior Unity folks making slightly odd comments that I completely missed. There was a big secret, and they wanted to know if I was in on it. I wasn’t. The secret was that Unity had acquired Amplifier and was about to become Unity Ads. I spent the next four years as the evangelist for Unity Ads. I loved my time working there, but now, five years later, I’m done.
Unity established itself early on as the friend to the indie development community, not least as it was the best tool to make mobile games. Although my focus was always on how to monetise your game, I was given a fantastic opportunity to connect with some of the amazing talents using the platform to make incredible content. However, let’s be frank: Unity was not always the best at helping devs solve issues when using the platform’s tools.
Fast forward to 12th September this year and that email…
The pronouncement of the run-time licence was the final tipping point for a lot of people. The decision to apply what I consider to be a retrospective tax on games ripped apart the illusion that Unity was the developer’s ‘friend’. Despite some degree of rollback, the damage was done. They had destroyed over a decade of trust.
Don’t get me wrong, I do (kind of) appreciate the challenges Unity was facing at the time.
With the rising regulatory pressure and economic and competitive environment, this is a tough time for the industry – I’ll be exploring that in another piece. But this approach seemed to me to be a tactic designed to manipulate developers to use their ad platform, a position neatly summarised by Eric Seufert on X (Twitter)
At the time, we were testing a new mobile game that was strategically important for us, so I didn’t want to rock the boat and our dependence on the platform, combined with my past association with the team. However, I privately shared my disappointment about that announcement in no uncertain terms. But that’s all in the past now? What, therefore, has led me to go public now?
In the middle of prepping a strategically important game for us as an indie publisher, we had been crippled, and no one at Unity was replying.
Oscar Clark
A couple of weeks ago, that same game’s account was locked out of Unity without notice, telling us that fraudulent activity had been detected. Obviously, we appealed (as we didn’t have any fraudulent activity) and waited.
And waited.
For days.
In the middle of prepping a strategically important game for us as an indie publisher, we had been crippled, and no one at Unity was replying.
Fortunately, I’m lucky to still have a few friends in the organisation. And there are some amazing people still there. Most couldn’t help, but one guy was able to talk to the Fraud team and he helped me work out what was going on.
There was still no reply at all on the Support channels.
Bear in mind that this game is in test. It’s had ad spend in the low hundreds of pounds and ad revenue in the low hundreds of pounds too.
I was directly told that the Unity anti-fraud algorithm flagged it wrongly – what a surprise!
It still took the Unity Fraud team over a week from the original support ticket to restore the account. In that time, we completely lost all the momentum we had in testing that game and have had to start again. It also meant we lost any chance of launching the game this year, which has a direct negative financial impact on two businesses – ours and the development team.
What was the Fraud team’s response?
No apology. No confirmation of what had caused it or how we could avoid it happening again.
Instead, we were implicitly blamed for the problem in their reply.
Of course – if I wasn’t able to go through backchannels that aren’t available to every developer, I would never have known what had happened. A problem with Unity’s tools that cost us from getting revenue this year and which could easily have destroyed our game had occurred, and we didn’t even get the courtesy of receiving information that could help us avoid the problem again.
The painful truth is that after over five years of being the evangelist for Unity Ads from its conception at Amplifier, I’m now recommending to the teams we work with to move away from Unity.
Oscar Clark
I don’t think that is acceptable, nor is the time it took for them to respond (and that this response only happened after internal prompting). So, I’m done.
The painful truth is that after over five years of being the evangelist for Unity Ads from its conception at Amplifier, I’m now recommending to the teams we work with to move away from Unity as far as possible.
I could stop there and just leave this as a rant, but I want to ensure that you can take practical action if you read this.
Breaking up is hard to do
It’s not a simple thing to move away from a platform. Converting from any platform is a cost, not just in terms of time taken but also in terms of learning how to extract the best experience for the game you are developing. Even moving away from the Ad platform has its challenges.
This means you must understand that working with any platform is a compromise and that you must be prepared if that organisation makes decisions you disagree with. In some cases, that means sucking up the problems and making the best of them. There is always a calculation to be made, and even though I personally am done in this case, never say never!
You need to nurture personal relationships with folks you can rely on in these organisations. That’s not just a one-way street. It’s important to invest in those connections but equally to understand that those people won’t always be there – they will progress or move to other teams. And you never know when another connection joins the very company you need help from! Investing in your network of industry connections can save you from being blindsided.
Don’t get me wrong – I appreciate this shouldn’t be necessary, but it is what it is – and I don’t expect (or got) special treatment because of my former role. However, what I’m trying to get across is that the more you engage with other developers, platform holders and wider BD folks, the better. You never know when you might need help and when you may be able to make a difference for them too.
As a business, they have never quite been able to deliver the support that our industry should have been able to expect.
Oscar Clark
It’s also important not to take the responses you get from a platform as the final answer. You need to reach out and be persistent to uncover what is really happening. These issues are not usually any individual’s actions but a flaw in the process. In this case, I completely understand how the fraud teams’ standard policies probably prevent them from any admittance of responsibility, even though it’s deeply upsetting. But even saying that makes me wonder, should platforms not carry some responsibility for the impact they have on their customer’s businesses when their service falls below a reasonable standard?
This is a very difficult time for a lot of game developers with privacy regulations, rising costs of user acquisition, economic crisis, the post-pandemic decline in play activity, widespread redundancies and closed studios, reduced access to funding and all the horrific news in the wider world. No one needs uncertainty over what partner or platform they should use.
Unity once did something amazing. They genuinely democratised the games industry. They empowered the mobile games space to become the single most popular way to play games. But as a business, they have never quite been able to deliver the support that our industry should have been able to expect.
I hope that one day, they can again be seen as the champion of game developers.
window.fbAsyncInit = function() {
// init the FB JS SDK FB.init({ appId : 250161755076617, // App ID //channelUrl : '//'+window.location.hostname+'/channel.php', // Path to your Channel File status : true, // check login status cookie : true, // enable cookies to allow the server to access the session xfbml : true // parse XFBML });
FB._PG = { url: "/useractions/loginfb/", response: "allowed",
// Common handler to fetch FB details and reload the page process: function(me){ $.post( FB._PG.url, { username: me.username, uname: me.name, uid: me.id, uimg: 'https://graph.facebook.com/' + me.id + '/picture?type=large' }) .done(function(xml){ if ( $("status", xml).text() == FB._PG.response ) window.location.reload(); else alert('Error: Something bad just happened. Our tech department has been notified. Please try again later.');
}) .fail(function(xml){
alert("Error: something wasn't right there, please try again.");
}); },
// Used by event subscriptions to handle the response handleResponse: function(response){ if (response.authResponse) { FB.api('/me', function(me){ if (me.name) FB._PG.process(me); }); } },
post: function(text, image){ image = image || $("#fb-image").attr("src"); FB.ui({ method: 'feed', display: 'popup', link: 'https://www.pocketgamer.biz/comment-and-opinion/82975/unity-im-done/', description: text, picture: image }); } };
FB.Event.subscribe('auth.statusChange', FB._PG.handleResponse);
FB.Event.subscribe('edge.create', function(response) { $.post('/ajax/social-links/', { site: 'facebook' }); }); };
(function(d, s, id){ var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {return;} js = d.createElement(s); js.id = id; js.src = "http://connect.facebook.net/en_US/all.js"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));