The BindWidget meta specifier allows us to bind a native widget pointer to a widget added to the hierarchy of a UserWidget in the widget editor. However, it appears to only search for a matching widget in the class that directly inherits the native widget class. Descendants of that class will throw compiler errors, despite the fact that they should inherit the widget and be able to manage the binding correctly.

Steps to Reproduce
  1. Create a native UUserWidget class with a UTextBlock Property named MyTextBlock. In the UProperty specifier, add 'meta = (BindWidget)'
  2. Create a new blueprint class WidgetA that inherits your native UUserWidget class. Add a Text widget titled 'MyTextBlock' to the hierarchy, and verify that WidgetA compiles.
  3. Create another new blueprint class WidgetB that inherits WidgetA. Delete the initial Canvas Panel from WidgetB so that there are not conflicting widget hierarchies. Note that class will not compile despite inheriting the MyTextBlock widget added to WidgetA

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-54061 in the post.

Login to Vote

ComponentUE - Editor - UI Systems
Affects Versions4.
Target Fix4.23
Fix Commit5315182
Main Commit6838042
CreatedJan 15, 2018
ResolvedMar 6, 2019
UpdatedAug 9, 2019