How to read uassets outside of packaged game?

Hello,

I have a blueprint function that gets the assets available inside of a folder in my game Game/MusicShoot/Audio/Songs.

//Base Code
//https://answers.unrealengine.com/questions/134539/list-all-maps-in-project-or-directory.html
//
TArray<FString> UMusicalRangeBPFunctionLibrary::GetSongNamesInsideFolder(FString SongPath) {
	if (SongPath.IsEmpty())
	{
		TArray<FString> EmptyArray;
		EmptyArray.Add("ERROR");
		EmptyArray.Add("Invalid Path");
		return EmptyArray;
	}
	auto ObjectLibrary = UObjectLibrary::CreateLibrary(UObject::StaticClass(), false, true); //UWorld::StaticClass() UObject::StaticClass()
	ObjectLibrary->LoadAssetDataFromPath(SongPath); //Path input here "/Game/MusicShoot/Audio/Songs" //Had TEXT() here
	TArray<FAssetData> AssetDatas;
	ObjectLibrary->GetAssetDataList(AssetDatas);
	UE_LOG(LogTemp, Warning, TEXT("Found Songs: %d"), AssetDatas.Num());		//Display ItemsFound

	TArray<FString> Names = TArray<FString>();

	for (int32 i = 0; i < AssetDatas.Num(); ++i)
	{
		FAssetData& AssetData = AssetDatas[i];
		FString name = AssetData.AssetName.ToString();
		if (name.Contains("Track-",ESearchCase::CaseSensitive, ESearchDir::FromStart))
		{		
			name.RemoveFromStart("Track-");
			Names.Add(name); 
		}
	}
	return Names;
}

The function works perfectly, but I want people to be able to add their own songs to the game, and the game should read and play them. So, after packaging the game, uploading to steam and downloading from steam. I placed another song (uasset file made in ue4, which I removed before packaging) in the steam directory under “common\Game Name\GameName\Content\MusicShoot\Audio\Songs”. But when I launch the game, the new modded song added is not being read by the game.

I tried to enable and disable “Use Pak File”, and it doesn’t do anything. So, how can I have the game Read assets that are not originally packed in?

Related forum post, which may have more info.

Does anyone have an idea on how to achieve this? I am still stuck in this problem.

if your programing in c++ you can try reading files from like a folder that is not your game like you the music folder

It’s easier if it’s all in the same folder, as I just make an array and can just build the name of the asset to load. I am baffled because in the Steam install version, I added the 2 songs.

But when the game runs, and prints the list of songs founds, it doesn’t print those 2 extra songs. I am wondering if maybe the path has to be changed as the /game/musicshoot/audio/… doesn’t work on packaged projects?

the thing is that tha UE4 dosent look at assets that wasent imported in the editor origanly

How can I override this though?

i dont know i think the best way to do it is use c++ to read it in normal form like mp3 from another directory so players can put their mp3 there it will be more eazy

The track is actually a midi format.

so try to read that if you can and play it

Still no solution to this problem.