private GameObject CreateColorHuePicker(GameObject parent)
        {
            GameObject         container = EmptyChild(parent, "ColorHuePicker");
            ColorPickerProfile profile   = Defaults.GetProfile(colorPickerProfile);

            container.transform.localPosition = profile.huePickerLocalPosition;
            container.transform.localScale    = profile.huePickerScale;

            Undoable.AddComponent <ColorHuePicker>(container);

            ColorPickerThumbTouchable thumbTouchable = Undoable.AddComponent <ColorPickerThumbTouchable>(container);

            thumbTouchable.fixY  = true;
            thumbTouchable.thumb = hueThumbInstance.transform;

            BoxCollider boxCollider = Undoable.AddComponent <BoxCollider>(container);

            boxCollider.isTrigger = true;

            // FIXME: This needs to be Touchable

            MeshFilter meshFilter = Undoable.AddComponent <MeshFilter>(container);

            meshFilter.sharedMesh = profile.thumbBody.GetComponent <MeshFilter>().sharedMesh;

            MeshRenderer meshRenderer = Undoable.AddComponent <MeshRenderer>(container);

            meshRenderer.materials = new Material[] { profile.hueMaterial };
            return(container);
        }
        private GameObject CreateColorSaturationBrightnessPicker(GameObject parent)
        {
            GameObject         container = EmptyChild(parent, "ColorSaturationBrightnessPicker");
            ColorPickerProfile profile   = Defaults.GetProfile(colorPickerProfile);

            container.transform.localPosition = profile.sbLocalPosition;
            container.transform.localScale    = profile.sbScale;

            var script = Undoable.AddComponent <ColorSaturationBrightnessPicker>(container);

            script.backgroundMaterial = profile.sbMaterial;

            ColorPickerThumbTouchable thumbTouchable = Undoable.AddComponent <ColorPickerThumbTouchable>(container);

            thumbTouchable.fixY  = false;
            thumbTouchable.thumb = sbThumbInstance.transform;

            BoxCollider boxCollider = Undoable.AddComponent <BoxCollider>(container);

            boxCollider.isTrigger = true;

            // FIXME: This needs to be Touchable

            MeshFilter meshFilter = Undoable.AddComponent <MeshFilter>(container);

            meshFilter.mesh = profile.thumbBody.GetComponent <MeshFilter>().mesh;

            MeshRenderer meshRenderer = Undoable.AddComponent <MeshRenderer>(container);

            meshRenderer.materials = new Material[] { profile.sbMaterial };
            return(container);
        }