I got it working back in 4.5.1 by allowing bindings whose function name starts with “__” to pass in design time (which is how property bindings worked back then), but that no longer works now that I updated to 4.9, so I lost the WYSIWYG I had going for my reusable UMG components. I’m looking into ways to get that working again.
There is definitely value in having at least direct property bindings working. For example, I have a reusable “button” UMG widget that has simple properties for controlling the label, icon, color and other parameters, all controlled by direct bindings that have zero dependencies on game objects. Without design-time bindings, all my buttons are the same color and textless until I press play and navigate to their respective screens, unless I go into C++ and create my own compound widgets.
Actors are allowed to execute code at design time (with the appropriate restrictions) through the Constructor graph, Widgets should have a similar functionality. Maybe a checkbox to flag specific bindings as “editor safe” which enforces the same restrictions as constructor scripts could allow the flexibility without the need for a whole sandbox.