게임 개발/Unreal Engine

[UE4] 타입으로 모든 Asset 찾기

지노윈 2022. 4. 22. 00:18
반응형

타입으로 모든 Asset 찾는 템플릿 함수 코드입니다.

template<typename T>
void GetObjectsOfClass(TArray<T*>& OutArray)
{
	FAssetRegistryModule& AssetRegistryModule = FModuleManager::LoadModuleChecked<FAssetRegistryModule>("AssetRegistry");
	TArray<FAssetData> AssetData;
	AssetRegistryModule.Get().GetAssetsByClass(T::StaticClass()->GetFName(), AssetData);
	for (int i = 0; i < AssetData.Num(); i++) {
		T* Object = Cast<T>(AssetData[i].GetAsset());
		OutArray.Add(Object);
	}
}

다음과 같이 사용합니다.

 

TArray<UAnimSequence*> AnimSequences;
GetObjectsOfClass<UAnimSequence>(AnimSequences);

 

참고 : https://forums.unrealengine.com/t/find-all-assets-of-some-type/393017