i usually write a "goodbye to the year" post every year on my blog but i've had some personal stuff happen recently that i'm waiting for closure on before i feel like i can finish the year... so instead i have a different goodbye post, where i will say farewell to unity.

snack machine change screenshot: Stop dawdling, Boo. I don't have the time right now.

i recently released snack machine change, a tiny game i made in unity. it was the second game i've released in unity, but i also plan on it being my last.

ever since the announcement of the runtime fee in september, it has been my plan to leave unity. i know there was some backtracking on unity's end, but the idea that a company could just suddenly say, 'hey! you know what we agreed on? well, we're changing the terms & all you can do is accept them!' - it was frightening how easily something out of my control could completely throw my dev in disarray.

this isn't a unity-only thing - the whole situation with twitter is a similar reminder to not tie yourself down to any one platform for anything, be it social media or game engines or distribution platforms - but with unity, hearing that the terms would apply retroactively was the last straw for me.

like i said above, i've only ever actually released two games in unity. however, i have bought various assets that i haven't ended up using, just because i thought i might use them in the future for when i want to do more in unity. i have two separate projects that will now never see the light of day - one unity port of a game i've already released which i was hoping to self-publish to nintendo switch, & one completely new game that i was planning to make in naninovel, the visual novel engine for unity that i used for my two released unity games.

i just don't want to continue developing in an engine where i can't trust that the rug won't suddenly be pulled out from underneath me. i'm very fortunate in that i mostly develop in another engine - the incredible open-source & multi-platform visual novel engine ren'py - i can pivot away from unity without it having a huge effect on my life. it still smarts that i spent money on assets i'll never use & so much time on developing stuff that will never be released, at least not as they are now... but it's not the end of the world.

but i have friends whose unity games are multiple years in development, whose whole careers are based in unity... & i just wish we had better options. i feel bad because i actually recommended naninovel, the visual novel engine asset i use for unity, to a number of people because i personally enjoy working with it quite a lot - but it's tied to unity, & it costs quite a bit of change. i still like naninovel, but now... it's hard to recommend it when it's stuck within a framework that seems like it might arbitrarily collapse on you at any time.

on that thought though, the nice thing about open-source engines is that it feels like at least even if the project suddenly dies or whatever the source is still there. i can continue using it in its current form. i can continue to grow it if i want, by myself or with other community members who are interested.

meanwhile, if unity dies, it dies. unity as a company can do whatever it wants with its engine & there isn't much we as users of it can do... we can complain online & try to convince unity of how they're mucking things up, but in the end unity holds all the control.

in this end, open-source engines feel like community gardens while closed ones are private. with unity's private garden, right now we as devs are given permission to enter & grow games in unity's territory - but at any time, they can say, 'nope, this garden is closed' or 'if you want to keep using this garden, you'll have to pay extra every month & also give us a share of your yearly crop of carrots' &c. &c. we can complain & unity might hurt for a while because they don't have anybody using their big garden, but in the end, we as devs have done the work for them by making the garden feel like a good place to make stuff, convincing other devs to grow stuff in this garden too, telling them it's safe to sow seeds in soil that we don't actually own...

meanwhile, with an open-source engine, even if the current 'owner' or maintainer as such completely abandons the garden, we devs are free to continue growing our current crop however we like - we can finish our game in the current version of the engine even if it's abandoned. we can work on forks of the engine maintained by other people (or ourselves!). any suggestions we make to make the engine better can be shared with everyone using it - a community garden where all gardeners benefit from working together to make it a better place... where the soil we sow our seeds won't be stolen from beneath our feet.

(i think i could phrase these two previous paragraphs more eloquently & make a whole proper blog post about it, but it's the end of the year & i'm mentally exhausted! so this is the blog post i am writing.)

i am planning on checking out godot since i've heard good things, but we will see how things go. i will continue using ren'py as usual, making little visual novels & reporting any weird issues i run into with the engine on github to hope that i can help fix them & make the engine better for everyone who wants to use it! meanwhile, i hope that people who also want to jump ship from unity will be able to with as little hassle as possible.

installing unity editor and unity hub

in conclusion, goodbye unity - wish we could've parted on better terms, but i'm happier planting seeds in a community garden where i can really share!