코드로 PlayerControllerClass 지정하는 과정에서 빌드 실패
안녕하세요 섹션1 언리얼 엔진 게임 제작 기초 강의 중 궁금한거 세가지가 생겨서 질문드립니다.
1. PlayerControllerClass 지정하는 과정에서 빌드 실패
AABGameMode::AABGameMode()
{
PlayerControllerClass = AABPlayerController::StaticClass();
}

이렇게 게임모드 생성자에서 특정 컨트롤러 클래스를 지정하는 부분 따라가던 중 라이브 코딩에서 사진과 같이 build failed 가 발생하였습니다. 어찌어찌 비주얼 스튜디오에서 솔루션 프로젝트 정리 눌러보고 다시 빌드해보니까 성공적으로 돌아갔습니다. 근데 처음에는 왜 실패했는지 전혀 모르겠네요 ㅠ
2. cpp 파일에서 inlude 자동 추가
교수님 강의에서는 언리얼 에디터에서 GameMode 클래스를 생성하면 바로 cpp파일에서
#include "Game/ABGameMode.h"
#include "ABGameMode.h"
이 두가지 경로가 자동 추가되는데 제가 했을 때는 #include "Game/ABGameMode.h" 이거 하나만 추가되었습니다. 그냥 무시하고 넘어가도 되는 부분인가요?
3. 헤더파일이 디렉토리 또는 빌드 시스템 경로에 없습니다.
ABGameMode 클래스를 만들면서 cpp 파일에 자동 추가 된 #include "Game/ABGameMode.h" 부분에서 F12를 누르면

이와 같은 에러가 발생합니다. 이 또한 무시해도 괜찮은 부분일까요?
답변 1
0
안녕하세요.
언리얼 엔진이 버전마다 조금씩 동작이 다르고, 예외 상황들도 많아서 재현이 불가능할 수도 있어서 아는대로만 먼저 답신드립니다.
빌드 결과가 조금 이상하다 싶으면, 에디터를 종료하고 비주얼 스튜디오로 다시 프로젝트를 재생성하고 비주얼스튜디오에서만 컴파일을 진행해보세요. 라이브코딩은 생산성을 높이기 위해 제공하는 보조 기능이다보니, 에디터 설정에 큰 영향을 미치는 클래스 구조 변경, 생성자 함수를 수정하는 경우 원인 모를 문제가 발생할 가능성이 매우 높습니다. 컴파일에 성공하더라도 100% 올바로 동작한다고 보장하기 어렵습니다. 이전 컴파일에서 설정된 기본 값으로 디버깅이 진행될 수도 있기 때문입니다. 아무튼 클래스 구조 변경, 생성자 코드는 에디터를 끄고 확실히 검증하는 것을 추천합니다.
버전마다 다를 수도 있을 것 같은데, 저는 프로젝트 경로 기준으로 구조 잡는 것을 선호합니다. 게임 폴더에 있는 헤더라면 Game/ABGameMode.h 가 좋을 것 같습니다. 어짜피 같은 파일을 가리키기 때문에, 컴파일러가 알아서 합쳐줄 것 같습니다만, 가능하다면 첫 번째 것만 유지하는 것이 좋겠네요.
가끔 인텔리센스 작동이 늦어서 동작안할 때가 있습니다. 너무 오래걸리면 비주얼 스튜디오를 다시 재시작하면 잘 동작할 수 있습니다. 본 강좌는 비주얼 스튜디오로 만들어졌지만, 이런 부분이 불편하면 Rider같은 다른 IDE로 변경하는 것도 나쁘진 않은 선택입니다. ^^
무한맵 제작과정중에 GetWorld 가 Nullptr 을 반환합니다.
0
46
2
12강 행동트리에서 질문이 있습니다.
0
52
1
위젯 사이즈랑 위치 질문드려요.
0
81
3
행동트리의 데코레이션 관련하여 질문이 있습니다.
0
94
3
VS 2026 의 문제일까요?
0
488
2
에셋참조 블루프린트질문
0
67
2
애님 몽타주 콤보 관련질문
0
70
2
ThirdPerson CDO 에러가 생깁니다.
0
95
3
캐릭터가 움직이지 않습니다.
0
180
4
쿠킹 폴더 지정시 , Item 이외에는 지정하지 않는지 궁금합니다.
0
62
2
TSoftObjectPtr 를 사용했음에도, 메모리에 로드 됩니다.
0
94
2
7강에 나오는 생성자에 대해서 궁금합니다.
0
78
2
6강을 마무리하며 트레이스 채널 을 이해하지 못했습니다.
0
73
2
3강을 마무리 하며, 카메라가 움직이지 않습니다.
0
71
2
Use Controller Rotation 옵션값이 궁금합니다.
0
83
2
3강 입력 시스템 적용 중, 5.6 버전은 입력 매팅이 2개 입니다.
0
64
2
PlayerController 에 대헤 제가 잘못 이해한 것 같습니다.
0
78
2
13강 UpdateStat 부분에서 문제를 겪고 있습니다.
0
63
2
BP_PlayerController의 CustomEvent노드 이유가 궁금합니다.
0
64
1
콤포넌트 포인터 선언시 TObjectPtr<>과 UStaticMeshComponent* 차이점
0
72
2
CharacterMovementComponent의 RotationRate관련해서 질문이 있습니다.
0
114
2
언리얼 공부방법에 대해 질문드립니다.
0
87
2
4강 에서 이상한 그림자가 남습니다.
0
46
1
2강에서 카메라 회전안되시는분 참고
2
91
2





