private IEnumerator Initialize() { if (!AvatarSdkMgr.IsInitialized) { AvatarSdkMgr.Init(stringMgr: new DefaultStringManager(), storage: new DefaultPersistentStorage(), sdkType: SdkType.Cloud); } if (avatarProvider == null) { avatarProvider = new CloudAvatarProvider(); } connection = avatarProvider.Connection; var imageItems = sampleImagesPanel.GetComponentsInChildren <ImageItem>(); foreach (ImageItem item in imageItems) { item.imageSelectedHandler = HandleSelectedImage; } if (createdAvatar != null) { UpdateSelectedImage(selectedImageBytes); UpdateAvatarState(avatarState, PipelineType.HEAD); } image.gameObject.SetActive(true); // initialize provider if (!avatarProvider.Connection.IsAuthorized) { yield return(avatarProvider.InitializeAsync()); if (!avatarProvider.Connection.IsAuthorized) { Debug.LogError("Authentication failed!"); yield break; } } }