[언리얼엔진] Shipping 빌드에서 검정 화면 멈춤 현상 해결기

2026. 1. 29. 14:32·언리얼 엔진/트러블슈팅
 

1. 문제 상황

1인 개발 프로젝트의 프로토타입 검증을 위해 패키징을 진행하던 중, Development 빌드에서는 정상 작동하던 게임이 Shipping 빌드에서는 검정 화면에서 멈추는 현象이 발생했습니다.


 

2. 문제 해결을 위한 시도들

2.1. 안티 앨리어싱 설정 변경

TAA(Temporal Anti-Aliasing)가 문제를 일으킬 수 있다는 정보를 접하고 FXAA로 변경해봤습니다.

  • 결과: 해결되지 않음

2.2. BuildData 포함

빌드된 라이팅 정보가 포함되지 않아 발생하는 문제일 가능성을 고려하여 List of Map에 BuildData를 포함시켜봤습니다.

  • 결과: 해결되지 않음

2.3. GameInstanceSubsystem 생성자 수정

이전 프로젝트에서 Subsystem 생성자에서 DataTable을 참조할 때 제대로 불러오지 못하는 경우가 있었던 경험을 바탕으로, 생성자가 아닌 Initialize() 함수에서 DataTable을 로드하도록 변경했습니다.

  • 결과: 해결되지 않음

2.4. GameMode 기본 클래스 명시적 지정

GameMode 생성자에서 기본 Pawn과 PlayerController 클래스를 명시적으로 지정하지 않아 캐릭터가 제대로 스폰되지 않는 것은 아닌지 의심하여 설정을 추가했습니다.

  • 결과: 해결되지 않음

 


 

3. 원인 파악 및 해결

3.1. 문제의 원인

문제는 BeginPlay 호출 순서에 있었습니다.

기존 구현 구조는 다음과 같았습니다:

  • PlayerController의 BeginPlay()에서 Widget 생성
  • ActorComponent의 BeginPlay()에서 PlayerController의 Widget 참조

Development 빌드에서는 PlayerController의 BeginPlay가 먼저 호출되어 문제가 없었지만, Shipping 빌드에서는 ActorComponent의 BeginPlay가 먼저 호출되면서 아직 생성되지 않은 Widget을 참조하려 했고, 이것이 크래시의 원인이었습니다.


3.2. 해결 방법

PlayerController의 BeginPlay가 아닌 OnPossess에서 Widget을 생성하도록 구조를 변경했습니다.

'언리얼 엔진 > 트러블슈팅' 카테고리의 다른 글

[언리얼엔진] C++ 인터페이스, 블루프린트에서 활용하기  (0) 2025.08.26
[언리얼엔진] enum타입 TArray  (1) 2025.08.01
[언리얼엔진] C++ 파일 경로 문제  (0) 2025.06.18
[언리얼엔진] 3D NavMesh (Flying Navigation System)  (1) 2025.06.05
[언리얼엔진] Behavior Tree 인스턴스  (1) 2025.05.28
'언리얼 엔진/트러블슈팅' 카테고리의 다른 글
  • [언리얼엔진] C++ 인터페이스, 블루프린트에서 활용하기
  • [언리얼엔진] enum타입 TArray
  • [언리얼엔진] C++ 파일 경로 문제
  • [언리얼엔진] 3D NavMesh (Flying Navigation System)
Meoyoung's Development Logs
Meoyoung's Development Logs
내가 보려고 만든 블로그
  • Meoyoung's Development Logs
    이게뭐영
    Meoyoung's Development Logs
  • 전체
    오늘
    어제
    • 분류 전체보기 (229)
      • 게임잼 (3)
      • 언리얼 엔진 (53)
        • 꿀 Tip ! (7)
        • 트러블슈팅 (24)
        • 최적화 (0)
        • 캐릭터 (2)
        • VR (1)
        • Lighting (2)
        • 멀티스레드 (2)
        • 문자열 (0)
      • C++ (31)
        • 문법 정리 (8)
        • [서적] Fundamental C++ 프로그래밍 .. (5)
        • [서적] 이것이 C++이다 (11)
        • [서적] Effective C++ (7)
      • C# (1)
        • [서적] 이것이 C#이다 (1)
      • 코딩테스트 (26)
        • 프로그래머스 (6)
        • 알고리듬 (13)
        • 자료구조 (7)
      • 컴퓨터 과학 (27)
        • 운영체제 (11)
        • 데이터베이스 (0)
        • 디자인패턴 (0)
        • 자료구조 (5)
        • 네트워크 (0)
        • 컴퓨터구조 (11)
      • 면접준비 (0)
        • C++ (0)
        • 운영체제 (0)
        • 자료구조 (0)
      • 프로젝트 (25)
        • [팀프로젝트] The Fourth Descenda.. (5)
        • [개인프로젝트] FPS 구현 맛보기 (5)
        • GetOutOf (15)
      • 기타 (54)
        • [강의] 이득우의 언리얼 프로그래밍 Part1 (10)
        • [강의] 이득우의 언리얼 프로그래밍 Part3 (12)
        • [강의] 소울라이크 개발 A-Z (4)
        • [강의] Udemy-2D (5)
        • [서적] 인생 언리얼5 (4)
        • 스파르타코딩클럽 (15)
        • 객체지향프로그래밍 (2)
        • 컴퓨터회로 (2)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Meoyoung's Development Logs
[언리얼엔진] Shipping 빌드에서 검정 화면 멈춤 현상 해결기
상단으로

티스토리툴바