UE 5.3 MVVM UMG Viewmodel - Error in generated blueprint function after update

Hi!

I have just upgraded to UE 5.3, compiling it from the source, and getting BP errors in UMG widgets that use MVVM Viewmodels. The error happens in the generated “code” when assigning a view model manually.

Blueprint Runtime Error: "Accessed None trying to read property CallFunc_GetExtension_ReturnValue". Node:  Set Ship Boost View Model Graph:  SetShipBoostViewModel Function:  Set Ship Boost View Model Blueprint:  W_BoostDuration

I’ll probably have to debug it tomorrow, but I’m checking here in case anyone else is experiencing the problem or I am doing something wrong. Is it occurring for anyone else?

Edit: Additionally, having two fields of the same name bound to two different widgets does not work for the second widget… This would be the case if you have a composite view model that contains two different instances of another view model.

Seems to happen only when a view model points to another view model via TObjectPtr, and it is accessed/assigned from the view model editor window.

Even I m getting the same error after updating to 5.3.
Any work around you found?

Even I m getting the same error after updating to 5.3.
Any work around you found?
I’m stuck and I tried all creation methods, non of them are working.

Figured it out! In short, at least one binding to FieldNotify must be present in a widget, otherwise UWidgetFieldNotificationExtension is not added.

Why did I have widgets without bindings? Because I incorrectly used view models in some widgets having manually created conversion functions that were bound using a legacy binding system. A more sensible approach now with 5.3 is to have an intermediate variable that is also a FieldNotify that triggers a conversion function that is bound via the view model.

3 Likes

Using the opportunity, I’d like to express how bad I find the names of automatically generated conversion functions and the fact that they are not removed when the binding is removed.

2 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.