개발하다 보면 DataTable 폴더내부의 Asset들을 자동으로 가져와서 로드하고 싶은 경우가있다. (자동화)

#include "Misc/FileHelper.h"
FString SearchFolder = TEXT("DataTable");
TArray<FString> FoundFiles;
FindFilesInFolder(SearchFolder, FoundFiles);
void FindFilesInFolder(const FString& SearchFolder, TArray<FString>& FoundFiles)
{
IFileManager& FileManager = IFileManager::Get();
FString RootFolder = FPaths::ProjectContentDir() + SearchFolder;
// 파일경로
const FString SearchPattern = FString::Printf(TEXT("%s/*.uasset"), *RootFolder);
// 파일 긁오기
FileManager.FindFilesRecursive(FoundFiles, *RootFolder, *SearchPattern, true, false);
// /Game/.../이름.이름 으로 LoadObject 하기 편하도록 변경
for (FString& CurFile : FoundFiles)
{
FString FilePath = CurFile;
//파일 이름만 뽑는다.
FString FileName;
int32 LastIndex = FilePath.Find(".uasset");
FileName = FilePath.Left(LastIndex);
int32 FirstIndex = -1;
if (FileName.FindLastChar('/', FirstIndex) == false)
continue;
FileName = FileName.RightChop(FirstIndex + 1);
CurFile = TEXT("/Game/") + SearchFolder + TEXT("/") + FileName + TEXT(".") + FileName;
}
}
결과

'개인적인 팁' 카테고리의 다른 글
| IInputProcessor : 입력처리 추가 구현시 사용 (0) | 2025.01.02 |
|---|---|
| 언리얼5 위젯(리소스) c++ 로드 하기 - 3가지 (0) | 2024.01.14 |
| 언리얼5 변경된 Input(EnhancedInput) 사용법 c++(2) (0) | 2023.12.31 |
| 언리얼5 변경된 Input(EnhancedInput) 사용법 c++(1) (0) | 2023.12.31 |
| 언리얼5.1 이후 노출도 끄기(Disable Auto-Exposure ) (0) | 2023.12.26 |