Update – 9/25/23
Looks like Unity got the message that their plans were poorly thought out. I still don’t trust them and neither do many other devs. At least this makes it more bearable to finish Razorlocks but I will still be exploring other engines for future projects. I don’t plan to return to selling on the Asset Store.
I have little to say about the Unity situation that hasn’t already been said. Through all the noise and potential misunderstandings there are some key distilled factors that make Unity’s stance untenable:
- For a published game there is a possible combination of installs and gross revenue that can result in Unity’s fee exceeding the revenue itself (e.g. mobile or F2P titles with sizeable, growing player bases over the long term that earn very little per user).
- This is because Unity thinks its makes sense to charge based on something that isn’t proportional to revenue—that being installs.
- Unity ultimately decides how many installs your game has, based on a “proprietary data model” that for all external parties is basically equivalent to Unity saying “we want this much” (NOT tracking actual installs, mind you since that isn’t practical).
- Unity thinks that they can freely change the terms of service for existing games, going so far as to remove previously established contradictory clauses.
Sure, most developers technically won’t be affected by this much at all, if at all (myself included). But the fact that any one of these points are valid is inexcusable.
Yes, we all know that Unity needs to earn more money from the engine itself in order to sustain it, but this is truly one of the most stupid and disrespectful ways they could have gone about it. If that could’ve meant paying royalties or a higher monthly subscription then fine, but don’t expect developers to put up with a magic number pulled out of god-knows-where on a regular basis that’s impossible to plan around. Even paying $0.20 per sale of a game would be very reasonable for any typical one-time purchase game that isn’t sold for less than a few bucks.
Side note: I haven’t felt compelled to pay for Plus or Pro ever since I bought a perpetual license back in the Unity 5 days and I’ve already put money in their pocket with my Asset Store run and the fact I used to work for them as a contractor through Accelerate Solutions, and I don’t really care about having the splash screen in my games since if a user sees it then they’ve already bought, downloaded, and launched the game which is the main hurdle and they probably won’t hit alt+F4 when they see the Unity logo (but with the new hysteria around the Unity runtime potentially acting as spyware, who knows?).
So what does this mean for my projects?
I’m ready to walk away from the engine, but in more of a “welp, I guess that’s it then” kind of way rather than filled with rage (even though I am quite angry about this). I’m going to be taking down Powerslide Kart Physics from the Asset Store very soon (I was already planning on doing this in the next few months since sales have pretty much stopped and I don’t want to support it anymore). Then after a short grace period I’ll make it open source as with my other assets.
For Razorlocks, I’ve put far too much work into the game to abandon it or switch engines. I’ve already been teetering on the edge of burnout so cutting back on scope and getting it out as soon as possible is really the only choice. I wanted it to have a charming story and more characters, but I just need to focus on building a handful of fun levels to exercise the core gameplay and refine the objectives a bit. Enough to at least justify charging $10 or so for it. Hopefully the fact it’s made with Unity doesn’t put off too many potential players. Love the feeling that my passion project is effectively dead in the water and most of my remaining motivation is from the sunk cost.
Anyways here’s a screenshot of progress on Runner’s Ridge. Most of the recent work has been on level design tools leveraging Megafiers 2 to create deformable level chunks that I can easily put together. I’m in the process of replacing all of the existing geometry which is why it looks mostly the same as before. Previously I experimented with using baked skinned meshes but that turned out to not be scalable for me.
I’m looking forward to getting to work on something else in a different engine since this project has been moving at a glacial pace and I don’t want to touch Unity more than I have to.
To put things into perspective with all of this, I’ve been using Unity since mid-2012 (when I was still in high school) and selling Unity assets since October 2013 (one month away from a decade!). I’ve been working on Razorlocks since August 2018 so almost half of my time has been with that project alone. It’s time to move on, which is sad since I’ve built my career and game dev skills around this engine like so many other disgruntled devs.
I’m not convinced Unreal is going to be a magic bullet like so many hopeful devs seem to think because I’ve actually tried it and it’s got its own share of quirks (it’s not a “blank canvas” in the way Unity is, or used to be). Blueprints become a nightmare to manage when you do anything complex (prepare to spend hours rearranging and grouping nodes if you weren’t vigilant while prototyping). And the engine is still owned by a large corporation that doesn’t care that much about you. I haven’t looked much into Godot yet but I get the impression it’s good for solo devs making simple games and I don’t have to worry about capitalistic BS (and it supports C#!!!!).
Minor unrelated gripe, but why does Unreal lock gravity to be straight up or down? Pointless shit like that grinds my gears and encapsulates what I don’t like about the engine. Unity exposes it as a vector and both engines use PhysX (I know Unreal is transitioning to Chaos). And yes applying an arbitrary custom gravity force is trivial, but again why have this restriction?