반응형

언리얼 코드 작성은 유니티에서 작업하던거와는 신중함의 무게가 다르다.. 아래 사항들을 유의하며 코드 작성을 해야 한다.

  • 오류가 많은 채로 빌드를 하면 빌드 실패는 당연한거고 UnrealEditor.exe 파일이 날라간다.
    • 반드시 한줄 한줄 오류가 없는지 점검하며 빌드를 해야 한다.
  • 한줄만 잘못 써도 위와 같은 상황이 발생하게 되므로, 아래의 여러가지 코드 작성 방법을 유의하며 코딩 작업을 해야 한다.

    언리얼 엔진에서 C++ 코드를 작성할 때, 빌드 시간이 길고 한 줄만 잘못 써도 다시 빌드해야 하는 것은 개발자들이 자주 겪는 문제입니다. 다행히 이를 완화할 수 있는 몇 가지 방법이 있습니다:1. Hot Reload 활용하기
    • 언리얼 엔진은 코드를 변경한 후 엔진을 재시작하지 않고도 변경 사항을 반영할 수 있는 Hot Reload 기능을 제공합니다.
    • 하지만 Hot Reload는 코드 구조를 크게 변경하지 않은 경우에만 효과적입니다. 예를 들어, 새 클래스를 추가하거나 매크로를 변경한 경우에는 제한적일 수 있습니다.
    2. Live Coding 사용
    • 언리얼 엔진은 Live Coding 기능을 제공하여, 게임을 종료하지 않고도 변경된 코드 부분을 빠르게 컴파일하고 적용할 수 있습니다.
    • 설정 방법:
      1. Editor Preferences  General  Miscellaneous  Enable Live Coding 활성화.
      2. 변경 후 Ctrl + Alt + F11을 눌러 Live Coding 빌드를 실행.
    • 주의점: Live Coding은 큰 코드 수정에는 적합하지 않으며, 가벼운 수정에 유용합니다.
    3. PCH(Precompiled Header) 최적화
    • 프로젝트의 Precompiled Header를 잘 관리하면 빌드 시간을 크게 줄일 수 있습니다.
    • 모든 헤더 파일을 .cpp 파일에서 직접 포함하지 말고, 공통적으로 사용되는 헤더 파일은 PCH에 포함하세요.
    • 예를 들어, MyProject.h에 공통 헤더들을 넣고 필요할 때마다 이를 사용하도록 구성합니다.
    4. 코드 모듈화
    • 코드를 작은 모듈로 나누면, 변경된 모듈만 다시 컴파일하면 되므로 빌드 시간을 단축할 수 있습니다.
    • 각 기능을 별도의 모듈로 분리하면 의존성을 줄이고 더 빠르게 작업할 수 있습니다.
    5. Blueprint와 C++의 적절한 조화
    • 빈번히 변경해야 하는 코드나 실험적인 작업은 Blueprint로 구현하고, 성능이 중요한 부분만 C++로 작성하는 것도 좋은 방법입니다.
    • 이 접근법은 빌드 시간을 줄이는 데 매우 효과적입니다.
    6. Unity Build 비활성화
    • 언리얼 프로젝트는 기본적으로 Unity Build를 활성화하여 여러 .cpp 파일을 한 번에 컴파일합니다.
    • 하지만 일부 상황에서는 Unity Build를 끄면 특정 파일만 다시 컴파일하게 되어 더 빠를 수 있습니다.
      • BuildConfiguration.xml에서 bUseUnityBuild를 false로 설정하세요.
    7. 코드 변경 전 유효성 검사
    • 에디터에서 미리 코드 스타일이나 오류를 체크할 수 있는 도구(예: Rider, Visual Studio, CLion)를 사용하면 빌드 전 많은 문제를 방지할 수 있습니다.
    8. SSD와 RAM 업그레이드
    • 하드웨어 업그레이드도 빌드 시간을 줄이는 데 큰 도움이 됩니다.
    • 특히 NVMe SSD와 충분한 **RAM(32GB 이상)**을 사용하면 빌드 속도가 크게 향상됩니다.

 

  • IDE 프로그램에서 폴더구조를 변경한다 해도, Build.cs 파일에 에디터상에서 보여질 폴더를 표시해줘야 폴더가 에디터상에서 출력된다.
    • Build.cs 파일은 엔진에 종속된 코드라 변경 후에는 반드시 솔루션 빌드를 해줘야 정상 반영됨.
PublicIncludePaths.AddRange(new string[] {
    "MyProject/NewFolder"
});
  • 폴더 변경후 비주얼 스튜디오에서도 제대로 반영되지 않으므로 Generate Visualstudio Project를 실행해야 정상 반영된다.
  • (GENERATED_BODY() 또는 GENERATED_UCLASS_BODY() 등)를 사용하려면, 반드시 .generated.h 파일이 헤더의 맨 마지막 #include 구문 뒤에 위치해야 한다는 규칙을 지키지 않았을 때 에러가 발생합니다.
  •  빌드 에러가 떴을 때 비주얼 스튜디오나 IDE 프로그램을 그냥 종료하지 않고, 오류부분들을 수정하고 솔루션 빌드를 완료한 후 종료해야 한다. 그러지 않으면 프로젝트를 새로 받아야 할 수도 있음.
반응형

+ Recent posts