[언리얼엔진] GetOutOf 개발일지 #11 - PrimaryAsset

2025. 7. 22. 13:26·기타/GetOutOf

1. 개요

더보기
#include "SubSystem/StageSubSystem.h"
#include "GetOutOf.h"
#include "DataTable/LevelSequenceDataTable.h"
#include "LevelSequence/GOOLevelSequenceActor.h"

void UStageSubSystem::Initialize(FSubsystemCollectionBase& Collection)
{
	Super::Initialize(Collection);
	
	LevelSequenceDataTable = LoadObject<UDataTable>(nullptr, TEXT("/Game/_GetOutOf/DataTable/DT_LevelSequence"));

	if (IsValid(LevelSequenceDataTable))
	{
		LevelSequenceDataTable->GetAllRows<FLevelSequenceDataTable>(TEXT(""), LevelSequenceRows);
	}
	else
	{
		LOG(Error, TEXT("LevelSequenceDataTable이 유효하지 않습니다"));
	}
}

Subsystem의 Initialize 함수에서 DataTable을 불러오고 있었다. 에디터 상에서는 정상 작동했지만, 패키징 상에서는 DataTable이 누락돼서 불러오지 못 하는 상황이 발생했다.

StageSubsystem도 다른 Subsystem처럼 생성자에서 DataTable을 불러오고 싶었지만, StageSubsystem만 생성자에서 DataTable을 불러오는 경우 오류가 발생했다. 그래서 생성자가 아닌 Initialize에서 DataTable을 불러오도록 구현한건데, 호출 시기때문에 DataTable에 대한 참조가 누락되는 것으로 원인을 가정했다.

 


 

2. Primary Asset

에셋에 대한 참조를 유지시켜주는 기능이 있었다. Primary Asset인데, Blueprint 클래스로 Primary Asset Label을 상속받은 후 참조를 유지하기를 바라는 리소스들을 추가해준 뒤 Project Setting에서 해당 Primary Asset을 등록해주면 된다.

PrimaryAssetLabel 상속
리소스 추가
PrimaryAssetLabel 등록

 


 

결과

패키징 버전에서도 리소스에 대한 참조가 유지돼서 Subsystem의 Initialize에서 DataTable을 로드해도 문제가 발생하지 않았다. 앞으로도 아주 유용하게 활용할 수 있는 기능인 것 같다.

Primary Asset

'기타 > GetOutOf' 카테고리의 다른 글

[언리얼엔진] GetOutOf 개발일지 #13 - Stealth AI 구현  (4) 2025.08.06
[언리얼엔진] GetOutOf 개발일지 #12 - Prologue 구현  (1) 2025.07.30
[언리얼엔진] GetOutOf 개발일지 #10 - Level Streaming 구현  (2) 2025.07.18
[언리얼엔진] GetOutOf 개발일지 #9 - UI 작업, 중간점검  (0) 2025.07.16
[언리얼엔진] GetOutOf 개발일지 #8 - Sprint, FlashLight 구현  (0) 2025.07.13
'기타/GetOutOf' 카테고리의 다른 글
  • [언리얼엔진] GetOutOf 개발일지 #13 - Stealth AI 구현
  • [언리얼엔진] GetOutOf 개발일지 #12 - Prologue 구현
  • [언리얼엔진] GetOutOf 개발일지 #10 - Level Streaming 구현
  • [언리얼엔진] GetOutOf 개발일지 #9 - UI 작업, 중간점검
Meoyoung's Development Logs
Meoyoung's Development Logs
내가 보려고 만든 블로그
  • Meoyoung's Development Logs
    이게뭐영
    Meoyoung's Development Logs
  • 전체
    오늘
    어제
    • 분류 전체보기 (267) N
      • Unreal Engine 프로젝트 (16) N
        • 더 퍼스트 버서커 : 카잔 (16) N
        • The Entity Watcher (0)
      • 언리얼 엔진 (70)
        • 프레임워크 (2)
        • GAS (12)
        • 꿀 Tip ! (7)
        • 트러블슈팅 (27)
        • 캐릭터 (2)
        • VR (1)
        • Lighting (2)
        • 멀티스레드 (2)
      • C++ (31)
        • 문법 정리 (8)
        • [서적] Fundamental C++ 프로그래밍 .. (5)
        • [서적] 이것이 C++이다 (11)
        • [서적] Effective C++ (7)
      • 게임잼 (3)
      • 강의 (36)
        • [강의] 이득우의 언리얼 프로그래밍 Part1 (13)
        • [강의] 이득우의 언리얼 프로그래밍 Part2 (2)
        • [강의] 이득우의 언리얼 프로그래밍 Part3 (12)
        • [강의] 소울라이크 개발 A-Z (4)
        • [강의] Udemy-2D (5)
      • C# (1)
        • [서적] 이것이 C#이다 (1)
      • 코딩테스트 (26)
        • 프로그래머스 (6)
        • 알고리듬 (13)
        • 자료구조 (7)
      • 컴퓨터 과학 (27)
        • 운영체제 (11)
        • 데이터베이스 (0)
        • 디자인패턴 (0)
        • 자료구조 (5)
        • 네트워크 (0)
        • 컴퓨터구조 (11)
      • 면접준비 (0)
        • C++ (0)
        • 운영체제 (0)
        • 자료구조 (0)
      • 기타 (48)
        • [팀프로젝트] The Fourth Descenda.. (5)
        • GetOutOf (15)
        • [개인프로젝트] FPS 구현 맛보기 (5)
        • [서적] 인생 언리얼5 (4)
        • 스파르타코딩클럽 (15)
        • 객체지향프로그래밍 (2)
        • 컴퓨터회로 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    게임개발
    쉘정렬
    삽입정렬
    자료구조
    버블정렬
    게임잼
    경북게임잼
    셸정렬
    참가후기
    선택정렬
    알고리즘
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Meoyoung's Development Logs
[언리얼엔진] GetOutOf 개발일지 #11 - PrimaryAsset
상단으로

티스토리툴바