Everyone loves modding! However, it's easy to break things if you're not cautious and change things like mod or asset IDs. It's also easy to glance over documentation.
Unfortunately, I had to deal with ID conflict issues in the past two days where mod creators have unknowingly broken their mod compatibility with older dungeons because they did not account for making asset IDs backwards compatible.
This new update introduces two new safety measures which will prevent those mod compatibility issues in the future:
1. Manual Mod Version Increments
The "Version" property in your Mod.yaml no longer defines what game version the user requires, but rather denotes the version of your mod.
It's recommend to start your mod at version "1.0.0.0" when you first upload it to the workshop.
If you want to update your mod after making changes, you have to manually increment the version number, let's say to "1.0.0.1". If you leave the mod version unchanged, the mod will not be updated in the workshop.
This change makes the mod creator's intent more clear and will also allow me to version mod's in the engine itself.
2. Asset Key Validation
From now on, when uploading or updating a workshop mod, all asset keys are added to the workshop item's metadata.
Let's say you have a tree entity with the id "MyTree" and your mod ID is "MyCoolMod".
The mod asset reference of that asset is "MyCoolMod:MyTree", and the asset key would be "MyTree".
The ID is optional, but it's recommended to explicitly set it, otherwise it uses the file name as the ID, which is more prone to accidental breaking.
When attempting to update a workshop mod, the game checks to see if all the asset keys that the metadata contains are still valid in your updated mod.
If that is not the case, that means you have made a breaking change which in theory would prevent users from loading their dungeons, in case they have used your mod in the past.
Generally I don't encourage changing IDs, however if you need to do so, make sure to use the Alias property to make your assets backwards compatible.
You can have as many aliases as you need.
Happy Modding!
[ 2025-03-25 19:53:51 CET ] [ Original post ]