Public Control Rig Module vars revert to their default after engine restart

Summary

Public variables of Control Rig Modules do not preserve their custom, per instance set values and revert after editor restart to their defaults set in the module’s asset.
Causes also issues when trying to build the project.

What Type of Bug are you experiencing?

Editor

Steps to Reproduce

  • Create a Top Down example project.
  • Create a Control Rig Module.
  • Add public test variables to the module (e.g. bool, float, FName).
  • Save and compile the module.
  • Create a Modular Rig.
  • Set the SKM_Manny_Simple in the Preview Settings tab.
  • Add the module to the rig (optional, delete any default root module) and set the Connector to the “root” bone
  • Select the module in the Module Hierarchy tab and change the values of the test variables in the Details tab.
  • Save and compile the modular rig.
  • To verify the values are still there, close, reload the asset (right-click, Asset Actions, Reload) and re-open it.
  • Close and re-open the Unreal editor and load the project.
  • Open the modular rig
  • Select the module and check the values of the test variables.

Expected Result

The values are as previously set in the modular rig editor.

Observed Result

The values are back to their defaults set in the control rig module asset.

Affects Versions

5.8

Platform(s)

Windows

Additional Notes

When trying to build the project with this control rig in use in a level the build fails with issues like:

LogUObjectGlobals: Warning: Failed to find object ‘Object /Engine/Transient.PropertyBag_169536c0bff7e32e’
LogControlRig: Error: Error when loading override for path ‘SomeREK->Type’: ‘/Engine/Transient.PropertyBag_169536c0bff7e32e’
LogControlRig: Error: Error when loading override for path ‘SomeREK->Type’: ‘Path is not valid.’
LogControlRig: Error: Error when loading override for path ‘SomeREK->Name’: ‘/Engine/Transient.PropertyBag_169536c0bff7e32e’
LogControlRig: Error: Error when loading override for path ‘SomeREK->Name’: ‘Path is not valid.’
LogControlRig: Error: Error when loading override for path ‘SomeFName’: ‘/Engine/Transient.PropertyBag_169536c0bff7e32e’
LogControlRig: Error: Error when loading override for path ‘SomeFName’: ‘Path is not valid.’