Toggling the Eye icon only sets the ‘Editable’ setting in the Variables Details panel. That only effects if the variable is publicly editable on instances of the Blueprint or not. I believe what you are looking for is the ‘Private’ setting just below that.
For some reason i didn’t get email notification for your answer and i forgot about report, so im sorry for late response, back on topic.
If blueprints follow basic principles of OOP, there are should be 3 types of members in class:
Public - accessible from anywhere for everyone
Protected - accessible only for owner class and child classes.
Private - accessible only for owner class but not accessible for child classes.
Functions have enum parameter with those 3 exact types, but variables use 2 bool check marks for this stuff, which is broken, every variable if its not private, can be edited from any blueprint in any type.
I would quote person from this topic: In theory… protected is the “editable” and “expose on Spawn” the attribute let’s you edit the variable via the details. At last in old version but is true that is not working.
Right now even if variable is not market for being editable, you can edit settings even thru default panel. For component with this set of variables, i get this defaults panel when add it to actor.