There is a behaviour and a plugin to deal with the creation problem (both work together). It allows you to create an object by name/variable.
Give it a try. Its another, awesome, always updated plugin by —
For the variables. The above method from Brandon12hummer sounds rock solid to me. But, for my lazy world, it is still a lot of work.
You can also make base dictionaries (yeah 120) and bring them in a container with the object. Now, every time an object gets created, its Dictionary gets created. Same for destroying. Pick the object, and the Dictionary is auto picked. That is gonna make a lot of Dictionarys , but you do not need to keep track of them, the system does. The debugger tells you wich Dictionary goes with wich object. Just an idea.
From there, you can take it a step further. Add them as .json files to your project. And load them to the Dictionary during start up with Ajax. Balancing the game is now a matter of just editing the .jason files.
A Dictionary is pretty easy. It is a key and a assigned value. You dont need to remember indexes, as in the array. The values are located at a key. The key is a string like "Health".