/// <summary>
        /// On init we create an object pool if needed
        /// </summary>
        /// <param name="owner"></param>
        protected override void CustomInitialization(MMF_Player owner)
        {
            base.CustomInitialization(owner);

            if (Active && CreateObjectPool && !_poolCreatedOrFound)
            {
                if (_objectPooler != null)
                {
                    _objectPooler.DestroyObjectPool();
                    owner.ProxyDestroy(_objectPooler.gameObject);
                }

                GameObject objectPoolGo = new GameObject();
                objectPoolGo.name = Owner.name + "_ObjectPooler";
                _objectPooler     = objectPoolGo.AddComponent <MMMiniObjectPooler>();
                _objectPooler.GameObjectToPool = GameObjectToInstantiate;
                _objectPooler.PoolSize         = ObjectPoolSize;
                _objectPooler.transform.SetParent(Owner.transform);
                _objectPooler.MutualizeWaitingPools = MutualizePools;
                _objectPooler.FillObjectPool();
                if ((Owner != null) && (objectPoolGo.transform.parent == null))
                {
                    SceneManager.MoveGameObjectToScene(objectPoolGo, Owner.gameObject.scene);
                }
                _poolCreatedOrFound = true;
            }
        }
        /// <summary>
        /// On init we create an object pool if needed
        /// </summary>
        /// <param name="owner"></param>
        protected override void CustomInitialization(GameObject owner)
        {
            base.CustomInitialization(owner);

            if (Active && VfxCreateObjectPool)
            {
                if (_objectPool != null)
                {
                    _objectPool.DestroyObjectPool();
                    Destroy(_objectPool.gameObject);
                }

                GameObject objectPoolGo = new GameObject();
                objectPoolGo.name            = "FeedbackObjectPool";
                _objectPool                  = objectPoolGo.AddComponent <MMMiniObjectPooler>();
                _objectPool.GameObjectToPool = VfxToInstantiate;
                _objectPool.PoolSize         = VfxObjectPoolSize;
                _objectPool.FillObjectPool();
            }
        }