# Anyone able to successfully get and read a title file from Dev Portal using Epic Online Services OSSv2?

**URL:** <https://forums.unrealengine.com/t/anyone-able-to-successfully-get-and-read-a-title-file-from-dev-portal-using-epic-online-services-ossv2/2853566>\
**Category:** Programming & Scripting\
**Tags:** unreal-engine, epic-online-services, EOS, question, CPP\
**Created:** [November 10, 2026, 10:14pm UTC](https://forums.unrealengine.com/t/anyone-able-to-successfully-get-and-read-a-title-file-from-dev-portal-using-epic-online-services-ossv2/2853566 "2026-11-10T22:14:18Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jangles1](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Jangles1](https://forums.unrealengine.com/u/Jangles1)\
**Post date:** [November 10, 2026, 10:14pm UTC](https://forums.unrealengine.com/t/anyone-able-to-successfully-get-and-read-a-title-file-from-dev-portal-using-epic-online-services-ossv2/2853566/1 "2026-11-10T22:14:18Z")

</div>

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->EnumerateFiles`I get a `[1.1.d] not_configured`error.

Here’s my code for enumerating files:  
```

```cpp
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:  
```

```auto
[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.
