Clouds dont work

We save and load game locally read and write works Reead: C:/Users/FESA/AppData/LocalLow/Forever Entertainment SA/gamename\5ce3354f2453475485dd9fefec218f90\savedata\slot_0, file: slot_0
In developer epic panel we config cloud saves on Application Data LocalLow and provide subfolders: /Forever Entertainment SA/gamename/{EpicID}/savedata/ . So both paths, local and panel match. When we save and try on another computer to login we choose download save from cloud. But after launching game we don’t have cloud saves, but our local saves, like saves from cloud weren’t downloaded. Why? We test it like this I play game locally on my computer, make save, close game, sync with epic cloud. Second person logs on my account epic on another computer logs into my account, downloads saves from cloud, but after launching game, he has his local saves, instead of mine, cloud saves.

Okay we found that

Utf8String epicId;
            PlayEveryWare.EpicOnlineServices.EOSManager.EOSSingleton.s_localUserId.ToString(out epicId);

            m_rootPath = Path.Combine(EpicPublisherWrapper.rootDirectory, epicId.ToString());

            Debug.Log($"Epic ID: {epicId.ToString()}, root path: {m_rootPath}");

returns epicid from previous login session not current. Like someone is logged on my account but in game game returns his account id.
Like my logs always return my epic id even when I am logged on another account.

 public void StartLoginWithLoginOptions(Epic.OnlineServices.Auth.LoginOptions loginOptions, OnAuthLoginCallback onLoginCallback)

      {

        // start login things

        var EOSAuthInterface = GetEOSPlatformInterface().GetAuthInterface();

 

        Assert.IsNotNull(EOSAuthInterface, "EOSAuthInterface was null!");

 

        // TODO: put this in a config file?

        var displayOptions = new Epic.OnlineServices.UI.SetDisplayPreferenceOptions

        {

          NotificationLocation = Epic.OnlineServices.UI.NotificationLocation.TopRight

        };

        EOSManager.Instance.GetEOSPlatformInterface().GetUIInterface().SetDisplayPreference(ref displayOptions);

 

        print("StartLoginWithLoginTypeAndToken");

 

#if UNITY_IOS && !UNITY_EDITOR

        IOSLoginOptions modifiedLoginOptions = EOS_iOSLoginOptionsHelper.MakeIOSLoginOptionsFromDefualt(loginOptions);

        EOSAuthInterface.Login(ref modifiedLoginOptions, null, (Epic.OnlineServices.Auth.OnLoginCallback)((ref Epic.OnlineServices.Auth.LoginCallbackInfo data) => {

#else

        EOSAuthInterface.Login(ref loginOptions, null, (Epic.OnlineServices.Auth.OnLoginCallback)((ref Epic.OnlineServices.Auth.LoginCallbackInfo data) => {

#endif

        print("LoginCallBackResult : " + data.ResultCode.ToString());

        if (data.ResultCode == Result.Success)

        {

          loggedInAccountIDs.Add(data.LocalUserId);

            try

            {

              UnityEngine.Debug.Log("adduser " + data.LocalUserId);

 

              UnityEngine.Debug.Log("productid " + s_localProductUserId);

            }catch(Exception e)

            {

              UnityEngine.Debug.Log("exc" + e);

            }

            //try

            //{

            //  foreach(var acc in loggedInAccountIDs)

            //  {

            //    UnityEngine.Debug.Log("loggedinaccountids: " + acc);

            //  }          

            //}

            //catch(Exception e)

            //{

            //  UnityEngine.Debug.Log("ex" + e);

            //}

             

            SetLocalUserId(data.LocalUserId);

 

            ConfigureAuthStatusCallback();

 

            CallOnAuthLogin(data);

          }

                     

          if (onLoginCallback != null)

          {

            onLoginCallback(data);

          }

           

        }));

        

      }

Add user adds my id even that I am logged on different account with different id.

Hi! Can you confirm which LoginCredentialType you are using?

The behavior you describe sounds like you may be using PersistentAuth, which is tied to the Windows user rather than the user signed into the Epic Games Launcher. On the Epic Games Store, you should instead be using ExchangeCode, which is directly tied to the user signed into the Epic Games Launcher:

Thanks,
Andy