Possible Bug found within Widget Blueprints in UE 5.1.1

Link to my original post on r/unrealengine: Here

I’m having some issues with my Widget Blueprint and trying to make an image box Instance Editable.

Items added from the Designer view in a widget blueprint can not be selected to be Instance Editable in the Event Graph. If you click the eye to make the variable public, the menu will flicker and your project will need to be recomplied but nothing changes. You can however create and set varibles in the event graph to be public or not. This issue appears to only affect items added from the Designer view.

To recreate:
User Interface > Widget Blueprint > User Widget > add an item from the Palette (Image box for example) > Event Graph > Try to make it public (Instance Editable)

Edit: I went into UE 5.0.3 and tried to recreate this and I am getting the exact oposite of this issue. The Image box’s variable’s Instance Editable option is stuck on. Clicking the eye and or recompiling does nothing.


Hey there @B3P! Welcome back to the community! I believe the reason it’s not instance editable is due to it being a part of a different system. The widget designer side passes bind info back and forth, but if your goal is to make the variable public, you can already access widget variables natively with a cast to it’s class.

Is your use case just changing the image in it’s instances?

1 Like

hi there I also run in the same problem try to set up Widgets for inventory.

here is a image comparing form unreal 5,03 and blow vs the unreal 5.1.1 look like the verbal Icons also are missing but the main thing is that when check the is variable it set it make it a privet variable. were in the older models it set it to public variable

Is your use case just changing the image in it’s instances?

Yea pretty much. Learning to build inventory systems and I would like to be able to change the Texture2D associated with the Image in the Widget.

I’ll try this method as a work around when I get the chance and report back. I just figured something was askew as the widget bluprint is making objects (Images, text boxs, etc) a variable by default but it is unable to be changed within the widgets event graph; Only referenced. But like I said, I’m learning so if this is setup this way for a reason Its not known to me.

Thank you for the visuals, this is the same results I got as well.

I’m not sure if its setup this way for a reason or what but it acts like a bug.

I’m unsure if it is intentional, but the logic behind why it’s occurring this way is that the variable is generated by the designer not the event graph and hardlinked to the reference so there’s no way to change the reference, however that reference should still be visible/accessible, just unable to change the hardlinked reference itself.

have the same and can’t make “set” in graph aswell for variables of widget visuals .
Voted for possible bug

1 Like

Have the same issue upgrading a big project from UE 5.0 → 5.1.1

Widgets that are Variables can’t be set in blueprint with a new reference.
“is not blueprint writable” error

This has worked since UE4.6 so should be a bug for sure :slight_smile:

1 Like

From what I could discern from the source it does definitely seem like unintended behavior and it seems like it’s persisted. Here’s the bug reporting sheet if you need it!

Is there any fix yet for this issue ? It’s the same on 5.2.

1 Like

Unfortunately it doesn’t seem like a fix has been put in place thus far. I’m unable to locate an issue ID for it.

I’m running into the same issue, but suspect it’s not a bug - so much as it is a depreciation of an old and very useful function (to be able to swap in and out user-widget objects as variables).

UE5 seems to be heading towards a more strict way of writing code as a means to force users to write code more efficiently. This will however make the engine harder to learn and less user friendly, as everyone in this thread is finding.

@SupportiveEntity’s answer is correct, and we don’t have to like it, it is the way it is.

You’ll be expected to know how to use classes, and “soft references”.


This behaviour seems to be persistent in 5.3.2.
You can get and set the text variable using the SetText node as one possible workaround for this. See an eg below: