public void OnDisable()
        {
            //Debug.Log("TextMeshPro Editor Window has been disabled.");

            TMPro_EventManager.COMPUTE_DT_EVENT -= ON_COMPUTE_DT_EVENT;

            // Destroy Enging only if it has been initialized already
            if (TMPro_FontPlugin.Initialize_FontEngine() == 99)
            {
                TMPro_FontPlugin.Destroy_FontEngine();
            }

            // Cleaning up allocated Texture2D
            if (m_destination_Atlas != null && EditorUtility.IsPersistent(m_destination_Atlas) == false)
            {
                //Debug.Log("Destroying destination_Atlas!");
                DestroyImmediate(m_destination_Atlas);
            }

            if (m_font_Atlas != null && EditorUtility.IsPersistent(m_font_Atlas) == false)
            {
                //Debug.Log("Destroying font_Atlas!");
                DestroyImmediate(m_font_Atlas);
            }
        }
        public void OnDisable()
        {
            TMPro_EventManager.COMPUTE_DT_EVENT.Remove(ON_COMPUTE_DT_EVENT);
            if (TMPro_FontPlugin.Initialize_FontEngine() == 99)
            {
                TMPro_FontPlugin.Destroy_FontEngine();
            }
            if (m_destination_Atlas != null && !EditorUtility.IsPersistent(m_destination_Atlas))
            {
                UnityEngine.Object.DestroyImmediate(m_destination_Atlas);
            }
            if (m_font_Atlas != null && !EditorUtility.IsPersistent(m_font_Atlas))
            {
                UnityEngine.Object.DestroyImmediate(m_font_Atlas);
            }
            string fullPath = Path.GetFullPath("Assets/..");

            if (File.Exists(fullPath + "/Assets/Glyph Report.txt"))
            {
                File.Delete(fullPath + "/Assets/Glyph Report.txt");
                File.Delete(fullPath + "/Assets/Glyph Report.txt.meta");
                AssetDatabase.Refresh();
            }
            Resources.UnloadUnusedAssets();
        }