In most game engines you have the option though to pick an instance by it ID. I’m sure each instance has an id internally in GD, so how about that in object events we could either select an object from the list and it would apply the event to all instances of the selected object as it is now and we could also select an instance from the scene in which case it would open up the scene with the sole purpose to select an instance from the scene.
It is also give me the idea when the event expecting to receive an X and Y position, how about a second option that would open up the scene and we could either pick any location from the scene or even an instance of any object from the scene to pick an X and Y position to pass it to the event.
I have no good reason though other than it would be cool and convenient
But in case it is too ambitious idea, we could have at least the option to address instances by using expression like Object.Instance(IDint) and could also get instance properties like X, Y, Angle…etc too by using Object.InstanceX(IDint). We could get the ID by clicking the instance in the scene and it would display it ID number in the properties that we can use in expressions I mentioned. It would be not that cool but still very useful… In case we would also have an expression or event to pick ID of instances for example when we crate an object or a certain conditions are met, we could pick the ID of the instance and store it inside a variable for example. It would allow us to address instances also dynamically by using their ID.
Maybe one good reason I can think of, it could help with performance if we would address specific instances by using their ID instead of checking a bunch of conditions for each instances to find the one we need.