To be honest, nobody uses the 'name' property in objects because it's not even a useful feature, and I think this idea will make it better.
My idea is to replace the 'name' with a 'tag' property. The tag doesn't have to be unique so multiple objects of the same type can have the same tag. Of course nothing restricts you to make them all unique, because this would be useful for extractors. We'll also get a new behavior block to check the tag called 'Tag check'. For example the tag is 'hello' and check if the tag is 'bye' it'll output false
Well, how would this be useful? Imagine you have a 'weak enemy' and 'strong enemy' object. They both behave the same, same movement, same animations etc. but the only difference is that the strong enemy has more health than the weak enemy. If you want to modify something in weak enemy you would have to do the same in the strong enemy which is lots of boring work. If we use tags we would only use one object called 'enemy', one with the tag 'weak' and one with 'strong'. Now you connect an once
to a tag check
and check if the tag is 'weak'. If it outputs true it's a weak enemy, if it outputs false it's a strong one.
Another useful thing would be spawning/emitting/attaching objects with a tag, and in the message
block we would get a new option called 'send to tag: ___'.@grazer
If you implement this, the 'send to attachments' option for messages doesn't have to be added anymore.