
Managed User Storage is a chunk of memory allocated by SIMPLIS and managed in such a way that the device is always presented with the correct values for that timestep, even if SIMPLIS has had to rollback time steps.
If at t=n, the action function is invoked for a device with managed user data storage, the following diagram describes how it is handled and presented in the DLL.
If SIMPLIS later rejects a timestep and rolls back to t=n, the correct values from t=n-1 will be presented again correctly.

Unmanaged User Storage is a more efficient way to keep track of variables that are unknown at the time the code is authored, but do not change over the course of the simulation.