MATLAB: Does the ‘UserData’ property for a block not persist across Simulink sessions even though I have the ‘UserDataPersistent’ property set to ‘on’

netsimulinkuserdatauserdatapersistent

Why does the 'UserData' property for a block not persist across Simulink sessions even though I have the 'UserDataPersistent' property set to 'on'?

Best Answer

Any entity that can be saved in a MAT file and then loaded back to the MATLAB workspace will persist when saved in the 'UserData' field for a block.
For example, a .NET object cannot be saved in a MAT file and retrieved later. Hence, if it is attached to the 'UserData' property, it will be lost if the model is closed or Simulink is closed. This is documented in the limitations below:
The 'UserData' and 'UserDataPersistent' properties for any block can be set using the 'set_param' command. For example, after selecting a block in a Simulink block diagram, the following commands can be used to set the properties:
>> set_param(gcb,'UserData',5)
>> set_param(gcb,'UserDataPersistent','on')