Blueprint editor protected variables are not protected

When you press on an eye, blueprint variable should (i belive) become public and if eye closed it stay proteded, which is not the case right now.

Any blueprint variable, if not market private, can be edited anywhere, which is straight up break all encapsulation security measures.

Hi CriErr,

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.

Let me know if that helps clarify things or not.

Cheers,

TJ

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.

I believe this is working as our developers intended for blueprints. Take a look through this documentation to see what I mean.