Should I worry about WaitForProductUserId messages in logs?

I am trying to integrate EOS to be able store achievements in our game.
I can authenticate the user (using EOS_LCT_Developer credentials), but in log I can see messages like:

LogEOSAuth: NewUserToken: User ClientId: xyz...NiT AccountId: ef1...930 Access[Expires: 2023.05.11-16.02.13 Remaining: 7200.62] Refresh[Expires: 2023-05-11T22:02:13.623Z Remaining: 28800.62] State: Valid
LogEOSAuth: UserAuthGenerated: Received FUserAuthToken
LogEOSAuth: UserAuthGenerated: Login complete: EOS_Success
LogEOSAuth: WaitForProductUserId(ef1...930) in progress for 10.267168s.
LogEOSAuth: WaitForProductUserId(ef1...930) in progress for 10.289062s.
LogEOSAuth: WaitForProductUserId(ef1...930) in progress for 20.537193s.
LogEOSAuth: WaitForProductUserId(ef1...930) in progress for 20.628698s.
LogEOSAuth: WaitForProductUserId(ef1...930) in progress for 31.009222s.
...
LogEOSAuth: WaitForProductUserId(ef1...930) in progress for 113.678703s.
LogEOSAuth: WaitForProductUserId() initiating ResolveProductUserId() after timeout for: ef1...930
LogEOSAuth: WaitForProductUserId(ef1...930) in progress for 113.696320s.
LogEOSAuth: FAccountUtil::ResolveToProductUserId - No First Logged In User
LogEOSUI: Social Overlay: Achievements disabled because of missing product user id (EOS_InvalidAuth).
LogEOSAuth: WaitForProductUserId() initiating ResolveProductUserId() after timeout for: ef1...930
LogEOSAuth: FAccountUtil::ResolveToProductUserId - No First Logged In User

Do I miss some configuration API calls?
Thanks,
Oldes

Hello,

These logs hint that you haven’t called EOS_Connect_Login. EOS_Auth_Login will log you into Epic Account Services. To log into EOS Game Services (achievements are a game service), you need to also login via the EOS_Connect interface.

Here is a code snippet to help you out:

    EOS_Auth_Token* UserAuthToken = nullptr;

	assert(AuthHandle != nullptr);

	EOS_Auth_CopyUserAuthTokenOptions CopyTokenOptions = { 0 };
	CopyTokenOptions.ApiVersion = EOS_AUTH_COPYUSERAUTHTOKEN_API_LATEST;

	EOS_HConnect ConnectHandle = EOS_Platform_GetConnectInterface(PlatformHandle);
	assert(ConnectHandle != nullptr);

	if (EOS_Auth_CopyUserAuthToken(AuthHandle, &CopyTokenOptions, EpicId, &UserAuthToken) == EOS_EResult::EOS_Success)
	{
		LogFile << "EOS_Auth token:" << UserAuthToken->AccessToken << "\n";

		EOS_Connect_Credentials Credentials;
		Credentials.ApiVersion = EOS_CONNECT_CREDENTIALS_API_LATEST;
		Credentials.Token = UserAuthToken->AccessToken;
		Credentials.Type = EOS_EExternalCredentialType::EOS_ECT_EPIC;

		EOS_Connect_LoginOptions Options = { 0 };
		Options.ApiVersion = EOS_CONNECT_LOGIN_API_LATEST;
		Options.Credentials = &Credentials;
		Options.UserLoginInfo = nullptr;

		// Setup a context so the callback knows what AccountId is logging in.
		std::unique_ptr<FConnectLoginContext> ClientData(new FConnectLoginContext);
		ClientData->AccountId = EpicId;

		EOS_Connect_Login(ConnectHandle, &Options, ClientData.release(), ConnectLoginCompleteCb);
		EOS_Auth_Token_Release(UserAuthToken);
	}
	else
	{
		std::cout << "Failed to copy user auth token!" << std::endl;
		return 1;
	}

You can read more on this in the Connect Interface documentation.

If I’m mistaken and this isn’t your issue. Can you share your code?

Thanks,
Seb