Harald In general you could have upgraded the Spine project files from 3.8 straight to 4.1 and saved the intermediate step.
We tend to use the older version typically for stability and so far with spine it has been great and we had no issues with 3.8 until upgrading unity so didn't see the benefits of updating to too new of a version unless necesary. But yes we will eventually upgrade to 4.1 , 4.2 etc.
Also, if you have many projects, we highly suggest automating exporting your project files using the Spine command line interface as described here. For example, we use this script to export all the Spine example projects and to create texture atlases: export.sh.
Yes we were looking at that script, but we have individual spine export settings based around different things such as some texture scaling on export is smaller than others, some use premultiply alpha some do not, some use single skeleton for sprite sheet some don't. So wanted to go the safe route to double check the files on exporting, unless of course we can use the commandline to convert a 3.8 export to 4.1 , instead of going trough spine and keeping the settings and texture sheets themselves 1:1. If there is a way to update just the binary let me know thank you.
You could easily tell the spine-unity runtime by changing the provided source code at your quoted line by returning Texture2D.whiteTexture or null if loading the icon asset fails:
That's true we could theoretically update the source code, we'll look into that!
Could you describe what exactly you did as "whitelist them into the final output"? Also, how did you exclude them from the build, which triggers the build errors? Did you delete the icons entirely?
We have scripts to make sure we export only what we need on build, so we only give users specific dlcs , that we don't have too big of an export etc. Some of the scripts check for lose images, called by scripts , which need to be assigned to a specific dlc otherwise we can't build the game. Or of course they can be added to the baseline export so its available to all the dlcs. So we applied a baseline setting to all the GUI icons because some of the spine scripts seem to be requiring them to run on build. We have not deleted icons, we only added an extra sprite sheet for them because they were mostly non power of two, just to keep our export script happy because it also requires our images to either be power of 2 or in a sprite sheet.
But yeah that was the long explanation.
Thanks for your help , we'll investigate further.