[UMG] What is the parent class of all UMG objects?

Do UMG objects inherit from a central generic UMG class? What is the name of this class? Is this class available to other non-UMG blueprints? I want to be able to affect the render transforms of any UMG object passed into my function, but I can’t do that from other blueprints because I don’t know what class to use. I can’t even do this for specific UMG objects because things like Text Block aren’t available to other blueprints. Please and thank you for any and all help you can provide.

UWidget is the base class of all Widgets. UUserWidget is the base class of all user created widgets through blueprints. UUserWidget is also a UWidget.

Thank you, Nick. That’s what I thought! However, I can’t seem to pass single widgets (such as buttons) into my function that accepts User Widget.

Here’s my event, you can see it accepts “User Widget” as its second input. From that input, I’m able to access things like Pivot and Render Transform, which is what I want.

But when I reference this event in my Widget BP (the one that houses all the individual widgets), it won’t take individual widgets like buttons or text blocks, on a reference to self, the entire Widget BP.

No Buttons.png
No Text Blocks.png
Only Created Widget BPs.png

Of course the Widget BP (as a reference to self) doesn’t have accessible properties like Pivot and Render Transform, so it’s puzzling why it can be passed into the event when the other individual widgets can’t be since the User Widget input has Render Transforms accessible inside the event’s function.

Do you have an idea of what the problem may be? Thank you!

Buttons are not UUserWidget, buttons are UWidgets. All of the primitive widgets that you use to compose your user widget are UWidgets.

Okay, that makes more sense now. I think then the thing I need to request is for UWidgets to be exposed to blueprints if possible. Right now, they don’t appear to be accessible.


Yup, you’ve found a bug. Will be fixed in 4.6.

Thank you sir :slight_smile: