반응형
  • IDE 프로그램에서 폴더구조를 변경한다 해도, Build.cs 파일에 에디터상에서 보여질 폴더를 표시해줘야 폴더가 에디터상에서 출력된다.
    • Build.cs 파일은 엔진에 종속된 코드라 변경 후에는 반드시 솔루션 빌드를 해줘야 정상 반영됨.
PublicIncludePaths.AddRange(new string[] {
    "MyProject/NewFolder"
});
  • 그리고 코드상에서 줄기차게 사용하는 플러그인들도 build.cs 파일에 등록해 줘야 한다.
		PrivateDependencyModuleNames.AddRange(collection: new string[]
		{
			"MoviePlayer",
			"ProceduralMeshComponent",
			"Slate",
			"AnimGraphRuntime",
			"TraceLog",
			"MotionWarping",
			"MovieScene",
			"DeveloperSettings",
			"SQLiteCore",
			"SignificanceManager",
			"AnimationLocomotionLibraryRuntime",
			"MovieSceneTracks",
			"PhysicsControl",
			"SignalProcessing",
			"PoseSearch",
			"PhysicsCore"
		});
반응형
반응형

외부에서 제작된 코드를 옮기거나 할때에 아래 그림처럼 사전 정의된 매크로를 사용하는 경우가 종종 있을 수 있다.

하지만, 문제는 해당 Class는 어디서 찾았는지 알길이 없다는 것이다..;;

그 이유는 프로젝트 이름을 참조하여 자동으로 생성되는 매크로이기 때문이다.

위치는

개인프로젝트폴더\Intermediate\Build\Win64\x64\UnrealEditor\Development\ 개인프로젝트폴더\

의 Definitions. 개인프로젝트폴더 .h 파일안에 아래처럼 숨겨져 있다.

반응형
반응형

비주얼 스튜디오로 작업하다 보면 매우 엄격하게 컴파일 감시를 하다보니 코드 한줄 잘 못 써도 바로 프로젝트가 터지는 일을 빈번히 겪게되어 아무 작업도 못하는 지경에 이르게 된다..;;  라이더를 사용하여 좀더 릴렉스하게 코드 작업을 진행해 보자.

다운 링크 : Rider: The Cross-Platform .NET IDE from JetBrains

 

Rider: The Cross-Platform .NET IDE from JetBrains

Develop .NET, ASP.NET, .NET Core, Xamarin or Unity applications on Windows, Mac, Linux

www.jetbrains.com

언리얼 프로젝트에서 Source Code 작업을 Rider UProject로 선택해 준다.

라이더의 좋은점.

  • 헤더파일등의 추가가 용이하고, 잘못된 컴파일 에러로 프로젝트 자체가 수시로 고장나 버리는 비주얼 스튜디오보다 훨씬 더 고장율이 떨어지면서 작업하는게 용이해 진다. 마치 유니티 C#작업하는 느낌과 거의 흡사해 짐.
    • 비주얼 스튜디오에서는 헤더파일만 만들고 cpp 파일을 안만들면 컴파일 에러와 빌드 에러를 일으키지만 라이더는 유연하게 대처 해준다.
  • 라이더에서 작업하던 중간에 비주얼 스튜디오로 넘어가는것은 삼가하자..;; 프로젝트가 99프로 확률로 고장나면서 멘탈 공격 심하게 들어온다.
    • 그래도 너무 릴렉스하게는 하지 말고 중간중간 빌드를 해주면서 고장 난 부분이 없는지 수시로 체크하는 것도 필요하긴 하다..;;
반응형
반응형

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

  • 오류가 많은 채로 빌드를 하면 빌드 실패는 당연한거고 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