Unity C#

OnDisable в Unity C# — деактивация компонента

Метод OnDisable — встроенный метод Unity, который вызывается, когда объект со скриптом становится неактивным. Его используют для очистки ресурсов, остановки процессов и отписки от событий.

Особенности

  • Автоматический вызов: срабатывает, когда объект отключается или уничтожается.
  • Очистка ресурсов: остановка корутин, отписка от событий, освобождение ресурсов.
  • Противоположность OnEnable: если OnEnable готовит объект к работе, то OnDisable выполняет обратные действия.

Пример кода

Объект логирует активацию в OnEnable и деактивацию в OnDisable:

using UnityEngine;

public class Player : MonoBehaviour
{
    void OnEnable()
    {
        Debug.Log("Объект активирован.");
    }

    // Метод OnDisable вызывается, когда объект отключается
    void OnDisable()
    {
        Debug.Log("Объект деактивирован. Освобождение ресурсов.");
    }
}