Giter Club home page Giter Club logo

playeveryware / eos_plugin_for_unity Goto Github PK

View Code? Open in Web Editor NEW
256.0 256.0 45.0 418.88 MB

Repository for PlayEveryWare's EOS Plugin for Unity, bringing the functionality of Epic Online Services to the Unity Game Engine.

Home Page: https://eospluginforunity.playeveryware.com

License: MIT License

C# 96.07% C++ 3.54% C 0.11% Objective-C++ 0.06% Ruby 0.01% Makefile 0.08% JavaScript 0.07% PowerShell 0.04% Shell 0.02%
csharp eos epiconlineservices unity unity3d upm upm-package

eos_plugin_for_unity's Issues

login

login not working

Session Matchmaking Sample doesn't work

Describe the bug
After creating a session, it disappears in an instant.

I tried the following in the Sample scene.
・ AuthAndFriends ⇒ fine work
・ Lobbies ⇒ fine work
・ Session Matchmaking ⇒ bad

To Reproduce
Steps to reproduce the behavior:

  1. Login
  2. Input SessionName
  3. Create New Session
  4. Session careated
  5. See Error

Expected behavior
The session should remain until it is erased.

Screenshots
image
image

Desktop (please complete the following information):

  • OS: Windows x64
  • Unity Version:2021.3.5f1
  • Plugin Version:1.0.4

Additional context
The log at that time is as follows.

02:06:09.606 [Log] : Loaded config file: {"productName":"PieceWars","productVersion":"1.0","productID":"a4f1f08f1b9e4ae0ad477113ae6befad","sandboxID":"4d37c986c923480d82ce9215f14e4577","deploymentID":"4d909975955a4248aa1a47f5238a17b9","clientSecret":"o+WmmyICjUc6f18BNQPgwtmwyAywRakEkXJBEwBxK18","clientID":"xyza7891vnMrXkkE0tZgFeogsCKMN36F","encryptionKey":"","platformOptionsFlags":[""],"alwaysSendInputToOverlay":false,"initialButtonDelayForOverlay":"","repeatButtonDelayForOverlay":""}
02:06:09.613 [Log] : InitializePlatformInterface: platformSpecifics.GetType() = PlayEveryWare.EpicOnlineServices.EOSPlatformSpecificsWindows
02:06:09.613 [Log] : InitializePlatformInterface: initOptions.GetType() = PlayEveryWare.EpicOnlineServices.EOSWindowsInitializeOptions
<color=#FFFF00>02:06:09.661 [Warning] : EOSManager::Init: InitializePlatformInterface: initResult = Success
02:06:09.673 [Log] : 2022-07-06T11:06:09.6664596+09:00 LogEOS(Info): [Boot] EOSSDK Version 1.14.2-18950192 booting at 2022-07-06T02:06:09.665Z
02:06:09.673 [Log] : 2022-07-06T11:06:09.6738567+09:00 LogEOS(Info): [Boot] EOSSDK Platform Properties [OS=Windows/10.0.22000.739.64bit, ClientId=xyza7891vnMrXkkE0tZgFeogsCKMN36F, ProductId=a4f1f08f1b9e4ae0ad477113ae6befad, SandboxId=4d37c986c923480d82ce9215f14e4577, DeploymentId=4d909975955a4248aa1a47f5238a17b9, ProductName=PieceWars, ProductVersion=1.0, IsServer=false, Flags=LoadingInEditor]
02:06:09.678 [Log] : 2022-07-06T11:06:09.6782999+09:00 LogEOSOverlay(Info): Overlay will not load, because it was explicitly disabled when creating the platform
02:06:09.681 [Log] : 2022-07-06T11:06:09.6812957+09:00 LogEOSEcom(Verbose): Purchase flow is disabled due to flags passed to EOS_Platform_Create
02:06:09.681 [Log] : 2022-07-06T11:06:09.6812957+09:00 LogEOSUI(Verbose): Social overlay is disabled due to flags passed to EOS_Platform_Create
02:06:09.694 [Log] : 2022-07-06T11:06:09.6943123+09:00 LogEOSAntiCheat(Info): [AntiCheatClient] Anti-cheat client not available. Verify that the game was started using the anti-cheat bootstrapper if you intend to use it.
02:06:09.700 [Log] : 2022-07-06T11:06:09.7002986+09:00 LogEOSRTC(Info): LibRTCCore: Initializing LibRTC...
02:06:09.712 [Log] : EOS loaded
<color=#FFFF00>02:06:09.714 [Warning] : Session Matchmaking (OnLoggedOut): Not logged in.
<color=#FFFF00>02:06:09.748 [Warning] : Session Matchmaking (OnLoggedOut): Not logged in.
02:06:09.757 [Log] : 2022-07-06T11:06:09.7576692+09:00 LogEOS(Info): Updating Platform SDK Config, Time: 0.046596
02:06:10.543 [Log] : 2022-07-06T11:06:10.5432378+09:00 LogEOS(Info): SDK Config Platform Update Request Successful, Time: 0.829516
02:06:10.545 [Log] : 2022-07-06T11:06:10.5452345+09:00 LogEOSAnalytics(Info): Start Session (User: ...)
02:06:10.545 [Log] : 2022-07-06T11:06:10.5452345+09:00 LogEOSAnalytics(Verbose): Record Event: SDKOverlayComponent.Init
02:06:10.545 [Log] : 2022-07-06T11:06:10.5452345+09:00 LogEOSAnalytics(Verbose): Record Event: EOSSDK.HTTP.Complete
02:06:10.545 [Log] : 2022-07-06T11:06:10.5452345+09:00 LogEOSAnalytics(Warning): EOS SDK Analytics disabled for route [1].
02:06:10.546 [Log] : 2022-07-06T11:06:10.5462318+09:00 LogEOSEcom(Verbose): Purchase flow is disabled due to flags passed to EOS_Platform_Create
02:06:10.546 [Log] : 2022-07-06T11:06:10.5462318+09:00 LogEOS(Info): Updating Product SDK Config, Time: 0.833552
02:06:10.800 [Log] : 2022-07-06T11:06:10.8009295+09:00 LogEOSAnalytics(Verbose): Record Event: EOSSDK.HTTP.Complete
02:06:10.801 [Log] : 2022-07-06T11:06:10.8019267+09:00 LogEOSConnect(Verbose): ConnectClientAuthTask Success
02:06:10.808 [Log] : 2022-07-06T11:06:10.8089082+09:00 LogEOSAnalytics(Info): Start Session (User: ...)
02:06:11.008 [Log] : 2022-07-06T11:06:11.0088254+09:00 LogEOSAnalytics(Verbose): Record Event: EOSSDK.HTTP.Complete
02:06:11.010 [Log] : 2022-07-06T11:06:11.0108199+09:00 LogEOS(Info): SDK Config Product Update Request Successful, Time: 1.298976
02:06:11.011 [Log] : 2022-07-06T11:06:11.0118188+09:00 LogEOSEcom(Verbose): Purchase flow is disabled due to flags passed to EOS_Platform_Create
02:06:11.011 [Log] : 2022-07-06T11:06:11.0118188+09:00 LogEOS(Info): SDK Config Data - Watermark: 1963445314
02:06:11.011 [Log] : 2022-07-06T11:06:11.0118188+09:00 LogEOS(Info): ScheduleNextSDKConfigDataUpdate - Time: 1.298976, Update Interval: 335.701172
02:06:11.212 [Log] : 2022-07-06T11:06:11.2122846+09:00 LogEOSAnalytics(Verbose): Record Event: EOSSDK.HTTP.Complete
02:07:10.539 [Log] : 2022-07-06T11:07:10.5390225+09:00 LogEOSAnalytics(Verbose): Record Event: UsageMetric
02:07:10.539 [Log] : 2022-07-06T11:07:10.5390225+09:00 LogEOSAnalytics(Verbose): Record Event: UsageMetric
02:07:10.801 [Log] : 2022-07-06T11:07:10.8010336+09:00 LogEOSAnalytics(Verbose): Record Event: UsageMetric
02:07:32.986 [Log] : Attempting to login...
02:07:32.986 [Log] : StartLoginWithLoginTypeAndToken
02:07:33.557 [Log] : 2022-07-06T11:07:33.5570565+09:00 LogEOSAuth(Verbose): Received exchange code from dev auth tool. Proceeding with exchange code login
02:07:33.878 [Log] : 2022-07-06T11:07:33.8786188+09:00 LogEOSAnalytics(Verbose): Record Event: EOSSDK.HTTP.Complete
02:07:33.880 [Log] : 2022-07-06T11:07:33.8806580+09:00 LogEOSAuth(Verbose): UserAuth Success
02:07:33.881 [Log] : 2022-07-06T11:07:33.8818748+09:00 LogEOSAuth(Info): NewUserToken: User ClientId: xyz...36F AccountId: 337...4f1 Access[Expires: 2022.07.06-04.07.34 Remaining: 7200.94] Refresh[Expires: 2022-07-06T10:07:34.944Z Remaining: 28800.94] State: Valid
02:07:33.893 [Log] : 2022-07-06T11:07:33.8938631+09:00 LogEOSAuth(Info): GenerateUserAuth success
02:07:34.109 [Log] : 2022-07-06T11:07:34.1091205+09:00 LogEOSAnalytics(Verbose): Record Event: EOSSDK.HTTP.Complete
02:07:34.110 [Log] : 2022-07-06T11:07:34.1101183+09:00 LogEOSAuth(Info): login/queryuserinfo success
02:07:34.112 [Log] : 2022-07-06T11:07:34.1121120+09:00 LogEOSAuth(Info): Login Tasks Complete: 0
02:07:34.402 [Log] : 2022-07-06T11:07:34.4023360+09:00 LogEOSAnalytics(Verbose): Record Event: EOSSDK.HTTP.Complete
02:07:34.404 [Log] : 2022-07-06T11:07:34.4040741+09:00 LogEOSMessaging(Info): Attempting connection to Stomp. LocalUserId=[000...a7d] Url=[]
02:07:34.413 [Log] : Changing PUID: null => 000209f95a4e4ff0bc4ef26c492bea7d
02:07:34.413 [Log] : Connect Login Successful. [Success]
02:07:35.425 [Log] : 2022-07-06T11:07:35.4250271+09:00 LogEOSPresence(Info): Updating Presence to Online. LocalUserId=[337...4f1] RichText=[]
02:07:35.469 [Log] : 2022-07-06T11:07:35.4694528+09:00 LogEOSMessaging(Info): Succesfully connected to Stomp. LocalUserId=[000...a7d]
02:07:35.663 [Log] : 2022-07-06T11:07:35.6638609+09:00 LogEOSAnalytics(Verbose): Record Event: EOSSDK.HTTP.Complete
02:07:35.666 [Log] : Session Matchmaking: set presence successfully.
02:07:35.695 [Log] : 2022-07-06T11:07:35.6957702+09:00 LogEOSMessaging(Verbose): Stomp subscribed to topic /4d909975955a4248aa1a47f5238a17b9/account/000209f95a4e4ff0bc4ef26c492bea7d
02:08:01.707 [Log] : 2022-07-06T11:08:01.7071484+09:00 LogEOS(Warning): Error response received from backend. ServiceName=[Sessions], OperationName=[CreateSession], Url=[], HttpStatus=[403], ErrorCode=[errors.com.epicgames.common.policy_missing_action], NumericErrorCode=[UNSET], ErrorMessage=[Client xyza7891vnMrXkkE0tZgFeogsCKMN36F missing matchmaking:createSession], CorrId=[EOS-NUnnp0zsjUuMnFnKXluNCw-LUUyW2_b_kavKvt-Iq2xww-T6GiUwK46kGMTxZLz3EsDg]
02:08:01.708 [Log] : 2022-07-06T11:08:01.7081457+09:00 LogEOSAnalytics(Verbose): Record Event: EOSSDK.HTTP.Complete
02:08:01.710 [Log] : 2022-07-06T11:08:01.7104059+09:00 LogEOSPresence(Info): Skipping updating Presence to Online. Requested Presence is the same as the current one.
<color=#FF0000>02:08:01.721 [Error] : Session Matchmaking (OnUpdateSessionCompleteCallback): error code: NotConfigured
<color=#FF0000>02:08:01.722 [Error] : Session Matchmaking: could not get ActiveSession for name: 123
02:08:09.895 [Log] : 2022-07-06T11:08:09.8950603+09:00 LogEOSAnalytics(Verbose): Record Event: EOSSDK.HTTP.Complete
02:08:33.848 [Log] : 2022-07-06T11:08:33.8484135+09:00 LogEOSAuth(Verbose): Sending Verify Auth request. url=
02:08:33.881 [Log] : 2022-07-06T11:08:33.8813208+09:00 LogEOSAnalytics(Verbose): Record Event: UsageMetric
02:08:34.043 [Log] : 2022-07-06T11:08:34.0434991+09:00 LogEOSAnalytics(Verbose): Record Event: EOSSDK.HTTP.Complete
02:08:34.044 [Log] : 2022-07-06T11:08:34.0444966+09:00 LogEOSAuth(Verbose): Verify Auth Success
02:08:34.402 [Log] : 2022-07-06T11:08:34.4026063+09:00 LogEOSAnalytics(Verbose): Record Event: UsageMetric
02:08:35.424 [Log] : 2022-07-06T11:08:35.4244634+09:00 LogEOSAnalytics(Verbose): Record Event: UsageMetric
02:08:35.664 [Log] : 2022-07-06T11:08:35.6634147+09:00 LogEOSAnalytics(Verbose): Record Event: UsageMetric
02:09:01.707 [Log] : 2022-07-06T11:09:01.7071801+09:00 LogEOSAnalytics(Verbose): Record Event: UsageMetric
02:09:01.707 [Log] : 2022-07-06T11:09:01.7071801+09:00 LogEOSAnalytics(Verbose): Record Event: UsageMetric
02:09:34.043 [Log] : 2022-07-06T11:09:34.0437174+09:00 LogEOSAuth(Verbose): Sending Verify Auth request. url=
02:09:34.254 [Log] : 2022-07-06T11:09:34.2543493+09:00 LogEOSAnalytics(Verbose): Record Event: EOSSDK.HTTP.Complete
02:09:34.255 [Log] : 2022-07-06T11:09:34.2553469+09:00 LogEOSAuth(Verbose): Verify Auth Success

Estimate for Android and IOS support?

Hi, do you guys have an estimate for when you will have android and IOS support? I'm currently using the C# SDK, but it's not working on android for arm64 builds.

Easy Anti Cheat

Is there any easy way to use EAC with this? I'm aware that it says its not supported, but can I use anticheat with this if I want?

Alternative to storing configuration in StreamingAssets?

Hello!

By using the StreamingAssets folder to store the product information we are just exposing sensitive information to the public, and in a human-readable format like JSON.

Is there an alternative (i.e. hardcoding, passing it to EOSManager somehow) to this?

Thanks!

Error loading EOS lib on Mac

After going through the setup steps and installing via upm, I get the following error trying to start in the editor, both in the Auth sample and in my project:

NullReferenceException: Object reference not set to an instance of an object
PlayEveryWare.EpicOnlineServices.EOSManager+EOSSingleton+<>c.<LoadDelegatesWithEOSBindingAPI>b__60_0 (DLLHandle handle, System.String functionName) (at Library/PackageCache/com.playeveryware.eos@b1c455b332/Runtime/EOSManager_DynamicLoading.cs:218)
Epic.OnlineServices.Bindings.Hook[TLibraryHandle] (TLibraryHandle libraryHandle, System.Func`3[T1,T2,TResult] getFunctionPointer) (at Library/PackageCache/com.playeveryware.eos@b1c455b332/Runtime/EOS_SDK/Generated/Bindings.cs:29)
PlayEveryWare.EpicOnlineServices.EOSManager+EOSSingleton.LoadDelegatesWithEOSBindingAPI () (at Library/PackageCache/com.playeveryware.eos@b1c455b332/Runtime/EOSManager_DynamicLoading.cs:217)
PlayEveryWare.EpicOnlineServices.EOSManager+EOSSingleton.LoadEOSLibraries () (at Library/PackageCache/com.playeveryware.eos@b1c455b332/Runtime/EOSManager_DynamicLoading.cs:341)
PlayEveryWare.EpicOnlineServices.EOSManager+EOSSingleton.Init (PlayEveryWare.EpicOnlineServices.IEOSCoroutineOwner coroutineOwner) (at Library/PackageCache/com.playeveryware.eos@b1c455b332/Runtime/EOSManager.cs:388)
PlayEveryWare.EpicOnlineServices.EOSManager.Awake () (at Library/PackageCache/com.playeveryware.eos@b1c455b332/Runtime/EOSManager.cs:1021)

It seems to be looking for libEOSSDK-Mac-Shipping, which I can't find anywhere in the project.

Build Fails if using EOS_DISABLE directive

LibraryName string isn't complete if using the directive EOS_DISABLE.

Library\PackageCache\com.playeveryware.eos@b1c455b332\Runtime\EOS_SDK\Core\Config.cs(60,36): error CS1525: Invalid expression term ';'

Unable to authenticate using a non-developer account

Brand settings for my title have been approved and it works when testing it with a dev account.

My implementation code:

    public override void RequestPlatformID(Action<GetPlatformIDResult, string> callback) {
        LoginToEpic(LoginCredentialType.PersistentAuth, callback);
    }

    private void LoginToEpic(LoginCredentialType loginType, Action<GetPlatformIDResult, string> callback) {
        Credentials credentials = new Credentials {
            Type = loginType,
        };

        EOSManager.Instance.StartLoginWithLoginOptions(new LoginOptions {
            Credentials = credentials,
        }, (loginCallback => {
            if (loginCallback.ResultCode == Result.Success) {
                EOSManager.Instance.StartConnectLoginWithEpicAccount(loginCallback.LocalUserId, (connectLoginCallback) => {
                    if (connectLoginCallback.ResultCode == Result.Success) {
                        callback?.Invoke(GetPlatformIDResult.Success, loginCallback.LocalUserId.ToString());
                    } else {
                        callback?.Invoke(GetPlatformIDResult.Failed, string.Empty);
                    }
                });
            } else if (loginType == LoginCredentialType.PersistentAuth) {
                LoginToEpic(LoginCredentialType.AccountPortal, callback);
            } else {
                Debug.LogErrorFormat(DEBUG + "StartLoginWithLoginOptions ResultCode ({0})", loginCallback.ResultCode);
                callback?.Invoke(GetPlatformIDResult.Failed, string.Empty);
            }
        }));
    }

After the first attempt with LoginCredentialType.PersistentAuth type I receive:

StartLoginWithLoginTypeAndToken
No existing persistent auth credentials were found for automatic login.
StartLoginWithLoginTypeAndToken
Record Event: EOSSDK.HTTP.Complete
ClientAuthTask Success
NewClientToken: Client ClientId: xyz...Q4q Access[Expires: 2022.03.07-17.55.03 Remaining: 7200.16] State: Valid
xyz...Q4q result: eyJ...tEQ
Record Event: EOSSDK.HTTP.Complete
FInitiateDeviceFlowTask Success
Device code flow to be continued at https://www.epicgames.com/activate?userCode=SBBBXRCY
Launching platform browser for account portal
Error response received from backend. ServiceName=[OAuth], OperationName=[TokenGrant], Url=[], HttpStatus=[400], ErrorCode=[errors.com.epicgames.account.oauth.authorization_pending], NumericErrorCode=[1012], ErrorMessage=[The authorization server request is still pending as the end user has yet to visit and enter the verification code.], CorrId=[EOS-pyw0sNfd5UWuSovo4XQHbw-AGx03vOpPUeES-1I9aPaRw-lm5oeVy1Z0-jrk6t2lz35Q]
Polling for token grant. Device code flow to be continued at https://www.epicgames.com/activate?userCode=SBBBXRCY
Record Event: EOSSDK.HTTP.Complete
Next token grant poll
Error response received from backend. ServiceName=[OAuth], OperationName=[TokenGrant], Url=[], HttpStatus=[400], ErrorCode=[errors.com.epicgames.account.oauth.authorization_pending], NumericErrorCode=[1012], ErrorMessage=[The authorization server request is still pending as the end user has yet to visit and enter the verification code.], CorrId=[EOS-pyw0sNfd5UWuSovo4XQHbw-AGx03vOpPUeES-1I9aPaRw-MUidY1YDd0GBQRZjwD-o2w]
Polling for token grant. Device code flow to be continued at https://www.epicgames.com/activate?userCode=SBBBXRCY
Record Event: EOSSDK.HTTP.Complete
Next token grant poll
Error response received from backend. ServiceName=[OAuth], OperationName=[TokenGrant], Url=[], HttpStatus=[400], ErrorCode=[errors.com.epicgames.account.oauth.authorization_pending], NumericErrorCode=[1012], ErrorMessage=[The authorization server request is still pending as the end user has yet to visit and enter the verification code.], CorrId=[EOS-pyw0sNfd5UWuSovo4XQHbw-AGx03vOpPUeES-1I9aPaRw-LlWQFplxs0ig_BymbFMPog]
Polling for token grant. Device code flow to be continued at https://www.epicgames.com/activate?userCode=SBBBXRCY
Record Event: EOSSDK.HTTP.Complete
Next token grant poll
FPollTokenGrantRequestTask Success
Record Event: EOSSDK.HTTP.Complete
FInitiateDeviceFlowTask Complete Success
NewUserToken: User ClientId: xyz...Q4q AccountId: 741...62b Access[Expires: 2022.03.07-17.55.33 Remaining: 7199.99] Refresh[Expires: 2022-09-03T15:55:33.991Z Remaining: 15551999.99] State: Valid
GenerateUserAuth success
Persistent auth credentials successfully updated in the local keychain.
Record Event: EOSSDK.HTTP.Complete
login/queryuserinfo success
Social Overlay: 'leaderboards' feature disabled by overlay.
Login Tasks Complete: 0
Social Overlay: Loading:
Social Overlay: Initital DisplaySettings{ Visible(FALSE) ExclusiveInput(FALSE) HitBox(unset) }
Overlay loading in instance 1917771513040
Record Event: Overlay.ClientApi.LoadURL
LoadURL result received. [Success=1, BrowserID=1]
Record Event: Overlay.RenderProcess.LoadURL
Record Event: Overlay.MessageHandler.LoadURLResult
Record Event: Overlay.RenderProcess.BrowserCreated
Record Event: Overlay.RenderProcess.ConnectBrowserAndRenderProcesses
Record Event: Overlay.MessageHandler.BrowserStatus
Error response received from backend. ServiceName=[EOSAuth], OperationName=[TokenGrant], Url=[], HttpStatus=[404], ErrorCode=[errors.com.epicgames.eos.auth.user_not_found], NumericErrorCode=[110016], ErrorMessage=[EOS User Identity not found. identityProviderId: epicgames accountId: 741a35744182426ab699e358368d762b], CorrId=[EOS-pyw0sNfd5UWuSovo4XQHbw-AGx03vOpPUeES-1I9aPaRw--n3OtYpTt061CmpNmE0E8g]
Record Event: EOSSDK.HTTP.Complete
[EPIC_USER_PROVIDER] : StartConnectLoginWithEpicAccount ResultCode (InvalidUser)`

After the InvalidUser result I try again using LoginCredentialType.AccountPortal and get the same InvalidUser result:

Error response received from backend. ServiceName=[EOSAuth], OperationName=[TokenGrant], Url=[], HttpStatus=[404], ErrorCode=[errors.com.epicgames.eos.auth.user_not_found], NumericErrorCode=[110016], ErrorMessage=[EOS User Identity not found. identityProviderId: epicgames accountId: 741a35744182426ab699e358368d762b], CorrId=[EOS-pyw0sNfd5UWuSovo4XQHbw-AGx03vOpPUeES-1I9aPaRw--n3OtYpTt061CmpNmE0E8g]
Record Event: EOSSDK.HTTP.Complete
[EPIC_USER_PROVIDER] : StartConnectLoginWithEpicAccount ResultCode (InvalidUser)

Leaderboards Sample Scene - Error

Hey There,

After i login to the LB sample scene and the scene loads, i get an error when the scene tried to fetch the LB definitions.

Leaderboard (LeaderboardDefinitionsReceivedCallbackFn): QueryDefinitions error: UnrecognizedResponse
UnityEngine.Debug:LogErrorFormat (string,object[])
PlayEveryWare.EpicOnlineServices.Samples.EOSLeaderboardManager:LeaderboardDefinitionsReceivedCallbackFn (Epic.OnlineServices.Leaderboards.OnQueryLeaderboardDefinitionsCompleteCallbackInfo) (at Assets/Samples/Epic Online Services Plugin for Unity/1.0.1/EOS Plugin for Unity Samples/Scripts/EOSLeaderboardManager.cs:220)
Epic.OnlineServices.Leaderboards.LeaderboardsInterface:OnQueryLeaderboardDefinitionsCompleteCallbackInternalImplementation (intptr) (at Library/PackageCache/com.playeveryware.eos@cc1b23eabb12-1630406260137/Runtime/EOS_SDK/Generated/Leaderboards/LeaderboardsInterface.cs:426)
Epic.OnlineServices.Platform.PlatformInterface:Tick () (at Library/PackageCache/com.playeveryware.eos@cc1b23eabb12-1630406260137/Runtime/EOS_SDK/Generated/Platform/PlatformInterface.cs:738)
PlayEveryWare.EpicOnlineServices.EOSManager/EOSSingleton:Tick () (at Library/PackageCache/com.playeveryware.eos@cc1b23eabb12-1630406260137/Runtime/EOSManager.cs:743)
PlayEveryWare.EpicOnlineServices.EOSManager:Update () (at Library/PackageCache/com.playeveryware.eos@cc1b23eabb12-1630406260137/Runtime/EOSManager.cs:841)

... I have 3 test Leaderboards set up. 1 has ended and the other two are active.
Because of this error, there are no LBs loaded into the UI for me to test so i am stuck at the moment.

Player Data Storage Encryption Key Not Set

I'm having the following error when using the demo scene and my own scene.

"[EOS SDK] Player data storage: could not upload file: PlayerDataStorageEncryptionKeyNotSet"

I've set up the encryption key to a 256-bit hex string as well as a 128-bit hey string and neither seem to work. Do we need to initialize this key somewhere else in the code?

Ui not work

After start or build any sample ui buttons not work, and i can't check that sample

Plugin intergration

Dear all,

I have just started working with the plugin and I am struggling a bit with the integration. I have three questions about this.
After initializing the EOSmanager i need to log in the user either through Persistent login or with another method. Is it safe to assume that we should always try and log in the user with persistent login first and if that fails continue with another method?
Secondly, how do i get the avatar of a user. This if for both the local user and a friend?
Finally, i want to change the language of the game when I boot up the game. I have set up my supported languages inside the dev portal, however im not sure how to get the list of supported languages or the current language of the epic games launcher. How can this be done?

Release date of the v1.0.2

Hello,
I see on the development branch the change for the v1.0.2 release.
In this version you add the support of macOS.
When do you think, it will be release ?
Thanks for your great work.

Achievements Issue

Hi, I am trying to implement the EOS achievements system in my game with Unity and I receive the following error message from the log when I try to do the QueryDefinitions of the achievements:

unable to query achievement definitions: InvalidUser

I successfully initialized the SDK and successfully logged in using StartPersistantLogin

(Log)
Player.log
{
NewUserToken: User ClientId: xyz...oJz AccountId: 826...ca9 Access[Expires: 2022.05.19-17.51.21 Remaining: 7200.46] Refresh[Expires: 2022-11-15T15:22:05.196Z Remaining: 15550244.20] State: Valid

Social Overlay: Achievements disabled due to the local Client Auth Token missing the feature.

GenerateUserAuth success

Login succeeded
}

Has anyone else had a problem with achievements? Do you know if there is something I am missing?

Thank you.

Is 'Encryption Key' in the Config Editor required?

Hey guys, thanks a ton for the plugin! I am just starting to test it out, and was filling out the fields in the Epic Online Services Config Editor. There is a field for "Encryption Key", and I can't find any info on it anywhere.

The only place I see it mentioned anywhere on Epic's documentation website is in this table: https://dev.epicgames.com/docs/services/en-US/GameServices/Platform/index.html#creatingtheplatforminterface

It doesn't explain whether this is an encryption key that is provided to us by Epic somewhere in the developer portal, or if we are supposed to create one ourselves, or if it is even necessary at all. I've tried looking through the documentation, googling, etc.

Could someone enlighten me? Thanks a lot!

EOS for iOS n Android end of year

Hi there

https://dev.epicgames.com/en-US/news/epic-online-services-releases-plugins-for-unity-and-unreal-engine?sessionInvalidated=true

According to Epic's official blog post on unity plugin (this one),
"The Epic Online Services plugin for Unity is now available for PC, with console and mobile following later in the year. "

We are just 2 months away , so do you think this is still applicable? (Unity Plugin for both iOS n Android)

A 'rough' idea will let us plan better.

Thanks

Unity Editor Frozen in AuthSample

A Platform Interface initialization failure exception occurs in the first play attempt, and the Unity Editor frees up when the second play is attempted.
image

Social Overlay not loading

Hey there, I integrated this plugin on 29th Sept and had the social overlay working correctly. Running the game again this week and it returns EOS_UI_SocialOverlayLoadError and the overlay doesnt open.

I saw the Epic Launcher just updated to 13.0 and the EOS SDK just released 1.14 (though this apparently focuses on the anti-cheat features). Wondering if its something there thats broken the overlay support?

GC Allocations in p2p hot path

Receiving packets in the P2PInterface.cs generates a ridiculous amount of garbage from the inefficient Marshalling. As per Unity's own coding standards, any garbage that's more than zero should be considered a bug. It should also be noted that each byte from the byte array is being Marshalled individually, also generating garbage each and every time. The performance is absolutely abysmal on such a critical path.

Roadmap

Hi,
can you share when Android and iOS version will be released?

Thanks

Info

There are any video tutorial that you can follow?

Stop spamming the log

Currently, by default, the plugin constantly spams unity logs. Removing the ENABLE_DEBUG_EOSMANAGER define in the EOSManager.cs manually stops the plugin from bloating the logs, but is there a way to fix this without having to adjust the package ?

Since Epic isn't the only platform my game supports, I switch from target platform alot and by doing so removing/adding this plugin and discarding all changes from EOSManager. So it would be nice to have this symbol removed by default, or to add a way to disable logging through code.

Getting errors that shouldn't be happening

Unity and VS both seem to say there is missing interface implementation but they are both wrong yet i can't compile because of it.

See screenshot to see what I mean:

image

I don't understand why it can't see this function which is clearly defined for the interface...

image

Any ideas why this is happening and how to fix it?

Android & iOS

Hi,
I am hoping to move to EOS since Gamesparks is closing and it seems the best alternative, but my games are for mobile and it doesn't seem to be supported by this plugin for now.
Any idea when it will be?
Thanks :)

Achievements Sample Bug

Hey guys.

Just thought I'd mention a couple of bugs I found in the achievements sample that held me up for a bit. The MakeQueryPlayerAchievementsOptions and the MakeCopyPlayerAchievementByIndexOptions were missing the LocalUserId. Caused the functions getting the players achievements to error with an invalidUser.

Regards
Rob

login

there's a more simple way to login than the way on sample?

How to build for android ?

I am trying to make a build for android using the latest dev branch, but the build is failing with the following errors.
image
image

Developer Authentication Tool Issue

Hey There,

I have followed the setup steps using tarbell and i can log a user in using the sample scenes, however i cannot get developer-auth to work.

I assume the dev-auth tool included in the C# SDK would work?
The endpoint that the sample-scene is trying to hit for the token is invalid. ( http://8888/sean/exchange_code )

Is there something i am missing with regards the tool setup?

.. also ...
Login portal authentication is very slow and can take 10+ seconds to complete.
I am in Greece at the moment so that might be part of the problem, just thought i would let you know

Thanks,
Sean

Device Auth Url Link

Hey,

Im trying to figure out the device auth flow. I have it all working but when I call AuthInterface.Login() it prints out a URL to the console that I then manually have to copy and paste into my browser. Im trying to figure out either how to make this automatic so the browser window will popup for the user with the link supplied or where in the code this link gets printed so I can access it and pop up the browser myself in my own code.

Any insight would be great.

Regards
Rob

Missing script in Samples

Hi, is it normal to have a missing script in the "EventSystem" Game Object? I followed the installing instructions from this repo (install using git url + samples import). Currently, in every Sample scene, this script is missing.

image

Btw, I've been having troubles running this scenes (maybe because of the missing script). When I hit Play, the Game view shows the logs but I'm not able to interact with it e.g. press the "copy logs" button .

Git URL package install issue

Hey There,

I first tried installing the plugin from git using the Unity package manager, as in the guide here.
I get an error from Unity when i try both URLs...

[Package Manager Window] Cannot perform upm operation: Unable to add package [https://github.com/PlayEveryWare/eos_plugin_for_unity_upm.git]:
Cannot checkout repository [https://github.com/PlayEveryWare/eos_plugin_for_unity_upm.git]:
Error when executing git command. git-lfs filter-process: git-lfs: command not found
fatal: the remote end hung up unexpectedly
[NotFound].

I thought this was a Unity issue for mac but it appears on my windows machine also.

EOS API Config get saved in streaming assets folder!!!

Hi,

just want to let you know that your eos plugin saves the api keys config as a readable json file in the streaming assets folder, everyone can read that in any standalone build! You should move it to a resources folder at least (and make a scriptable object or something similar.)

Best regards,
Chris

Having the ability to change the way the EOSConfig is initialized instead of being forced to use the json file

Is your feature request related to a problem? Please describe.
Currently the EOS config in the EOSSingleton.init is loaded via a .json file located at StreamingAssets\EOS\EpicOnlineServicesConfig.json . This is a file that is also included in a build and can be opened by any text reader and contains all the ids inlcuding sandbox, client, client secret, etc . Correct me if I'm wrong but these a not things that you want to expose to the public and that users can freely adjust on a release build?

I adjusted the loading of this Json to use a different method (can be via code, scriptable object or whatever custom method you want to use to create the EOSConfig object with the required data. This works great in the editor but when you create a build things go horribly wrong.
The reason for this is the use of the Native GFX Renderer on standalone windows builds.
During the init EOS_GetPlatformInterface() is called which is a method that is part of the GfxPluginNativeRender dll. Which in turn tries to load the Json file (or at leas that is what it looks like)!?
So when the json isn't present a nullref exception gets thrown and everything halts even though you provided a fully valid EOSConfig in the EOSManager

Describe the solution you'd like
If possible I would like to be able to control how this config is loaded instead of being forced to use the public visible json as the only solution.
Or at the very least make it so that if this point is reached the plugin can recover with the manually provided data.
Ideally I would like to be able to set a EOSConfig on the manager or instance before it's init is called.

Describe alternatives you've considered
Don't have the json as a freely readable text file.

Additional Question
Is there a way to work around this with the current version or a way for me to adjust this myself?

Thank you in advance.

Samples not reacting to player input

Hello,

I installed the plugin package and the samples and have entered the product, client id, etc. parameters with the Config Editor.
Now, when I load any of the sample scenes (e.g. AuthAndFriends) and run it, it initializes EOS correctly but I can't interact with the UI (mouse clicks are ignored) so I can't login, etc.
The logs show they are trying to access a missing script in the 'EventSystem' object, and indeed this object has a broken reference to a script (shows 'missing script').

Is this expected or maybe something went wrong when importing the samples?

Thanks a lot.

git-lfs command not found, how to fix?

I keep getting this error when I try to import the project:

Error when executing git command. git-lfs filter-process: git-lfs: command not found
fatal: the remote end hung up unexpectedly

I read the unity documentation for this but I have no idea what I am suppose to do to get the package manager to actually work for this.

A step by step guide would be helpful because unity is terrible with documentation on explaining this.

Creating build for macOS fails if EOS plugin package is installed

This package does not support macOS yet, which is fine, but it should still be possible to create macOS builds of your Unity project (without using EOS).

Right now, when trying to do so the build fails due to some methods not existing:

Library\PackageCache\com.playeveryware.eos@7684ee6c4e\Runtime\EOSManager.cs(238,35): error CS0103: The name 'CreateSystemInitOptions' does not exist in the current context

Library\PackageCache\com.playeveryware.eos@7684ee6c4e\Runtime\EOSManager.cs(247,17): error CS0103: The name 'ConfigureSystemInitOptions' does not exist in the current context

Library\PackageCache\com.playeveryware.eos@7684ee6c4e\Runtime\EOSManager.cs(267,39): error CS0103: The name 'CreateSystemPlatformOption' does not exist in the current context

Library\PackageCache\com.playeveryware.eos@7684ee6c4e\Runtime\EOSManager.cs(268,50): error CS0103: The name 'GetTempDir' does not exist in the current context

Library\PackageCache\com.playeveryware.eos@7684ee6c4e\Runtime\EOSManager.cs(289,17): error CS0103: The name 'ConfigureSystemPlatformCreateOptions' does not exist in the current context

Getting stuck in EOS library unloading

When entering play mode for the second time after starting Unity it gets stuck in SystemDynamicLibrary.FreeLibrary(existingHandle); at:

EOSManager.EOSSingleton.ForceUnloadEOSLibrary() at Library\PackageCache\com.playeveryware.eos@7684ee6c4e\Runtime\EOSManager_DynamicLoading.cs:line 312 EOSManager.EOSSingleton.Init() at Library\PackageCache\com.playeveryware.eos@7684ee6c4e\Runtime\EOSManager.cs:line 254 EOSManager.Awake()

This is in the latest version of the EOS package using the latest Unity LTS version, 2020.3.17.

PlayerData Sample Scene - Error

Hey There,

I am getting an error in the PlayerData sample scene after login.

For the PlayerData scene I get an error when it loads...

NullReferenceException: Object reference not set to an instance of an object
PlayEveryWare.EpicOnlineServices.Samples.EOSPlayerDataStorageManager.QueryFileList () (at Assets/Samples/Epic Online Services Plugin for Unity/1.0.1/EOS Plugin for Unity Samples/Scripts/EOSPlayerDataStorageManager.cs:74)
PlayEveryWare.EpicOnlineServices.Samples.EOSPlayerDataStorageManager.OnLoggedIn () (at Assets/Samples/Epic Online Services Plugin for Unity/1.0.1/EOS Plugin for Unity Samples/Scripts/EOSPlayerDataStorageManager.cs:522)
PlayEveryWare.EpicOnlineServices.Samples.UIPlayerDataStorageMenu.ShowMenu () (at Assets/Samples/Epic Online Services Plugin for Unity/1.0.1/EOS Plugin for Unity Samples/Scripts/UI/UIPlayerDataStorageMenu.cs:201)
UnityEngine.Events.InvokableCall.Invoke () (at :0)
UnityEngine.Events.UnityEvent.Invoke () (at :0)
PlayEveryWare.EpicOnlineServices.Samples.UILoginMenu.ConfigureUIForLogout () (at Assets/Samples/Epic Online Services Plugin for Unity/1.0.1/EOS Plugin for Unity Samples/Scripts/UI/UILoginMenu.cs:276)
PlayEveryWare.EpicOnlineServices.Samples.UILoginMenu+<>c__DisplayClass30_0.b__0 (Epic.OnlineServices.Connect.LoginCallbackInfo connectLoginCallbackInfo) (at Assets/Samples/Epic Online Services Plugin for Unity/1.0.1/EOS Plugin for Unity Samples/Scripts/UI/UILoginMenu.cs:371)
PlayEveryWare.EpicOnlineServices.EOSManager+EOSSingleton+<>c__DisplayClass20_0.b__0 (Epic.OnlineServices.Connect.LoginCallbackInfo connectLoginData) (at Library/PackageCache/com.playeveryware.eos@cc1b23eabb12-1630406260137/Runtime/EOSManager.cs:506)
PlayEveryWare.EpicOnlineServices.EOSManager+EOSSingleton+<>c__DisplayClass22_0.b__0 (Epic.OnlineServices.Connect.LoginCallbackInfo connectLoginData) (at Library/PackageCache/com.playeveryware.eos@cc1b23eabb12-1630406260137/Runtime/EOSManager.cs:549)
Epic.OnlineServices.Connect.ConnectInterface.OnLoginCallbackInternalImplementation (System.IntPtr data) (at Library/PackageCache/com.playeveryware.eos@cc1b23eabb12-1630406260137/Runtime/EOS_SDK/Generated/Connect/ConnectInterface.cs:854)
Epic.OnlineServices.Platform.PlatformInterface.Tick () (at Library/PackageCache/com.playeveryware.eos@cc1b23eabb12-1630406260137/Runtime/EOS_SDK/Generated/Platform/PlatformInterface.cs:738)
PlayEveryWare.EpicOnlineServices.EOSManager+EOSSingleton.Tick () (at Library/PackageCache/com.playeveryware.eos@cc1b23eabb12-1630406260137/Runtime/EOSManager.cs:743)
PlayEveryWare.EpicOnlineServices.EOSManager.Update () (at Library/PackageCache/com.playeveryware.eos@cc1b23eabb12-1630406260137/Runtime/EOSManager.cs:841)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.