반응형

각각의 폴더를 잘 파악해야 패키지 빌드를 잘 성공 시킬 수 있다.

1. 엔진폴더와 게임 폴더의 구분을 잘 파악하자.

* 1번은 엔진을 실행하는데 필수로 필요한 파일들이 있으며, 빌드 성공시에 해당 폴더의  \Engine\Binaries\Win64 폴더로 이동하여 UnrealEditor.exe 파일을 실행하면 엔진이 실행하게 된다.

* UE5.sln 파일을 실행한 후 IDE 프로그램에서 디버그나 빌드를 눌러도 실행된다.

* 아래는 Engine 폴더 내부인데, 빨간 줄을 친 부분은 엔진을 실행하는 데 필수 요소 들은 아니며 엔진을 실행하거나 하는등의 바이너리화 작업중에 발생하는 파일들이다. 따라서 엔진을 다른 컴퓨터나 폴더로 옮길수 해당 폴더들은 제외하고 옮겨도 실행하는데 문제가 없다.

* 2번은 엔진 실행후 해당 엔진을 통해 만들어진 게임 폴더들이다. 아래 폴더 구조를 통해 상세히 알아 보자. 먼저 여기서도 엔진과 마찬가지로 아래의 빨간색으로 표시된 폴더들은 구동시 반드시 필요한 폴더가 아니다.

1. Content 폴더 : 게임실행시 블루프린트와 아트어셋 데이터들이 생성되는 장소이다. 엔진코드나 플러그인을 딱히 건드리지 않았을 경우 해당 폴더만 옮겨도 게임내부의 어셋들을 다른 프로젝트에서 확인이 가능하다. 하지만, 안되는 경우도 꾀 있으니 해당 폴더만으로 모든작업된 내용이 똑같이 발동 될거라 섣불리 생각하지는 말자. 예를들어  tag나 Default.ini 등에서 바뀌어진 정보는 해당 폴더에 있지 않다.

2. Plugins 폴더 :  게임실행 후 설치한 플러그인나 외부적으로 제작한 플러그인들이 생성되는 장소이다. 해당 폴더에 설치된 내용이 있고, game.uproject 파일에서 true / false 설정을 할 수 있다. 다만 언리얼에서 기본 제공하는 플러그인들은 uproject 파일에서 true 했을 경우에 거의 잘 되긴 하지만 외부에서 가져온 플러그인들은 Source에서 제어해줘야만 정상 작동하는 PlugIns들도 있다는 것을 주의하자.

3. Source 폴더 : 소스코드 빌드된 엔진에서 가장 중요한 부분이라 생각하면 될거 같다. 요 부분에서 엔진 코드 / 게임 코드 / 플러그인 코드 등을 C++ 로 제어하게 된다. IDE 프로그램에서 처리되는 모든 소스코드가 이곳을 통해 이루어진다고 보면 된다. 그만큼 민감하게 예민한 곳이라 적절하게 코드작업이 이루어지지 않을 경우 빌드에러가 발생하여 게임 / 엔진 모두가 망가질수 있음을 주의하자.  Unreal C++ 코딩 카테고리에서 참고사항을 잘 확인하며 신중하게 작업을 진행해야 한다.

반응형
반응형

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

다운 링크 : 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프로 확률로 고장나면서 멘탈 공격 심하게 들어온다.
    • 그래도 너무 릴렉스하게는 하지 말고 중간중간 빌드를 해주면서 고장 난 부분이 없는지 수시로 체크하는 것도 필요하긴 하다..;;
반응형
반응형

언리얼 소스코드 빌드는 왜 필요한가?

1. 엔진 커스터마이징

  • Unreal Engine의 소스 코드를 수정해야 하는 경우:
    • 엔진의 기본 기능을 확장하거나 수정해야 할 때 소스 코드를 직접 변경해야 합니다.
    • 예: 물리 엔진(Px), 렌더링 파이프라인, 네트워크 모듈 등을 맞춤화.
  • Epic Games Launcher로 설치한 엔진은 소스 코드 접근이 불가능하므로, GitHub에서 제공되는 소스 코드를 빌드해야 수정이 가능합니다.

2. 특정 플랫폼 지원

  • Unreal Engine이 기본적으로 지원하지 않는 플랫폼에서 게임을 실행하려는 경우:
    • 커스텀 하드웨어, OS, 또는 특수 플랫폼(예: 리눅스 변형, 특정 임베디드 시스템).
    • 일부 플랫폼에서는 빌드 시 추가 의존성을 포함하거나 커스텀 설정이 필요합니다.

3. 최신 버전 또는 특정 브랜치 사용

  • Epic Games Launcher를 통해 제공되는 Unreal Engine 버전은 공식 릴리스에 한정됩니다.
    • 만약 최신 개발 브랜치(예: Main 브랜치)나 특정 버전이 필요한 경우, GitHub에서 해당 소스를 내려받아 빌드해야 합니다.
    • 실험적 기능이나 버그 수정 사항을 즉시 사용하고 싶을 때 유용합니다.

4. 디버깅 및 문제 해결

  • 엔진 내부에서 발생하는 문제를 디버깅해야 할 때:
    • 엔진의 작동 방식이나 특정 API 호출 흐름을 파악하기 위해 소스 코드 접근이 필요할 수 있습니다.
    • Visual Studio(또는 다른 IDE)에서 엔진 코드 전체를 디버깅할 수 있습니다.

5. 플러그인 개발

  • 고급 플러그인이나 모듈 개발 시 엔진의 소스 코드와 깊게 연동되는 경우:
    • 일부 고급 기능을 추가하거나 시스템 수준의 동작을 수정해야 할 때.
    • 소스 코드 빌드된 엔진에서 테스트해야 플러그인과의 호환성을 보장할 수 있습니다.

6. 라이센싱 또는 코드 분석

  • 기업이나 특정 프로젝트에서 엔진의 동작을 세부적으로 검토하거나 맞춤화해야 하는 경우.
  • 엔진을 수정하지 않더라도 소스 코드 빌드를 통해 엔진의 모든 부분에 접근할 수 있습니다.

7. 전문적인 작업 환경 구축

  • 대규모 팀이나 전문 개발 환경에서 커스텀 엔진 빌드를 사용하는 경우:
    • 엔진 빌드를 공유하여 팀 전체가 동일한 엔진 상태로 작업.
    • 각종 커스텀 빌드 설정(특정 디버그 플래그, 빌드 최적화 등)을 포함.

등등의 이유로 필요하지만, 간단한 1인 게임을 만들기 위해서는 굳이 필요하지 않다고 여겨지고, 최소한 오픈 월드 RPG 이상의 환경 구축이 필요한 게임에서만 하는게 좋지 않을까 싶습니다.

왜냐? 너무 어렵고 진입 장벽이 높음.. 하다가 지쳐버림.

 

좌충우돌 소스코드 빌드 성공기.

1. Git이랑 연동해서 하는법

  • 먼저 언리얼에서 개발자 계정을 만들고,Git과 연계하는 작업을 진행한다.
    • 근데 불친절한 언리얼과 Git의 만남이라 그런가.. 정말 복잡하고 어렵고 느리다.
    • 엔지니어 위주의 설명이다보니 진짜 디자이너 출신들의 진입 장벽이 너무 높게 느껴진다..
    • 이래서 1인개발은 멀고도 험하다..ㅠ

Unreal Engine on GitHub

요 페이지와 아래 페이지를 통해 GitHub 의 계정을 언리얼과 연동하는 작업을 먼저 진행한다.

언리얼 엔진 소스 코드 다운로드하기 | 언리얼 엔진 5.5 문서 | Epic Developer Community | Epic Developer Community

위 페이지에서 가장 눈여겨 보아야 할 부분. - 아래의 충족여건이 안되면 링크를 타고 가도 404 Page Error 어쩌구 뜨면서 연결이 안된다.

언리얼 개인 계정 페이지에서 아래와 같이  Git Hub 와 연동이 되어야 한다.

잘 모를 땐 GitHub 내 언리얼 엔진 - Unreal Engine  페이지에서 아래의 FAQ를 잘 확인하며 하나씩 잘 따라가는 것도 좋다.

 

 

위의 계정연결을 성공하고 나서 소스 코드 브랜치 중 EpicGames/UnrealEngine 으로 들어가 원하는 버전을 선택한다. 나는 5.4.4를 선택했다.

 

여기서 이제 두가지 방법으로 소스코드 빌드를 할 수 있게 되는데, Git 브렌치를 이용하여 Repository를 복사하여 내 Repsitory를 이용하는 방법 그리고 그냥 Zip 파일을 받아서 내 하드에 풀고 Setup.bat 파일로 하는 방법

첫 째, GitHub 데스크탑을 이용하여 내 Repository를 이용하는 방법

GitHib Desktop 앱을 이용하면 좀더 손쉽게 Repository를 이용할 수 있다.

 

위 까지 성공하고 Clone Reprository를 실행하면 아래 화면이 뜨면서 언리얼 엔진을 내 Repository에 가져오기 시작한다.

위의 처리가 완료되고 폴더가기를 누르면 내 로컬 컴퓨터에 Engine 브랜치가 다운 받아진것을 확인할 수 있습니다.

 

 

 

두 번째, 그냥 Zip 파일을 받아 압축을 풀고 Setup.bat 파일을 실행한다. 전 그냥 이방식을 추천합니다.

EpicGames/UnrealEngine: Unreal Engine source code 페이지에서 Zip 파일을 받아 압축을 푼다.

어디 드라이브가 됐든 최상위에 압축을 풀고 1. Setup.bat / 2. GenerateProjectFiles 를실행한다. 최상위 폴더에 풀지 않으면 경로에러로 압축이 안풀릴수 있다.

 Setup은 30분~1시간, GenerateProjectFiles는 10초면 된다.

언리얼 빌드를 시작하기 전에 VisualStudio 2022를 받고, 아래 해당 되는 것들을 설치합니다.

주소 - Visual Studio 2022 IDE - 소프트웨어 개발자를 위한 프로그래밍 도구

가장 중요한 부분은 C++ 을 사용한 데스크톱 개발 목록이 가장 중요함. 언5 소스코드 빌드 성공한 목록 구성입니다. 몇번의 삽질이 있었음..;;

그런 후 UE5.Sln 파일을 실행하고 솔루션 'UE5'에 마우스 오른쪽 버튼을 누르고 솔루션 빌드를 시작합니다.

 

위 작업은 최종 작업으로서 최소2시간에서 컴퓨터 사양따라 반나절 이상 소모되는 경우도 있으니 주무시기전에 하거나 다른 일을 하고 오시는 것을 추천드립니다.

여기까지 진행후 빌드 성공이 뜨면 나만의 커스텀 엔진을 생성하는데 성공하게 되고, Engine/Binaries/Win64 폴더에서 UnrealEditor를 실행하면 커스텀 엔진이 실행되게 되고, 거기서 프로젝트를 새로 만들면 나만의 엔진에서 나만의 게임을 만들수 있게 됩니다.

추가설치가 뜰땐 시키는데로 하는게 좋습니다.

 

문제점 - 소스코드 완료 후 오류가 많을 경우 버전들을 픽스하여 다시 설치한다.

 

비주얼 스튜디오 추가 구성과 도움이 필요할 땐 아래사이트를 참고하면 도움이 됩니다.

언리얼 엔진용 Visual Studio Code 구성 | 언리얼 엔진 5.5 문서 | Epic Developer Community | Epic Developer Community

반응형

+ Recent posts