Whilst developing Mission Control for 3ds Max, I came across an unusual bug where a name I was using “#vrayproperties” was becoming camel-cased to “#vrayProperties” and causing my script to fail. I had previously called the name #vrayProperties, so I thought I hadn’t managed to change all the instances to non-camelCased, but after doing a string search and replace, there were definitely no cases of the camelCased version in my script.
I though that maybe the value was being retained in a global variable, but even restarting max didn’t fix the problem. Then I thought it might be a weird dotnet persistance issue, so I restarted windows… but still no joy! Then it clicked, perhaps the name is being defined somewhere else before my script is being executed? So, to test this I replaced #vrayProperties with #vrproperties, and lo and behold the problem was solved.
Lesson learnt, be careful with name naming!