Announcement

Collapse
No announcement yet.

Epic Online Services

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Originally posted by unit23 View Post
    So I can launch it, but there is nothing there, nothing happens if I run Test map, and the PlayerController has only unconnected nodes, connecting them shows some text, that is all. How do you want me to migrate this code, there is no option to migrate plugins.

    Manually copying the under 4.25 compiled plugin into my 4.24 project yields the same results, it fails. Also I have no idea where the Output window is you mentioned, perhaps you can post a screenshot highlighting it?

    Well now, I didn't intend on pushing the version with the disconnected nodes... interesting. There's a new version now, migrated over to an OSS (Online Subsystem) so I think everyone should switch over to that, especially as this is where the development will be moving on from.

    Click image for larger version

Name:	image_193189.jpg
Views:	332
Size:	60.9 KB
ID:	1766877
    You were on the "Error List" tab in VS, shifting over to the "Output" tab often yields more detailed output.

    Click image for larger version

Name:	PluginVersion.jpg
Views:	306
Size:	17.5 KB
ID:	1766878
    Find and open up the .uplugin file. Note the highlighted line "4.25.0" - change that to "4.24.0" (which changes the expected version of the plugin). And then compile on a 4.24 project.
    Epic Online Services Plugin for UE4 [github] [forum]

    Comment


      Originally posted by Jawdy View Post
      And then compile on a 4.24 project.
      Getting the same error as yesterday, output log:

      Code:
      1>------ Rebuild All started: Project: EPICA, Configuration: Development_Editor x64 ------
      1>Cleaning EPICAEditor and UnrealHeaderTool binaries...
      1>UnrealBuildTool : warning : The 'Developer' module type has been deprecated in 4.24. Use 'DeveloperTool' for modules that can be loaded by game/client/server targets in non-shipping configurations, or 'UncookedOnly' for modules that should only be loaded by uncooked editor and program targets (eg. modules containing blueprint nodes)
      1>C:\UE\UE_4.24\Engine\Plugins\Marketplace\RLLiveLink\RLLiveLink.uplugin : warning : The 'Developer' module type has been deprecated in 4.24.
      1>Creating makefile for EPICAEditor (no existing makefile)
      1>UnrealBuildTool : warning : The 'Developer' module type has been deprecated in 4.24. Use 'DeveloperTool' for modules that can be loaded by game/client/server targets in non-shipping configurations, or 'UncookedOnly' for modules that should only be loaded by uncooked editor and program targets (eg. modules containing blueprint nodes)
      1>C:\UE\UE_4.24\Engine\Plugins\Marketplace\RLLiveLink\RLLiveLink.uplugin : warning : The 'Developer' module type has been deprecated in 4.24.
      1>Mod Dir : C:\UE\UE_4.24\Engine\Plugins\Marketplace\DragonIK\Source\DragonIKPlugin
      1>Parsing headers for EPICAEditor
      1> Running UnrealHeaderTool "C:\UE\MAY\EPICA.uproject" "C:\UE\MAY\Intermediate\Build\Win64\EPICAEditor\Development\EPICAEditor.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors -installed
      1>Reflection code generated for EPICAEditor in 4.8882581 seconds
      1>Building EPICAEditor...
      1>Using Visual Studio 2017 14.16.27030 toolchain (C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023) and Windows 10.0.17763.0 SDK (C:\Program Files (x86)\Windows Kits\10).
      1>[Upgrade]
      1>[Upgrade] Using backward-compatible build settings. The latest version of UE4 sets the following values by default, which may require code changes:
      1>[Upgrade] bLegacyPublicIncludePaths = false => Omits subfolders from public include paths to reduce compiler command line length. (Previously: true).
      1>[Upgrade] ShadowVariableWarningLevel = WarningLevel.Error => Treats shadowed variable warnings as errors. (Previously: WarningLevel.Warning).
      1>[Upgrade] PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs => Set in build.cs files to enables IWYU-style PCH model. See https://docs.unrealengine.com/en-US/Programming/BuildTools/UnrealBuildTool/IWYU/index.html. (Previously: PCHUsageMode.UseSharedPCHs).
      1>[Upgrade] Suppress this message by setting 'DefaultBuildSettings = BuildSettingsVersion.V2;' in EPICAEditor.Target.cs, and explicitly overriding settings that differ from the new defaults.
      1>[Upgrade]
      1>Building 13 actions with 16 processes...
      1> [1/13] Default.rc2
      1> [2/13] Default.rc2
      1> [3/13] SharedPCH.Engine.NonOptimized.cpp
      1> [4/13] Module.OnlineSubsystemEOS.cpp
      1>C:\UE\UE_4.24\Engine\Source\Runtime\Core\Public\Templates/SharedPointerInternals.h(135): error C2259: 'FOnlineSubsystemEOS': cannot instantiate abstract class
      1> C:\UE\UE_4.24\Engine\Source\Runtime\Core\Public\Templates/SharedPointerInternals.h(135): note: due to following members:
      1> C:\UE\UE_4.24\Engine\Source\Runtime\Core\Public\Templates/SharedPointerInternals.h(135): note: 'IOnlineStorePtr IOnlineSubsystem::GetStoreInterface(void) const': is abstract
      1> c:\ue\ue_4.24\engine\plugins\online\onlinesubsystem\source\public\OnlineSubsystem.h(373): note: see declaration of 'IOnlineSubsystem::GetStoreInterface'
      1> C:\UE\UE_4.24\Engine\Source\Runtime\Core\Public\Templates/SharedPointerInternals.h(186): note: see reference to function template instantiation 'SharedPointerInternals::TIntrusiveReferenceController<InObjectType>::TIntrusiveReferenceController<FName&>(FName &)' being compiled
      1> with
      1> [
      1> InObjectType=FOnlineSubsystemEOS
      1> ]
      1> C:\UE\UE_4.24\Engine\Source\Runtime\Core\Public\Templates/SharedPointerInternals.h(186): note: see reference to function template instantiation 'SharedPointerInternals::TIntrusiveReferenceController<InObjectType>::TIntrusiveReferenceController<FName&>(FName &)' being compiled
      1> with
      1> [
      1> InObjectType=FOnlineSubsystemEOS
      1> ]
      1> C:\UE\UE_4.24\Engine\Source\Runtime\Core\Public\Templates/SharedPointer.h(1743): note: see reference to function template instantiation 'SharedPointerInternals::TIntrusiveReferenceController<InObjectType> *SharedPointerInternals::NewIntrusiveReferenceController<InObjectType,FName&>(FName &)' being compiled
      1> with
      1> [
      1> InObjectType=FOnlineSubsystemEOS
      1> ]
      1> C:/UE/MAY/Plugins/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Private/OnlineSubsystemEOSModule.cpp(47): note: see reference to function template instantiation 'TSharedRef<ObjectType,ESPMode::ThreadSafe> MakeShared<FOnlineSubsystemEOS,ESPMode::ThreadSafe,FName&>(FName &)' being compiled
      1> with
      1> [
      1> ObjectType=FOnlineSubsystemEOS
      1> ]
      1> [5/13] SharedPCH.Engine.cpp
      1> [6/13] Module.OnlineSubsystemEOS.gen.cpp
      1> [7/13] MyClass.cpp
      1> [8/13] EPICA.cpp
      1> [9/13] UE4Editor-EPICA.lib
      1> Creating library C:\UE\MAY\Intermediate\Build\Win64\UE4Editor\Development\EPICA\UE4Editor-EPICA.lib and object C:\UE\MAY\Intermediate\Build\Win64\UE4Editor\Development\EPICA\UE4Editor-EPICA.exp
      1> [10/13] UE4Editor-EPICA.dll
      1> Creating library C:\UE\MAY\Intermediate\Build\Win64\UE4Editor\Development\EPICA\UE4Editor-EPICA.suppressed.lib and object C:\UE\MAY\Intermediate\Build\Win64\UE4Editor\Development\EPICA\UE4Editor-EPICA.suppressed.exp
      1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.MakeFile.Targets(49,5): error MSB3073: The command "C:\UE\UE_4.24\Engine\Build\BatchFiles\Rebuild.bat EPICAEditor Win64 Development -Project="C:\UE\MAY\EPICA.uproject" -WaitMutex -FromMsBuild" exited with code -1.
      1>Done building project "EPICA.vcxproj" -- FAILED.
      ========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
      [LEGENDS of EPICA][Twitter][FB][YT][Vimeo][Reallusion Technical Expert]

      Comment


        Thank you very much for the plugin!!!
        Last edited by icms; 05-27-2020, 03:22 AM.

        Comment


          But did you try switching the EOS Basic to 4.24 and the Plugin to 4.24 within that project and compiling that, to make sure that everything works in a known environment?

          I've also switched all my Build.cs to using V2, which changed/changes some of the #include folder paths, so some of the paths could be incorrect in your build?

          Epic Online Services Plugin for UE4 [github] [forum]

          Comment


            Originally posted by Jawdy View Post
            But did you try switching the EOS Basic to 4.24 and the Plugin to 4.24 within that project and compiling that, to make sure that everything works in a known environment?

            I've also switched all my Build.cs to using V2, which changed/changes some of the #include folder paths, so some of the paths could be incorrect in your build?
            Yes, changed the plugin and project version number. Trying to build your project with the changed version number also fails.

            1. Could it be that your code is not backwards compatible? See also transition guide https://forums.unrealengine.com/deve...ansition-guide

            2. I suggest you test compiling 4.24 yourself, it takes literally 5 minutes.

            Let me know if I can help you further if you want me to test something eager to help, but it should be a working sample.
            Last edited by unit23; 05-26-2020, 01:50 PM.
            [LEGENDS of EPICA][Twitter][FB][YT][Vimeo][Reallusion Technical Expert]

            Comment


              The new version worked for me, except the missing begin play connection.

              I'm really looking forward the NAT P2P support, especially because I failed setting up my own system.

              Also I really hope they add MFA support to the Epic Online Services. It's kinda useless without it, because everyone activated it for the free games, you even have to activate it to use EOS, come on Epic. Also it's werid that they don't push their own Unreal Integration, they even have an official guide to use EOS with Unity, but not for Unreal, It's like they don't want us to use it with Unreal.

              Oh and of course thanks for your work and sharing this with us.

              Comment


                Originally posted by unit23 View Post
                Yes, changed the plugin and project version number. Trying to build your project with the changed version number also fails.

                1. Could it be that your code is not backwards compatible? See also transition guide https://forums.unrealengine.com/deve...ansition-guide

                2. I suggest you test compiling 4.24 yourself, it takes literally 5 minutes.

                Let me know if I can help you further if you want me to test something eager to help, but it should be a working sample.
                Muuuuuuuuuuuuuch longer than 5 minutes later and: I'm only going to be focusing on 4.25+ as there are way too many things that need to be done with the project going forward that battling with error after error on a prior engine version is driving me mad.

                First, in OnlineSubsystemEOS.h you need:
                Code:
                #include "Runtime/Launch/Resources/Version.h"
                Second, wrapped around the Store getters, you'd need:
                Code:
                #if ENGINE_MINOR_VERSION < 25
                virtual IOnlineStorePtr GetStoreInterface() const override;
                #elif
                virtual IOnlineStoreV2Ptr GetStoreV2Interface() const override;
                #endif
                And obviously do the same in the OnlineSubsystemEOS.cpp.
                That got rid of the first lot of compilation issues, then when more popped up - I've decided I'll be marking this project as officially only 4.25+. If someone can make this be happy with prior versions, OH HELL YEAH! And so long as we can run both builds side-by-side, I'll verify and merge with the greatest of pleasure!

                Originally posted by RelaX92 View Post
                The new version worked for me, except the missing begin play connection.

                I'm really looking forward the NAT P2P support, especially because I failed setting up my own system.

                Also I really hope they add MFA support to the Epic Online Services. It's kinda useless without it, because everyone activated it for the free games, you even have to activate it to use EOS, come on Epic. Also it's werid that they don't push their own Unreal Integration, they even have an official guide to use EOS with Unity, but not for Unreal, It's like they don't want us to use it with Unreal.

                Oh and of course thanks for your work and sharing this with us.
                Missing BeginPlay?
                EOS has various Login types, including User/Pass and MFA/2FA - just right now, I've only got it working/tested with the Dev Auth Tool... soon as more stuff is implemented, you'll get 2FA/MFA :-)

                We'll be adding all the remaining features, including the P2P NAT stuff, gradually... believe me, I want this feature, too! :-D

                And as for some guides for EOS with Unity, I'd wager that's due to the C# variant of the SDK, rather than the C++ version that's implemented in this Plugin. Mebbe? Obviously difficult to say, but getting more folks using EOS, across different engines and platforms, all showing it's flexibility is a positive thing for EOS, going forward :-)
                Epic Online Services Plugin for UE4 [github] [forum]

                Comment


                  Originally posted by Jawdy View Post
                  I've decided I'll be marking this project as officially only 4.25+.

                  [LEGENDS of EPICA][Twitter][FB][YT][Vimeo][Reallusion Technical Expert]

                  Comment


                    Originally posted by Jawdy View Post
                    Missing BeginPlay?
                    EOS has various Login types, including User/Pass and MFA/2FA - just right now, I've only got it working/tested with the Dev Auth Tool... soon as more stuff is implemented, you'll get 2FA/MFA :-)

                    We'll be adding all the remaining features, including the P2P NAT stuff, gradually... believe me, I want this feature, too! :-D
                    The UI wasn't added to the viewport, becauce the link was missing. I think you already mentioned somewhere that you forgot pushing it.

                    You've got me wrong, MFA isn't supported by EOS itself yet, atleast that's what the samples say, as long as it's not supported your plugin won't be able to implement it. Really hope they add it soon.

                    Comment


                      Originally posted by Jawdy View Post
                      ..only going to be focusing on 4.25+
                      Eventually, was able to upgrade finally, thus will soon commence testing.

                      One thing which occurred to me, it should be pointed out that the EOS ini settings should be blacklisted in the package settings.
                      [LEGENDS of EPICA][Twitter][FB][YT][Vimeo][Reallusion Technical Expert]

                      Comment


                        Hi. Can I use this plugin in ue 4.22.3 source build? Thanks.

                        Comment


                          Originally posted by RelaX92 View Post

                          The UI wasn't added to the viewport, becauce the link was missing. I think you already mentioned somewhere that you forgot pushing it.

                          You've got me wrong, MFA isn't supported by EOS itself yet, atleast that's what the samples say, as long as it's not supported your plugin won't be able to implement it. Really hope they add it soon.
                          Aaaah, that bit - I deliberately kept that UI out because it's old and talks about being able to Initialize/Shutdown EOS, which you can no longer directly do. It also talks about Metrics, which aren't yet implemented.

                          And the 2FA/MFA... I could swear I saw it in the login Type options and there were only a handful of options... now this enum EOS_ELoginCredentialType has 7 (plus padding)! I'd wager that once it's implemented, it'll be fairly simple. The mechanism for authorising your project with your Epic account goes off to their site, so my guess is the 2FA will (initially) do something like this.

                          Originally posted by unit23 View Post
                          Eventually, was able to upgrade finally, thus will soon commence testing.

                          One thing which occurred to me, it should be pointed out that the EOS ini settings should be blacklisted in the package settings.


                          Originally posted by RocketBan View Post
                          Hi. Can I use this plugin in ue 4.22.3 source build? Thanks.
                          As of right now, everything is focused on 4.25+, because of the number of elements left to implement in the Plugin/OSS plus the code changes between each version. If Unit23's changes to 4.24 are all solid, then it should be simple enough to spot additional changes to each version. The Engine version number is the only issue, not whether pre-compiled or source.
                          Epic Online Services Plugin for UE4 [github] [forum]

                          Comment


                            Originally posted by Jawdy View Post

                            And the 2FA/MFA... I could swear I saw it in the login Type options and there were only a handful of options... now this enum EOS_ELoginCredentialType has 7 (plus padding)! I'd wager that once it's implemented, it'll be fairly simple. The mechanism for authorising your project with your Epic account goes off to their site, so my guess is the 2FA will (initially) do something like this.
                            Well, in the samples they have this function: EOS\Samples\Shared\Source\Core\Authentication.cpp
                            Code:
                            void FAuthentication::SendMFACode(std::wstring MFAStr)
                            {
                            FDebugLog::LogWarning(L"[EOS SDK] MFA Code not supported yet, please use an account without MFA or use an alternative login method");
                            
                            // TODO: Send MFA Code via EOS SDK, just fail for now
                            FGameEvent Event(EGameEventType::UserLoginFailed);
                            FGame::Get().OnGameEvent(Event);
                            }
                            I think the option is already in the enum, I wanted to add it to your plugin, then I wanted to look up how they did in in the sample and yeah, the didn't. Maybe the sample is outdated, but I fear it's not.

                            Comment


                              Has anyone else gotten the following error:

                              LogOnline: OSS: Creating online subsystem instance for: EOS
                              LogOnline: Warning: OSS: Can't create more than one instance of EOS online subsystem!
                              LogBlueprintUserMessages: [BP_PlayerController_C_0] Login Request: false
                              LogAudioMixer: Display: No commands were queued while flushing the source manager.
                              LogAudioMixer: Display: Flush succeeded in the source manager command queue (1).
                              LogAudioMixer: Display: Flush succeeded the source manager command queue (2).


                              Seems to not even be attempting the login because of more than one instance of EOS online subsystem!?

                              Comment


                                Originally posted by TK-Bear View Post
                                Has anyone else gotten the following error:

                                LogOnline: OSS: Creating online subsystem instance for: EOS
                                LogOnline: Warning: OSS: Can't create more than one instance of EOS online subsystem!
                                LogBlueprintUserMessages: [BP_PlayerController_C_0] Login Request: false
                                LogAudioMixer: Display: No commands were queued while flushing the source manager.
                                LogAudioMixer: Display: Flush succeeded in the source manager command queue (1).
                                LogAudioMixer: Display: Flush succeeded the source manager command queue (2).


                                Seems to not even be attempting the login because of more than one instance of EOS online subsystem!?
                                The logs should give more information about what worked (or didn't) when instantiating the EOS OSS and initializing the EOS SDK. If these are logs from the Editor, can you search for "EOS" and see what comes up?
                                If you're doing logs from your Saved/Logs directory, can you scroll further up to where the OSS and SDK are instantiated and initialized, respectively. Then check what it says? There should (hopefully) be more information.

                                But alas, I've not come across that before :-/
                                Epic Online Services Plugin for UE4 [github] [forum]

                                Comment

                                Working...
                                X