> I do have to add UIDs were added specifically for remembering object instances in combination with the 'pick by UID' condition - I would say they are best suited for that, instance indexes won't really cut it since they change and UIDs never change.
Yeah, but picking by uid is useless with out using a variable, and you can skip the uid part, then just use a variable.
Plus you can set the variable in the editor.
Seriously you would be better off setting a variable to the sprite index, rather than its uid.
Yes I know you can't do that. <img src="smileys/smiley17.gif" border="0" align="middle" />
I'm with Ashley on this one, and in my own words: much safer and more robust. Why set a variable to remember an index that you potentially have to keep updating in case any changes are made, when you can set it once and have it as a unique identifier for the entire duration of the runtime. If you've ever been stung by it you want to avoid relying on index ordering for references if you can, in most cases.
Also the UID is automatically assigned, so it would makes sense to use it rather than replicating the same thing by creating your own ID numbering system. You have to think of UIDs as what they literally are, reliably unique ways to reference items.
I guess the reason I am hammering on is that your original statement was emphatic about avoiding the use of UID and I feared it might be teaching what I consider to be bad habits to the others on the forum. I know since I am personally new to Construct I thought there must have been some reasons behind the scenes that I wasn't aware of but it seems not to be the case. So I'd emplore the opposite, please use UIDs.
Good debate though, willing to be shown any merits or limitations of either option to determinine if they are worthwhile influencing the way you'd approach certain situations. For me the bottom line is usually robustness and reliability.