Body (main post):
I’m rebuilding my settings UI as a right-side ScrollBox accordion in WB_Settings_Accordion and I’m stuck on a “Display Mode” row that needs a dark-green fill inside a custom hex-frame button.
Goal: IMG_DisplayModeFill should fill the entire button area and be clipped by a UI material mask so only the interior of the hex-frame is tinted.
Widget hierarchy (inside the row):
-
HB_DisplayModeRow-
Left:
TXT_DisplayModeLabel(slot = Fill) -
Right:
SB_DisplayModeCycle(SizeBox width/height override)-
Child:
Overlay-
Child 0:
IMG_DisplayModeFill(material fill layer) -
Child 1:
BTN_DisplayModeCycle(frame/button image) -
Child 2:
TXT_DisplayModeValue(text overlay)
-
-
-
What I did / verified:
-
The original button texture had tons of transparent padding, so I reimported a cropped version:
uncropped_goodcopy_button. -
I created a UI material
M_ButtonFillMasked(Material Domain = User Interface). The material usesuncropped_goodcopy_buttonas a mask/alpha and outputs a solidFillColorwhere the interior should be. -
The material preview/mask looks correct in the material editor.
-
On
IMG_DisplayModeFill:-
Brush is set to a Material Instance (
MI_ButtonFillMasked) -
Draw As = Image
-
Tint alpha = 1
-
ImageSize was previously 32×32, I set it to 0 (or cleared it)
-
Overlay slot alignment is Fill/Fill, padding 0
-
Render Transform reset (scale 1, translation 0)
-
Problem:
IMG_DisplayModeFill still appears as a small square (looks like it’s stuck around 32×32) instead of covering the SB_DisplayModeCycle area, even though the material mask itself is correct.
Question:
What in UMG commonly forces an Image widget (with a UI material brush) to render at a tiny fixed size like this? Is there a specific setting (Brush sizing, desired size, parent sizing, button style/overlay behavior, etc.) that would cause the image to ignore Fill alignment and the SizeBox size?
If it matters, the ScrollBox/accordion logic works fine; this is purely the fill layer sizing/rendering issue.