The reduced script that I attached here no longer fails with build f, but I’m afraid that the full script still has the error shown in the last screenshot (where 010 Editor decides that Strings are now Vector3s and an array of 5000 items now only has 4999).
What’s more, that screenshot was taken in the public release 16.0.2, which suggests that this problem predates the “Scripts forget their own types” fix done in 16.0.2c.
Please find a somewhat less reduced version of the script and related files on my Dropbox (grown too big to attach here).
I understand that the script is not supposed to work with the current limitations - it still tries to use its own local types after calling RunTemplate(). However, in this case 010 isn’t forgetting types but mixing them up, so I think there’s something else going on.
As for the workaround of moving the script types into templates: putting them only in templates isn’t really an option, because then it’s no longer possible to use them for declaring global variables in the script. And putting them in both the templates and the script again causes the “Incompatible types” error, presumably because 010 is now mixing up the “script version” of the type with the “template version”.
(Also, would you have any feedback on my last post in the other topic?)