Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


RegisterUIReloadCallback

Registers a callback to be invoked when the UI is reloaded.
Read time 1 minuteLast updated 11 days ago

Definition

RegisterUIReloadCallback(UIReloadCallback)

Registers a callback to be invoked when the UI is reloaded.
Warning
Deprecated. Use RegisterUIReloadCallback(VersionedUIReloadCallback) instead, which provides a version number so the callback can skip redundant work when the UI has not actually changed.
public void RegisterUIReloadCallback(PanelRenderer.UIReloadCallback callback)

Parameters

The callback to register.

Remarks

This overload is deprecated. Use PanelRenderer.RegisterUIReloadCallback instead, which provides a version number so the callback can skip redundant work when the UI has not actually changed.

RegisterUIReloadCallback(VersionedUIReloadCallback)

Registers a versioned callback to be invoked when the UI is reloaded.
public void RegisterUIReloadCallback(PanelRenderer.VersionedUIReloadCallback callback)

Parameters

The callback to register.

Remarks

This callback will be invoked immediately if the root VisualElement is already initialized, and then every time the UI is reloaded afterwards. Use the version parameter to check if the root VisualElement was actually reloaded since the last time the callback was invoked.
The following example registers a versioned callback to initialize the UI. If the component is repeatedly disabled an re-enabled, the callback version will stay the same. So, the callback can safely skip the initialization logic after the first time.

Examples

using UnityEngine;using UnityEngine.UIElements;public class LoadUIWithVersion : MonoBehaviour{ PanelRenderer m_PanelRenderer; int m_Version = 0; void OnEnable() { m_PanelRenderer = GetComponent<PanelRenderer>(); m_PanelRenderer.RegisterUIReloadCallback(OnUIReload); } void OnDisable() { m_PanelRenderer.UnregisterUIReloadCallback(OnUIReload); } void OnUIReload(PanelRenderer panelRenderer, VisualElement rootElement, int version) { if (version == m_Version) return; // UI already up-to-date, no need to reload m_Version = version; // Wire UI here }}