Let’s go back to Zombie HP variable example
And before we go i am more than sure you know that number variables by default are 0
So just keep that in mind to what is below
You want all Zombies to have HP and you want all Zombies to have it at 100
You CAN but DON’T NEED TO change it for one or few specific Zombies
NOW imagine something else
You actually want some Zombies to also have ARMOR variable for example we set it to 40 for them
But not to all of them like 5 or 7 whatever
Just so in game you could IDK add blue outline effect to your Zombies with that armor var just to indicate they have it and will require breaking down armor 1st before you can damage HP
Adding object variable with 0 by default to Zombie object could be done but makes no sense
So it would make sense to just add it with value of 40 to some Zombies on scene
And now does all of Zombies have ARMOR variable or not does not concerns you
Your only concern is if any have ARMOR variable above 0
That is why and how you would use instance variable
You do not check if something is there for everyone
But if there is something with some value for someone
Or like other example
Imagine we meet in real life
Not you and me but lets take like 30 random users from this forum
To 4 of them we attach name tag
And write on it Admin
Now you know these ppl are responsible for keeping our meeting civil
So you see someone punching someone else
You go to person with name tag which have written on it Admin
And you report the issue
BUT at the same time do you need all other 26 members of our meeting to have that name tag which would be empty?
You only create it for something you need to reference while NOT referencing other subjects of same group
So in other words there is no need for for any type of selection of instance variables (we could have some for declared ones) but since old system we don’t
Idea of instance variable is just having option to reference some copy of same object
By value of whatever variable it have
(I guess eventually instance vars will also need to be declared)
And now you would have it popping up in events for you to select from list
I am not 100% sure but i think this is what you are talking about
They are like kinda the name tags
You temporally attach them to something not making them part of object
Which would actually make sense so you can select them from declared list later
But in the end core purpose still stands
Where are you care about is ability to pick any object from group of objects without picking all of them or ones you do not want
Where you could simply have that HP variable declared in object var
And then make it different value for one specific copy of that object making it instance variable
Where grayed text means ALL instances of this object have this variable with this value
Italic means ALL objects have this variable but this object have different value of it making it instance variable
And normal text means NOT ALL objects have this variable but this instance have this variable with that value
So to solve your problem
You actually would need to 1st declare that var for your object
Then simply in instance panel change value of that variable
For example (looking at your screenshot)
In instance panel
Try changing objectVar1 from 0 to 2 and see what will happen
Only problem i think you are talking about that there is still a way to make instance vars in instances panel WITHOUT 1st declaring such variable for object
Hence you get red underline when you try to use it in events