By default, the CloudService will automatically authenticate as a Guest User, unless you disable Auto Login As Guest option in the CoherenceBridge inspector.
If you disable the automatic login, you can handle Player authentication manually through the CloudService.GameServices.AuthService API.
In this example, you can see how you can manually login as a Guest:
usingCoherence.Cloud;usingCoherence.Toolkit;usingSystem.Collections;usingUnityEngine;usingResult=Coherence.Runtime.Result;publicclassLoginAsGuestExample:MonoBehaviour{publicCoherenceBridge bridge;privateCloudService cloudService;voidStart() { cloudService =bridge.CloudService;StartCoroutine(CheckRefreshLogin()); }privateIEnumeratorCheckRefreshLogin() {IAuthClient authService =cloudService.GameServices.AuthService;while (!cloudService.IsConnectedToCloud&&authService.SessionTokenRefreshResult==null) {yieldreturnnull; } // If refresh failed, we have to login as a guest againif (authService.SessionTokenRefreshResult==Result.InvalidCredentials) {var task =authService.LoginAsGuest();while (!task.IsCompleted) {yieldreturnnull; } } // At this point, we are ready to fully utilize the Cloud Service }}
You can also choose to allow your users to create their own Player accounts, you can use the Authentication Service API in a similar fashion to allow for manual authentication:
usingCoherence.Cloud;usingCoherence.Toolkit;usingSystem.Collections;usingUnityEngine;usingResult=Coherence.Runtime.Result;publicclassLoginAsUserExample:MonoBehaviour{publicCoherenceBridge bridge;publicstring username;publicstring password;privateCloudService cloudService;voidStart() { cloudService =bridge.CloudService;StartCoroutine(LoginAsAUser()); }privateIEnumeratorLoginAsAUser() {IAuthClient authService =cloudService.GameServices.AuthService;while (!cloudService.IsConnectedToCloud&&authService.SessionTokenRefreshResult==null) {yieldreturnnull; } // If refresh failed, we have to login as a user with the given credentials againif (authService.SessionTokenRefreshResult==Result.InvalidCredentials) {var task =authService.LoginWithPassword(username, password,true);while (!task.IsCompleted) {yieldreturnnull; } } // At this point, we are ready to fully utilize the Cloud Service }}