Hello, I am trying to add login into my game using the EOSPlus using OSS plugin and right now I am failing to achieve this and getting some errors
This is the code I got so far.
DefaultEngine.ini
[OnlineSubsystemEOS]
bEnabled=true
[OnlineSubsystemEOSPlus]
bEnabled=true
[OnlineSubsystem]
DefaultPlatformService=EOSPlus
NativePlatformService=Steam
[/Script/Engine.GameEngine]
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemEOS.NetDriverEOS",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")
[/Script/Engine.GameEngine]
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")
[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=480
bInitServerOnClient=true
[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"
[/Script/OnlineSubsystemEOS.NetDriverEOS]
bIsUsingP2PSockets=true
[/Script/OnlineSubsystemUtils.OnlineEngineInterfaceImpl]
+CompatibleUniqueNetIdTypes=EOS
+CompatibleUniqueNetIdTypes=EOSPlus
[PacketHandlerComponents]
+Components=OnlineSubsystemSteam.SteamAuthComponentModuleInterface
Project.Build.cs
public Project(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
DynamicallyLoadedModuleNames.Add("OnlineSubsystemSteam");
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "EnhancedInput", "OnlineSubsystem", "OnlineSubsystemEOSPlus"});
}
MyInstance.cpp
void UMyProjectInstance::Init()
{
Super::Init();
OnlineSubsystem = IOnlineSubsystem::Get(EOS_SUBSYSTEM);
Login();
}
void UMyProjectInstance::Login()
{
if (OnlineSubsystem)
{
if (IOnlineIdentityPtr IdentityPtr = OnlineSubsystem->GetIdentityInterface())
{
FOnlineAccountCredentials OnlineAccountCredentials;
OnlineAccountCredentials.Id = 0;
OnlineAccountCredentials.Type = "externalauth";
if (IOnlineSubsystem* SteamSubsystem = IOnlineSubsystem::Get(STEAM_SUBSYSTEM))
{
OnlineAccountCredentials.Token = *SteamSubsystem->GetIdentityInterface()->GetAuthToken(0);
GEngine->AddOnScreenDebugMessage(-1, 15.0f, FColor::Yellow, FString::Printf(TEXT("AuthTicket: %s"), *SteamSubsystem->GetIdentityInterface()->GetAuthToken(0)));
}
IdentityPtr->Login(0, OnlineAccountCredentials);
IdentityPtr->OnLoginCompleteDelegates->AddUObject(this, &UMountebankInstance::OnLoginComplete);
}
}
}
void UMyProjectInstance::OnLoginComplete(int32 LocalUserNum, bool bWasSucceessful, const FUniqueNetId& UserId, const FString& Error)
{
GEngine->AddOnScreenDebugMessage(-1, 15.0f, FColor::Yellow, TEXT("LOGGED IN"));
GEngine->AddOnScreenDebugMessage(-1, 15.0f, FColor::Red, FString::Printf(TEXT("%s"), *Error));
}
I am getting this error on my OnLoginComplete callback and I have no idea of what is wrong since it doesn’t give me the error in depth:
“EOS failed with Eos result code (EOS_Auth_AuthenticationFailure”
I hope somebody could enlighten me out here
Thank you all in advance