Can you possibly unify the Services C# APIs? See, some of them have “Instance” while others don’t. I’d prefer if you could standardize it, preferably by using only a static class without “Instance”.
UnityServices.InitializeAsync();
AuthenticationService.Instance.SignInAnonymouslyAsync();
LeaderboardsService.Instance.AddPlayerScoreAsync();
They do the Instance approach because they can easily determine if the services have been initialized at all. Or at least that’s what I found when reading the docs and error messages when trying to call the services with no prior initialization.
They can still use Instance internally, but hide it from the public interface:
public static class AuthenticationService
{
IAuthenticationService Instance
{
get
{
// Their get instance code
}
}
public static SignInAnonymouslyAsync()
{
Instance.SignInAnonymouslyAsync();
}
}