I have been messing about with the ‘preview’ version of EOS provided with UE 4.27.
It’s been a long journey looking through all the source code to figure out how to use it but so far so good.
There is one issue though. I cannot seem to use EOS as the default OSS whiles also allowing external authentication through the platform (i.e. Steam). This includes both using the platform credentials to log into EOS or to log into an EAS account.
I could be missing something here but I’ve looked through FUserManagerEOS::Login() (/Engine/Plugins/Online/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Private/UserManagerEOS.cpp) numerous times and I believe it misses this use-case.
One quick solution I was planning to add was to simply remove the !bIsDefaultOSS condition or at least change it to !bIsDefaultOSS || AccountCredentials.Type="platform" on lines 334 and 348.
I intended to add this myself but I am experiencing trouble linking any custom-built version of UE4 to my project.
If anyone knows of a solution I can make which doesn’t require editing the engine source, please let me know. Thank you.
I have already sort of come up with a solution for the above problem by making my own wrapper for EOS OSS with it’s own GetSubsystem() function, which always returns EOS if the user is logged in, otherwise will return the Platform subsystem. This way it doesn’t matter what Default Subsystem is set to and it also supports offline play.
However, another problem I am facing is EOS Persistent Authentication. The built-in system does not implement it. I was attempting to add it myself until two problems occured:
OnlineSubsystemEOS.h(8): [C1083] Cannot open include file: 'SocketSubsystemEOS.h': No such file or directory.
The logged in user would not be registered with EOS OSS since there is no access to FUserManagerEOS::AddLocalUser()
Is there a way I can simply take the built-in EOS OSS and make it into a project plugin that I can freely edit?
I’ts active. I just reworked parts 4/5/6 to explain more about whats going on and to see your lobby in the portal. Up next is using EOSPlus which will allow for cross platform (I’m going to use steam for this series) for multiple platforms along with Epic which I touch on in part 5.
I’ve followed all your sample constats config steps, but when i run the debugger get “[EOS SDK] Platform Create Failed!” and “EOS SDK SetCurrentPayload: A1B2C3D4E5”,I don’t know what went wrong