How to make a variable "public" and editable when the eye icon next to it does nothing when i'm clicking on it ?

I was following a guide till i just found out that i cant change the variable to public (in the tutorial it seems that it works but not to me :frowning: ). Is there anything i can do to switch this to be editable ? If i click on it nothing happens. Its the 2 blue ones i need both to be editable.

2 Likes

Whatā€™s the type of the variable?

Hi

Those are just in the widget itself in the designer menu when i add a button then i click on the top right side and check the ā€œis varibaleā€ on then on the graph itself this button shows up and is set as not public with eye icon closed. My friend tested this and his variables are by default all public with the eye icon open and i need to get mine as well like he has them. Or another example is from the tutorials that i am following on this is pretty much the same. In the tutorial as well all those variables are public and the eye icon is open on all of them. Btw check my other post about it there is more info with screenshots so you can see those examples what i just described there. Ty

You canā€™t turn on the eye with a widget variable like that. I canā€™t either. I assume the example youā€™re seeing are subtly different somehowā€¦

1 Like

If you have just created the variables in that blueprint, youā€™ll need to compile first before making that change. If the variables are inherited from a parent, then youā€™ll need to change it in the parent.

no i compiled this many times any time i click on the eye icon it counts as a change even if i didnt change anything so i need to press again compile.

" If the variables are inherited from a parent, then youā€™ll need to change it in the parent."

How can i do that ? The widget was created like any widget i just left click then i choose ā€œuser interfaceā€ and then ā€œwidget blueprintā€ then i select in there the top oneā€¦ i try to pick another one as well but all has the same results in the end. Why is this method of creating a new widget with a fresh new created simple button variable not the parent itselfā€¦

P.S my friend try to recreate this he made a new widget and his variables (after creating a simple button for example and switching to graph to check it) all are by default aways with eye icon open and he cant click to close it and mine are by default aways the opposite with eye icon closed so there must be a way that my variables are as well by default with the eye icon opened. My friend testet this on unreal 4.x something and 5.03 both with variables eye icon open aways. Same with the video tutorials i am following they all have the variables as well with the eye icon openā€¦

2 Likes

@catz111 Are you using Common UI? Asking because this is one weird thread (saw the other thread, too). If no, can you explain what Skill Button is? Is this a native button? A button wrapped in a User Widget?

And, most importantly, how does the Instance Editable eye being shut gets in the way of the next thing you want to do?

I was following a guide

Can you point us there - perhaps thereā€™s lots to learn!

Hi!

Lets go this step by stepā€¦

So im creating a new common normal user widget (right clicking and choosing User Interface/Widget Blueprint then the widget window opens like on the screenshot right below)

Then i just drag a common botton on it like in this screenshot. the botton is set to variable on the top right.

Then i go to the graph and i see again that this variable is with the eye shut down icon

Where my friend cannot replicate this his button variable is aways with eye open icon. (he tested this on UE 4.x not sure exactly which version and awso he tested it on UE 5.03 and both had the button variable aways the eye icon open) I am using UE 5.1 tough

" And, most importantly , how does the Instance Editable eye being shut gets in the way of the next thing you want to do?"

Well i followed a guide to create a simple skill tree and everything works except the button has no animation and when you click on the skill you cannot see that you clicked - i think that is the problem when the icon is not public like on the tutorial all his variables are eye open icons and public or maybe i am wrong on this idk.

another example was i had another widget created for an enemy health bar over him but this never moved and im starting to think that it may have to do something with this.

here is the tutorial i was following and at exactly 0:19 sec mark you see how he start to click on those skills even if his mouse cursor is not shown but you can clearly see the click animation of the botton itself. On my side i have exactly the same skill tree and everything works i see the skill points but there is no botton animation when i press on them. If you skip then to the 3 min mark you can see all his buttons variables are eye open and public where mine are not.

Are you using Common UI?

No i am not using the ā€œCommon UIā€ plug in

Edit to the issue - it seems that those variables are set as non public as a default setting in UE 5.1 + and onwards and cant be changed. everything under 5.1 has those set as public default setting. I dont know if there are downsides to this but i will have to revisit the skill tree tutorial and see if i screw something there so that i can fix the issue with the missing button animation. In case i do exactly 1:1 everything the same and the issue still persist then i will be not sure if this non public variables are responsible tough. Will post later again if i had success

I have the same problem. Iā€™m installing unreal 5.0.3 to see if it fixes the problem.
I think itā€™s a bug in unreal 5.1. We need sometimes to set these variables to public to change them on runtime. It was working on my previous projects.

As it seems this is the new default setting on unreal 5.1 and someone told me there are no downsides to this. You can check it out on my other thread similar to this one.
i qoute the guy that told me this ā€œThat is correct- there are no downsides whatsoever. Itā€™s purely aesthetic.ā€
If you think otherwise you can share what are the downsides that you have

I dont understand why hes saying ā€œno downsidesā€ because not having them node inputs on a widget on a create widget node is in fact a ā€œmajor downsideā€ You could use these outside the widget graph, but now you cant. A pretty big downside.

2 Likes

Anyone find a solution to this yet? Iā€™m trying to migrate some code from 4.7, to 5.1. Running into the same problem.

1 Like

Got the same problem. Not sure if it helps but i think I made a little discovery.
If you guys duplicate the object in the Graph Editor, the copy will be able to be set to public.

Though, it doesnā€™t solve my problem - Iā€™ve tried to switch the original one with the copy but it gave me some new errors (but resolved some previous ones).

What you guys think?

2 Likes

Hi i have the same problem and I cant find a solution to reference certain variables created by the UI widget so I can influence its information in runtime.

1 Like

You donā€™t need it to be public e.g. if itā€™s a text widget in the blueprint graph just use get on the variable and then drag a Set Text node from that to set the text when you need to.

4 Likes

So the same thing happened to me in UE5.1

In UE5.0 you can make the variable for any widget element and can manipulate in the event graph
In UE5.1 and onwards you cannot make the changes by making it variable rather what you can do is you can create a variable and bind the widget element to that variable

This works for me, hope so this also works for you guys!

This is not true. Select a widget and flag it as variable at the top of its details panel.

1 Like

To anyone still struggling with this, I found a tutorial that basically showed me a slightly different way of getting it done.

I am not sure why this was changed (or if it was actually changed as Iā€™m new on Unreal myself) but this roughly covers the same idea of making the variables editable.

4 Likes

I know what youā€™re trying to do, as Iā€™m trying to do the exact same thing.
I am creating a UI for an Inventory System.

Iā€™ve created an ā€˜Imageā€™ widget that I need to ā€œSetā€ as a Variable.
However, I cannot get it to be a Variable, even with the ā€˜Imageā€™ widget as ā€œIs Variableā€ in the Details panel.

The only way Iā€™m able to do this is by dragging out (in the Graph) from that original ā€˜Imageā€™ widget and ā€œPromoting to variableā€.

However, that now creates two variables. The ā€œPromoted to variableā€ has the ability to change itā€™s variable type.
The variable that I originally created does not have that ability.

Also, the ā€œpromotedā€ one does not appear in the Designer.
So, basically I cannot utilize the Common ā€˜Imageā€™ Widget I created in the Designer panel in the Graph because I canā€™t make it a visible variable.

This seems to be a big problem. How can we get this to work correctly?

Itā€™s already working correctly. Get image ā†’ do something with it:

That eye should never be open. It was there on one of the engine versions, itā€™s now fixed. More about it here:

3 Likes