언리얼 블루프린트를 배우다 C++로 한번 배우고 싶어졌다. 블루프린트가 그닥 효율적이지 않은것 같다.
우선 Visual Studio 2022가 설치되어 있어야 한다.
새 Visual Studio 설치 옵션
Visual Studio 를 처음 설치하는 경우, 다음 옵션을 활성화해야 합니다.
Visual Studio Workloads
VS를 사용한 언리얼 엔진 개발 시 다음 Workloads 옵션을 설치해야 합니다.
- .NET desktop development (언리얼에서 자동으로 깔아주었습니다. 안깔렸으면 설치가 필요한듯)
- Desktop development with C++
- Universal Windows Platform development
- Game development with C++
C++ 툴
C++ 툴을 Visual Studio 설치에 추가하려면, Workloads 아래 Game development with C++ 와 다음 옵션을 선택합니다.
- C++ profiling tools
- C++ AddressSanitizer
- Windows 10 SDK (10.0.18362 or Newer)
- Unreal Engine installer (전 이게 안 깔려서 좀 헤맸습니다. 설치후 잘 동작하는 듯)
권장 세팅
다음은 언리얼 엔진 4 에서 Visual Studio 를 사용하는 개발자에게 권장되는 세팅입니다.
솔루션 구성의 드롭다운 메뉴 폭 늘리기
- 툴바에 우클릭하면 나타나는 메뉴 하단의 Customize 를 선택합니다.
- Commands 탭을 클릭합니다.
- Toolbar 동글 버튼을 클릭합니다.
- Toolbar 옆 드롭다운에서 Standard 를 선택합니다.
- Preview 목록에서 Solution Configurations 컨트롤을 선택합니다.
- 오른쪽의 Modify Selection 을 선택합니다.
- Width 를 200 으로 설정합니다. OK (확인)을 클릭합니다.
- Close 를 클릭합니다. 툴바가 즉시 업데이트될 것입니다.
솔루션 플랫폼 드롭다운 추가
- Standard 툴바에서 가장 오른쪽 버튼을 찾습니다 (마우스 커서를 올리면 Standard Toolbar Options 라고 표시됩니다).
- 드롭다운 버튼을 클릭하고 Add or Remove Buttons 을 선택한 뒤 Solution Platforms 을 클릭하면 메뉴가 툴바에 추가됩니다.
오류 목록 창 끄기
일반적으로 Error List (오류 목록) 창은 코드에 오류가 있으면 자동으로 뜹니다. 하지만 언리얼 엔진에서 사용할 때는 오류 목록 창에 잘못된 오류 정보가 표시될 수 있습니다. 오류 목록 창을 비활성화하고 언리얼 엔진 출력 창의 실제 코드 오류를 확인하는 것이 가장 좋습니다. 다음 단계는 오류 목록 창을 끄는 방법을 보여줍니다.
- 오류 목록 창이 열려 있다면 닫습니다.
- Tools 메뉴에서 Options 대화창을 엽니다.
- Projects and Solutions 를 선택하고 Always show Error List if build finishes with error 체크를 해제합니다.
- OK 를 클릭합니다.
다음은 유용한 기타 구성 설정입니다.
- Show Inactive Blocks 를 끕니다. 끄지 않으면 텍스트 에디터에 너무 많은 코드 청크가 회색으로 표시될 수 있습니다. 이 설정은 Tools > Options > Text Editor > C/C++ > View 에서 끕니다.
- Disable External Dependencies Folders 를 true 로 설정하면 Solution Explorer 에서 불필요한 폴더를 숨길 수 있습니다. 이 옵션은 Tools > Options > Text Editor > C/C++ > Advanced 에서 찾을 수 있습니다.
- Edit & Continue 기능이 필요 없으면 끕니다. Tools > Options > Debugging > Edit and Continue 입니다.
- IntelliSense 를 켭니다. Intellisense, 라이브 오류, 구불구불한 선 섹션을 참고하세요.
Visual Assist X 사용자
Visual Assist X 가 설치된 경우:
- Format After Paste 를 끕니다. VAssistX > Visual Assist X Options > Advanced > Corrections 에서 변경할 수 있습니다.
- 이 옵션을 끄지 않으면, Visual Assist X 가 소스 코드 형식을 자동 결정합니다. 형식이 잘못될 수 있습니다.
Intellisense, 라이브 오류, 구불구불한 선
이제 UE4 프로젝트에 IntelliSense 가 정상 지원되며, 라이브 오류 목록과 구불구불한 선(squiggle) 표시 기능이 포함됩니다. 활성화 방법은 다음과 같습니다.
IntelliSense 는 C++ 를 입력하면 다시 컴파일합니다. VAX 의 문법 검사보다 훨씬 강력한데, 전체 C++ 컴파일러를 사용해서 모든 코드 행을 검증하기 때문입니다. 워크플로가 극적으로 빨라집니다.
구불구불한 선과 함께, 확인 중인 파일에 대한 오류 목록에 IntelliSense 오류도 보입니다. 이 기능은 오류 목록의 우클릭 메뉴 에서 켜고 끌 수 있습니다.
구불구불한 선의 경우 UE4 프로젝트에 작동하지 않아 이미 비활성화했을 수도 있습니다. C/C++ > Advanced 를 클릭해서 아래와 같이 설정되었는지 확인하세요.
C++ 파일을 열 때, 아래와 같은 아이콘이 표시되면 IntelliSense 컴파일러 작동 중임을 나타냅니다.
구현 세부 사항
- 코드를 편집할 때 구불구불한 선이 나타나는 데 몇 초 정도 걸릴 수 있습니다. include 파일이 많고, IntelliSense 가 현재 PCH 를 사용하지 않기 때문입니다.
- 가끔 "잘못 탐지된" (false positive) IntelliSense 오류가 보일 수 있습니다. 몇 가지 이유가 있을 수 있습니다.
- IntelliSense 컴파일러(EDG)는 MSVC 컴파일러보다 엄격합니다.
- 일부 IntelliSense 에 대한 #defines 구성이 일반 빌드와 다르게 구성되어 있습니다.
- IntelliSense 가 컴파일하는 C++ 는 항상 32 비트로 간주됩니다.
- 꼭 필요한 경우 코드를 #ifdef **INTELLISENSE** 로 감싸면 구불구불한 선을 없앨 수 있습니다.
- IntelliSense 오류 문구는 VC++ 컴파일러 오류와 약간 다릅니다.
- 헤더 파일의 구불구불한 선은 헤더를 포함하는 알려진 .cpp 에 대해 헤더를 컴파일하여 작동합니다. 가끔 IntelliSense 가 오작동하여 헤더에 구불구불한 선이 보일 수 있습니다.
- 반응 속도를 높이려면 Max Cached Translation Units 세팅을 높여보면 됩니다. 그러나 메모리 사용량이 늘어납니다.
- 일부 C++ 파일은 아직 IntelliSense 와 호환되지 않습니다.
- 언리얼 빌드 툴에 -IntelliSense 옵션이 새로 생겼습니다.
- 모든 프로젝트 파일에 IntelliSense 프로퍼티 시트를 생성하는 옵션입니다.
- 새 모듈을 추가했거나 프로젝트 인클루드가 변경된 경우에만 다시 실행해 주면 됩니다.
UnrealVS 익스텐션
Visual Studio 용 UnrealVS 익스텐션은 언리얼 엔진 4 로 개발할 때 자주 사용하는 동작을 쉽게 사용할 수 있습니다. 그 익스텐션을 설치해서 프로젝트에 사용하는 법을 설명합니다.
포함된 기능은 다음과 같습니다.
- 시작 프로젝트를 설정.
- 시작 프로젝트 빌드를 위한 바인딩가능 명령
- 명령줄 인수 설정
- 프로젝트 일괄 빌드
- 프로젝트 빠른 빌드 메뉴
UnrealVS 익스텐션은 Visual Studio Express 에디션에서 작동하지 않습니다. Visual Studio Community 및 Professional 에디션에서만 호환됩니다.
#언리얼 #C++ #VisualStudio설정
'언리얼C++게임개발 > 01.개발환경설정' 카테고리의 다른 글
[이득우C++게임개발] 예제 프로젝트의 준비 (1) | 2023.10.29 |
---|---|
[이득우C++게임개발] 예제 프로젝트의 준비 (0) | 2023.10.29 |
[이득우C++게임개발] C++프로젝트로의 확장 (0) | 2023.10.29 |
[이득우C++게임개발] 프로젝트 만들기 ArenaBattle (0) | 2023.10.29 |
언리얼 컴파일 빌드 에러 (0) | 2023.06.28 |