void DestroyCanvas()
        {
            int numBrains = CinemachineCore.Instance.BrainCount;

            for (int i = 0; i < numBrains; ++i)
            {
                LocateMyCanvas(CinemachineCore.Instance.GetActiveBrain(i), false);
                if (mCanvas != null)
                {
                    RuntimeUtility.DestroyObject(mCanvas);
#if UNITY_EDITOR
                    // Workaround for Unity bug case Case 1004117
                    CanvasesAndTheirOwners.RemoveCanvas(mCanvas);
#endif
                }
                mCanvas = null;
            }
        }
        void DestroyCanvas()
        {
            int numBrains = CinemachineCore.Instance.BrainCount;

            for (int i = 0; i < numBrains; ++i)
            {
                var parent      = CinemachineCore.Instance.GetActiveBrain(i);
                int numChildren = parent.transform.childCount;
                for (int j = 0; j < numChildren; ++j)
                {
                    RectTransform child = parent.transform.GetChild(j) as RectTransform;
                    if (child != null && child.name == CanvasName)
                    {
                        var canvas = child.gameObject;
                        RuntimeUtility.DestroyObject(canvas);
#if UNITY_EDITOR
                        // Workaround for Unity bug case Case 1004117
                        CanvasesAndTheirOwners.RemoveCanvas(canvas);
#endif
                    }
                }
            }
            mCanvasInfo.Clear();
        }