Version: 2019.1
Supporting IMGUI
Unity UI: Unity User Interface

ViewData persistence

The ViewData API solves the problem of having a UI-specific state, not part of the data, survive domain reload and Editor restarts. The idea is to have a persistent data store on each EditorWindow. Each VisualElement has a viewDataKey that must be set in order to enable ViewData persistence.


To enable view data persistence for an element that supports it, set the viewDataKey to a unique key within your EditorWindow.

Persistence of view data is enabled as long as an element has a valid viewDataKey. The only exception is when an element is in the shadow tree of its parent and not a physical child of its logical parent’s contentContainer. In this case, the parent must have its own viewDataKey set for the children in its shadow tree to be persisted.

For example, in ScrollView, each scroll bar has its own viewDataKey that is unique within the ScrollView element. When the ScrollView has no key set, the scroll bars are not persisted. Otherwise, the scroll bars will combine their viewDataKey with the parent viewDataKey to create a globally unique key.

Supporting IMGUI
Unity UI: Unity User Interface
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。