private void LoadMultiPrefab()
        {
            if (Plugin.MultiGameObject == null)
            {
                Plugin.Log("Multi Game object is null");
                return;
            }
            _avatarInstance = Instantiate(Plugin.MultiGameObject, gameObject.transform);

            if (Plugin.fpsAvatar)
            {
                _fpsAvatarInstance = Instantiate(Plugin.MultiGameObject, gameObject.transform);
            }
            SetupAvatar();
            UnloadAvatar();
            _bundleRequest = null;
            if (OnAvatarLoaded != null)
            {
                OnAvatarLoaded.Invoke();
            }
        }
        private void AvatarLoaded(AsyncOperation op)
        {
            _customAvatar = _bundleRequest.assetBundle;

            if (_customAvatar == null)
            {
                Plugin.Log("The bundle file is wrong");
                UnloadAvatar();
                Destroy(gameObject);
                return;
            }

            GameObject avatarObject = _customAvatar.LoadAsset <GameObject>("_customavatar");

            if (avatarObject == null)
            {
                Plugin.Log("The bundle gameobject was not found");
                UnloadAvatar();
                Destroy(gameObject);
                return;
            }

            _avatarInstance = Instantiate(avatarObject, gameObject.transform);

            if (Plugin.fpsAvatar)
            {
                _fpsAvatarInstance = Instantiate(avatarObject, gameObject.transform);
            }

            SetupAvatar();

            UnloadAvatar();

            _bundleRequest = null;

            if (OnAvatarLoaded != null)
            {
                OnAvatarLoaded.Invoke();
            }
        }