Oh, hello. I really wasn’t expecting one small paragraph in my big postmortem to spin out into a separate thread. It wasn’t really intended as feedback, certainly not a request, more just a personal reflection, but sure I’ll try to expand on it.
Firstly please bear in mind that I’m talking about 6 years’ worth of Defold updates. Breaking changes may be rare, but there have been several over that kind of time frame. Also updates may now be monthly but they used to be fortnightly.
The point I was trying to make is that it isn’t clear what version of the engine the engine’s developers expect me to be using, so without any other indicators the answer is always ‘latest’. With Unity LTS there is clear communication: if you want stability use an LTS version, if you want new features use what they call ‘tech’ versions. Also, LTS versions have a clear expiry date of 2 years, after which they stop being supported but remain available. There is a clear strategy here that they explicitly describe and recommend: when you’re starting a multi-year project, start on the latest tech release and follow that, settling on whatever the newest LTS version will be that comes out during the length of your project. If you’re starting a project that will take a year or less, just use whatever the newest LTS version is at the project’s start.
Updating the Unity version of a project is a big deal, it can take days of work. But you know that going in and you only have to do it once or twice a year, so all the time spent on it is batched together. Plus they have update guides detailing all the breaking changes, so you don’t have to read thousands of largely irrelevant patch notes.
With a monthly and especially a fortnightly update schedule, there is a constant background pressure to update. Especially for an irregular hobby project, there will practically always be a new version of the engine out, and I don’t know if I’m expected to update or not.
I did eventually. Was I expected to, supposed to? I don’t know, it didn’t feel that way. Will problems arise from a project remaining on an old version of Defold? I don’t know, presumably.
Updating the version of any engine any project is running on has risks and costs. Things that are relevant to your project may be added, removed, intentionally changed, unintentionally changed, or broken. Some of those risks can be mitigated by spending more time on updating your project, which is the cost. You can take a chance and update blindly, or you can be thorough and read all the patch notes between your current version and the latest, noting all the risks relevant to your project and the things you need to check or do post-update to verify or fix them. Clearly this takes time, and it takes an increasing amount of time the longer you wait to update. Probably you could do most updates blind without issue, but you need to be doing so regularly, because otherwise when an issue does eventually occur you’ll have a hell of a time identifying where it came from if you did one big blind jump.
Btw to make my life easier I ended up having a defold-version.txt
file in my project under source control so that I know what version of the engine a project is using and can see the history of what versions it used before.
Project last updated to:
Defold 1.3.0
Released 7th March 2022
https://github.com/defold/defold/releases/tag/1.3.0
At the time of release, Curious Fishing was on a version of Defold 6 months out of date. Is that a problem? I don’t know. Will that be a problem when I open the project 2 years from now? I don’t know. It would have been a year out of date but there were fixes I had requested in that version so I needed to update to it.