I’m trying to test reading a title file. I know I could use the NULL service to test and that works fine. But I want to make sure that my configuration is all setup ok for actually reading these files from the Dev portal title storage. I’m using persitant auth to login and that part works fine, but then when I attempt to call TitleFileInterface->EnumerateFilesI get a [1.1.d] not_configurederror.
Here’s my code for enumerating files:
```
void UEOS_BP_TitleFileSubsystem::EnumerateFiles(UE::Online::FAccountId LocalAccountId, FOnBroadcastSuccess OnComplete)
{
using namespace UE::Online;
if (!TitleFileInterface.IsValid())
{
if (OnComplete) OnComplete(false);
return;
}
FTitleFileEnumerateFiles::Params Params;
Params.LocalAccountId = LocalAccountId;
UE_LOG(LogTitleFileSubsystem, Warning, TEXT("EnumerateFiles LocalAccountId = %s"), *(UE::Online::ToLogString(LocalAccountId)));
TitleFileInterface->EnumerateFiles(MoveTemp(Params))
.OnComplete([WeakThis = TWeakObjectPtr<UEOS_BP_TitleFileSubsystem>(this), OnComplete = MoveTemp(OnComplete)](const TOnlineResult<FTitleFileEnumerateFiles>& Result) mutable
{
if (WeakThis.IsValid())
{
WeakThis->OnEnumerateFilesComplete(Result, MoveTemp(OnComplete));
}
});
}
void UEOS_BP_TitleFileSubsystem::OnEnumerateFilesComplete(const UE::Online::TOnlineResult<UE::Online::FTitleFileEnumerateFiles>& Result, FOnBroadcastSuccess OnComplete)
{
if (!Result.IsOk())
{
UE_LOG(LogTitleFileSubsystem, Error, TEXT("EnumerateFiles failed: %s"), *Result.GetErrorValue().GetLogString());
if (OnComplete) OnComplete(false);
return;
}
if (OnComplete) OnComplete(true);
}
and then here’s my DefaultEngine.ini:
```
[EpicOnlineServices]
DevAuthToolAddress=127.0.0.1:8080
[OnlineServices]
DefaultServices=Epic
bUseBuildIdOverride=false
# Ensure the core framework registers that Steam is an active, allowed service factory alongside Epic
+ServiceBootedList=Epic
+ServiceBootedList=Steam
[/Script/OnlineSubsystemUtils.OnlineEngineInterfaceImpl]
+CompatibleUniqueNetIdTypes=Epic
+CompatibleUniqueNetIdTypes=EOS
+CompatibleUniqueNetIdTypes=Steam
+CompatibleUniqueNetIdTypes=GDK
+CompatibleUniqueNetIdTypes=PSN
[/Script/Engine.Engine]
!NetDriverDefinitions=ClearArray
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="/Script/SocketSubsystemEOS.NetDriverEOS",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")
+NetDriverDefinitions=(DefName="DemoNetDriver",DriverClassName="/Script/Engine.DemoNetDriver",DriverClassNameFallback="/Script/Engine.DemoNetDriver")
[/Script/Engine.GameEngine]
!NetDriverDefinitions=ClearArray
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="/Script/SocketSubsystemEOS.NetDriverEOS",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")
+NetDriverDefinitions=(DefName="DemoNetDriver",DriverClassName="/Script/Engine.DemoNetDriver",DriverClassNameFallback="/Script/Engine.DemoNetDriver")
[OnlineServices.EOS]
bEnabled=true
bEASAuthEnabled=true
+EnabledInterfaces=TitleFile
ProductId=<ProductIdKey>
SandboxId=<SandboxIdKey>
DeploymentId=<DeploymentIdKey>
ClientId=<ClientIdKey>
ClientSecret=<ClientSecretKey>
ClientEncryptionKey=1111111111111111111111111111111111111111111111111111111111111111
bEnablePlatformIntegration=true
[OnlineServices.EOS.TitleFile]
bEnabled=true
TitleStorageEncryptionKey="1111111111111111111111111111111111111111111111111111111111111111"
+TitleStorageTags=Default
[OnlineServices.EOS.Auth]
AuthType=ExchangeCode
[OnlineServices.EOSGS]
bEnabled=true
bIsPeerToPeerSupported=true
[OnlineSubsystemEOSPlus]
bEnabled=true
;; --- Legacy Steam Fallback Block (Used by the Adapter) ---
[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=480
;; --- OSS Adapter Priority Override ---
[OnlineServices.OSSAdapter]
bEnabled=true
+Services=(Service="Steam",ConfigName="Steam",OnlineSubsystem="Steam",Priority=1000)
[/Script/OnlineServicesEOS.EOSSettings]
;; enables the epic overlay (used for some account portal login and other methods)
bEnableOverlay=true
bEnableSocialOverlay=true
I know there must be something I’m missing. I’m running the game in a standalone window and I test by first logging in using persistance auth, which works flawlessly. Then I try to trigger the EnumerateFiles, but it immediately gives that error.
I should also mention that I have confirmed that I’m using the correct artifact id’s in my DefaultEngine.ini. And my client policy does have the TitleFile options enabled. And when adding my TitleFile I used the encryption key and tag specified in the DefaultEngine.ini.