BuildGraph 스크립트 태스크

BuildGraph 로 커스텀 태스크를 쉽게 만드는 법을 배워봅니다.

Choose your operating system:

Windows

macOS

Linux

보통 프로젝트 전용 유틸리티 스크립트는 AutomationTool BuildCommand 클래스로 구현됩니다. 하지만 가끔은 프로젝트의 커스텀 태스크를 자동화하고 싶을 때가 있습니다. 그럴 때 BuildGraph 가 도움이 될 수 있습니다. BuildGraph 는 몇 개의 태스크로도 확장시킬 수 있어, 요구에 딱 맞도록 빌드 자동화 태스크를 커스터마이징할 수 있습니다. 여기서는 BuildGraph 를 사용하여 커스텀 태스크를 만드는 방법과 아울러, 별도의 커스텀 태스크 제작에 참고가 되는 미리정의된 태스크 목록을 포함해서 알아보도록 하겠습니다.

커스텀 태스크

커스텀 태스크를 새로 만들려면, CustomTask 클래스에서 파생된 클래스를 구현하고 [TaskElement] 어트리뷰트를 적용합니다. TaskElement 생성자는 인수를 둘 받습니다. 하나는 그것이 표현하는 XML 요소 이름, 다른 하나는 그 파라미터가 들어있는 클래스 유형입니다 (이것이 로드 시간에 생성자에 전달됩니다).

XML 파일에서 파라미터 클래스 필드를 읽으려면, 태스크에 [TaskParameter] 어트리뷰트를 붙입니다. TaskParameter 어트리뷰트를 붙이면 파라미터가 필수인지 옵션인지를 나타내며, 여기에는 인수에 적용시킬 추가 인증까지 포함됩니다.

미리정의된 태스크

별도의 태스크 제작을 위한 시작점으로, 미리 정의된 태스크를 템플릿으로 다양하게 제공하고 있으니, 여기서부터 작업을 하시면 됩니다. 미리 정의된 태스크 견본 간단한 것을 찾는 경우, LogTask 부터 시작해 보면 좋습니다. BuildGraph 최신 개선 사항 소식을 받아보시려는 경우, 이 페이지를 북마크 등록하세요. 주기적으로 미리 정의된 태스크 목록을 업데이트하겠습니다.

AgeStore

파일 세트에서 심볼을 추출하는 태스크입니다. 이 태스크는 Microsoft 디버거 툴 SDK와 함께 제공되는 AGESTORE 유틸리티를 따라 이름이 지어졌지만 실제로는 별개의 구현입니다. 주된 차이점은 삭제할 파일을 결정할 때 마지막 액세스 시간이 아니라 마지막 수정 시간을 사용한다는 점입니다.

Platform

언리얼 타깃 플랫폼

필수

심볼을 에이징할 타깃 플랫폼입니다.

StoreDir

스트링

필수

심볼 서버 디렉터리입니다.

Days

Int32

필수

심볼을 보관할 일 수입니다.

BuildDir

스트링

선택

기존 빌드 버전의 디렉터리를 확인할 수 있는 빌드 디렉터리의 루트입니다.

Filter

스트링

선택

심볼을 삭제하기 전에 디렉터리 파일 이름에서 일치시킬 부분 스트링입니다. 여러 빌드가 동일한 심볼 서버를 공유하는 경우 ‘age store' 태스크로 인해 다른 빌드에서 심볼을 삭제하지 않도록 할 수 있습니다. 필터 값의 구체적인 사용은 플랫폼 툴 체인에 의해 정의된 심볼 서버 구조에 의해 결정됩니다.

If

조건

선택

이 태스크를 실행할지 여부입니다. 이 조건이 false로 평가되면 무시됩니다.

Command

지정된 명령을 실행할 자동화 툴(Automation Tool)의 자식 프로세스를 호출합니다.

Name

스트링

필수

실행할 명령 이름입니다.

Arguments

스트링

선택

명령에 전달할 실행인자입니다.

MergeTelemetryWithPrefix

스트링

선택

null이 아닌 경우 지정된 접두사를 사용하여 명령으로부터의 원격 측정을 이 UAT 인스턴스에 대한 원격 측정에 병합하도록 지시합니다. 빈(null이 아닌) 스트링일 수 있습니다.

If

조건

선택

이 태스크를 실행할지 여부입니다. 이 조건이 false로 평가되면 무시됩니다.

Commandlet

커맨드릿을 실행할 에디터를 스폰합니다.

Name

스트링

필수

실행할 커맨드릿 이름입니다.

Project 파일 사양

선택

에디터를 실행할 프로젝트입니다.

Arguments

스트링

선택

커맨드릿에 전달할 실행인자입니다.

EditorExe

파일 레퍼런스

선택

사용할 에디터 실행 파일입니다. 기본적으로 현재 플랫폼의 development UE4Editor 실행 파일입니다.

ErrorLevel

Int32

선택

오류로 취급되는 최소 종료 코드입니다.

If

조건

선택

이 태스크를 실행할지 여부입니다. 이 조건이 false로 평가되면 무시됩니다.

Compile

언리얼 빌드 툴(UnrealBuildTool)로 타깃을 컴파일합니다.

Target

스트링

필수

컴파일할 타깃입니다.

Configuration

언리얼 타깃 환경설정

필수

컴파일할 환경설정입니다.

Platform

언리얼 타깃 플랫폼

필수

컴파일할 플랫폼입니다.

Project

스트링

선택

컴파일할 프로젝트입니다.

Arguments

스트링

선택

언리얼 빌드 툴의 추가 실행인자입니다.

AllowXGE

부울

선택

컴파일에 XGE 사용을 허용할지 여부입니다.

AllowParallelExecutor

부울

선택

이 컴파일에 병렬 실행기의 사용을 허용할지 여부입니다.

Clean

Nullable`1

선택

이 타깃의 정리를 허용할지 여부입니다. 지정하지 않으면 -Clean 실행인자가 명령줄로 전달될 경우에 타깃을 정리합니다.

Tag

태그 목록

선택

이 태스크의 빌드 제품에 적용할 태그입니다.

If

조건

선택

이 태스크를 실행할지 여부입니다. 이 조건이 false로 평가되면 무시됩니다.

Cook

특정 플랫폼을 위해 일부 맵을 쿠킹합니다.

Project

스트링

필수

쿠킹할 프로젝트 파일입니다.

Platform

스트링

필수

타깃으로 지정할 쿠킹 플랫폼입니다(예: WindowsNoEditor).

Maps

스트링

선택

쿠킹할 맵 목록입니다. '+' 문자로 구분합니다.

Versioned

부울

선택

쿠커로 전달할 추가 실행인자입니다.

Arguments

스트링

선택

쿠커로 전달할 추가 실행인자입니다.

Tag

태그 목록

선택

이 태스크의 빌드 제품에 적용할 태그입니다.

If

조건

선택

이 태스크를 실행할지 여부입니다. 이 조건이 false로 평가되면 무시됩니다.

Copy

파일을 한 디렉터리에서 다른 디렉터리로 복사합니다.

Files

파일 사양

선택

입력 파일 목록에 적용할 옵션 필터입니다.

From

파일 사양

필수

복사할 패턴입니다(예: Engine/*.txt).

To

파일 사양

필수

복사할 대상 디렉터리입니다.

Overwrite

부울

선택

기존 파일을 덮어쓸지 여부입니다.

Tag

태그 목록

선택

이 태스크의 빌드 제품에 적용할 태그입니다.

If

조건

선택

이 태스크를 실행할지 여부입니다. 이 조건이 false로 평가되면 무시됩니다.

CsCompile

C# 프로젝트 파일과 종속성을 컴파일합니다.

Project

스트링

필수

컴파일할 C# 프로젝트 파일입니다. 세미콜론을 사용하여 둘 이상의 프로젝트 파일을 지정할 수 있습니다.

Configuration

스트링

선택

컴파일할 환경설정입니다.

Platform

스트링

선택

컴파일할 플랫폼입니다.

Target

스트링

선택

빌드할 타깃입니다.

Arguments

스트링

선택

컴파일러로 전달할 추가 옵션입니다.

EnumerateOnly

부울

선택

빌드 제품을 열거하기만 합니다. 실제로 프로젝트를 컴파일하지 않습니다.

Tag

태그 목록

선택

이 태스크의 빌드 제품에 적용할 태그입니다.

TagReferences

태그 목록

선택

프로젝트에 있으며 프라이빗이 아닌 레퍼런스에 적용할 태그입니다. (예: 외부에 있으며 출력 디렉터리로 복사되지 않는 레퍼런스).

If

조건

선택

이 태스크를 실행할지 여부입니다. 이 조건이 false로 평가되면 무시됩니다.

Delete

파일 세트를 삭제합니다.

Files

파일 사양

필수

세미콜론으로 구분된 파일 사양 목록(예: .cpp;Engine/.../.bat)이나 태그 세트의 이름입니다.

DeleteEmptyDirectories

부울

선택

파일을 삭제한 다음 빈 디렉터리를 삭제할지 여부입니다. 디폴트는 true입니다.

If

조건

선택

이 태스크를 실행할지 여부입니다. 이 조건이 false로 평가되면 무시됩니다.

Log

메시지(및 기타 옵션 진단 정보)를 출력 로그로 출력합니다.

Message

스트링

선택

출력할 메시지입니다.

Files

파일 사양

선택

지정하면 지정된 파일 목록이 지정된 메시지 다음에 출력됩니다.

IncludeContents

부울

선택

지정하면 지정된 파일의 콘텐츠가 출력됩니다.

If

조건

선택

이 태스크를 실행할지 여부입니다. 이 조건이 false로 평가되면 무시됩니다.

ModifyConfig

환경설정 파일을 변경합니다.

File

파일 사양

필수

환경설정 파일의 경로입니다.

Section

스트링

필수

수정할 섹션 이름입니다.

Key

스트링

필수

설정할 프로퍼티 이름입니다.

Value

스트링

필수

설정할 프로퍼티 값입니다.

Tag

태그 목록

선택

추출된 파일에 적용할 태그입니다.

If

조건

선택

이 태스크를 실행할지 여부입니다. 이 조건이 false로 평가되면 무시됩니다.

Move

파일을 한 디렉터리에서 다른 디렉터리로 이동합니다.

Files

파일 사양

선택

입력 파일 목록에 적용할 옵션 필터입니다.

From

파일 사양

필수

복사할 패턴입니다(예: Engien/*.txt).

To

파일 사양

필수

복사할 대상 디렉터리입니다.

Tag

태그 목록

선택

이 태스크의 빌드 제품에 적용할 태그입니다.

If

조건

선택

이 태스크를 실행할지 여부입니다. 이 조건이 false로 평가되면 무시됩니다.

MsBuild

MsBuild를 실행합니다.

Project

스트링

필수

컴파일할 C# 프로젝트 파일입니다. 세미콜론을 사용하여 둘 이상의 프로젝트 파일을 지정할 수 있습니다.

Configuration

스트링

선택

컴파일할 환경설정입니다.

Platform

스트링

선택

컴파일할 플랫폼입니다.

Arguments

스트링

선택

컴파일러로 전달할 추가 옵션입니다.

Verbosity

스트링

선택

MSBuild 출력의 세부 수준입니다.

If

조건

선택

이 태스크를 실행할지 여부입니다. 이 조건이 false로 평가되면 무시됩니다.

PakFile

지정된 파일 세트에서 PAK 파일을 만듭니다.

Files

파일 사양

필수

pak 파일에 추가할 파일, 와일드카드, 태그 세트 목록으로 ';' 문자로 구분됩니다.

Output

파일 레퍼런스

필수

출력할 PAK 파일입니다.

ResponseFile

파일 레퍼런스

선택

개별적으로 파일을 지정하는 대신 pak 파일에 추가할 파일 목록이 있는 응답 파일의 경로입니다.

RebaseDir

HashSet`1

선택

파일을 상대적으로 리베이스할 디렉터리입니다. 지정하면 각 파일에 대해 나열된 디렉터리에 대한 가장 짧은 경로가 사용됩니다.

Order

파일 레퍼런스

선택

파일 순서를 제공하는 스크립트입니다.

Sign

파일 레퍼런스

선택

이 pak 파일의 암호화 키입니다.

Compress

부울

선택

파일 압축 여부입니다.

Arguments

스트링

선택

UnrealPak으로 전달할 추가 실행인자입니다.

Tag

태그 목록

선택

이 태스크의 빌드 제품에 적용할 태그입니다.

If

조건

선택

이 태스크를 실행할지 여부입니다. 이 조건이 false로 평가되면 무시됩니다.

Rename

파일이나 파일 그룹의 이름을 변경합니다.

Files

파일 사양

필수

이름을 변경할 파일입니다.

From

스트링

선택

현재 파일 이름 또는 일치시킬 패턴입니다(예: *.txt). 경로 구분 기호를 포함해서는 안 됩니다.

To

스트링

필수

파일의 새 이름입니다. 경로 구분 기호를 포함해서는 안 됩니다.

Tag

태그 목록

선택

이름을 변경한 파일에 적용할 태그입니다.

If

조건

선택

이 태스크를 실행할지 여부입니다. 이 조건이 false로 평가되면 무시됩니다.

SanitizeReceipt

*.target 파일에서 읽어 빌드 제품 및/또는 런타임 종속성을 태그하는 태스크입니다.

Files

파일 사양

필수

와일드카드 및 태그 이름이 포함된 읽을 수령 파일 세트(*.target)입니다. 세미콜론으로 구분됩니다.

EngineDir

디렉터리 레퍼런스

선택

수령 파일의 $(EngineDir) 프로퍼티를 확장하는 데 사용되는 Engine 폴더 경로입니다. 기본적으로 현재 워크스페이스의 Engine 디렉터리입니다.

If

조건

선택

이 태스크를 실행할지 여부입니다. 이 조건이 false로 평가되면 무시됩니다.

SetVersion

지정된 버전 정보로 로컬 버전 파일(Engine/Source/Runtime/Launch/Resources/Version.h, Engine/Build/Build.version, Engine/Source/Programs/DotNETCommon/Metadata.cs)을 업데이트합니다.

Change

Int32

필수

버전 파일에서 설정할 체인지리스트입니다.

CompatibleChange

Int32

선택

버전 파일에서 설정할 엔진 호환 체인지리스트입니다.

Branch

스트링

필수

분기 스트링입니다.

Build

스트링

선택

빌드 버전 스트링입니다.

Licensee

부울

선택

IS_LICENSEE_VERSION 플래그를 true로 설정할지 여부입니다.

Promoted

부울

선택

ENGINE_IS_PROMOTED_BUILD 플래그를 true로 설정할지 여부입니다.

SkipWrite

부울

선택

설정하면 파일에 작성하지 않습니다. 업데이트할 버전 파일만 반환합니다. 로컬 빌드에 유용합니다.

Tag

태그 목록

선택

이 태스크의 빌드 제품에 적용할 태그입니다.

If

조건

선택

이 태스크를 실행할지 여부입니다. 이 조건이 false로 평가되면 무시됩니다.

Sign

설치된 인증서를 사용하여 실행 파일 세트에 서명합니다.

Files

파일 사양

필수

세미콜론으로 구분된 파일 사양 목록(예: .cpp;Engine/.../.bat)이나 태그 세트의 이름입니다.

Tag

태그 목록

선택

이 태스크의 빌드 제품에 적용할 태그입니다.

If

조건

선택

이 태스크를 실행할지 여부입니다. 이 조건이 false로 평가되면 무시됩니다.

Spawn

외부 실행 파일을 스폰하고 완료될 때까지 기다립니다.

Exe

스트링

필수

스폰할 실행 파일입니다.

Arguments

스트링

선택

새로 생성된 프로세스의 실행인자입니다.

ErrorLevel

Int32

선택

오류로 취급되는 최소 종료 코드입니다.

If

조건

선택

이 태스크를 실행할지 여부입니다. 이 조건이 false로 평가되면 무시됩니다.

Stage

빌드 수령에 나열된 파일을 출력 디렉터리에 스테이징합니다.

Project

파일 레퍼런스

선택

타깃이 속한 프로젝트입니다.

Target

스트링

필수

스테이징할 타깃 이름입니다.

Platform

언리얼 타깃 플랫폼

필수

스테이징할 플랫폼입니다.

Configuration

언리얼 타깃 환경설정

필수

스테이징할 환경설정입니다.

Architecture

스트링

선택

스테이징할 아키텍처입니다.

ToDir

디렉터리 레퍼런스

필수

수령 파일을 스테이징해야 하는 디렉터리입니다.

Overwrite

부울

선택

기존 파일을 덮어쓸지 여부입니다.

Tag

태그 목록

선택

이 태스크의 빌드 제품에 적용할 태그입니다.

If

조건

선택

이 태스크를 실행할지 여부입니다. 이 조건이 false로 평가되면 무시됩니다.

Strip

파일 세트에서 정보를 디버깅할 스트립입니다.

Platform

언리얼 타깃 플랫폼

필수

바이너리를 스트립할 플랫폼 툴 체인입니다.

BaseDir

디렉터리 레퍼런스

선택

파일을 검색할 디렉터리입니다.

Files

파일 사양

필수

세미콜론으로 구분된 파일 사양 목록(예: Engine/.../*.pdb)이나 태그 세트의 이름입니다.

OutputDir

디렉터리 레퍼런스

선택

스트립된 파일의 출력 디렉터리입니다. 디폴트값은 입력 경로이며 입력 파일을 덮어씁니다.

Tag

태그 목록

선택

이 태스크의 빌드 제품에 적용할 태그입니다.

If

조건

선택

이 태스크를 실행할지 여부입니다. 이 조건이 false로 평가되면 무시됩니다.

Submit

새 체인지리스트를 만들고 파일 세트를 Perforce 스트림에 제출합니다.

Description

스트링

필수

제출된 체인지리스트에 대한 설명입니다.

Files

파일 사양

필수

제출할 파일입니다.

FileType

스트링

선택

제출한 파일의 Perforce 파일 타입입니다(예: 바이너리+FS32).

Workspace

스트링

선택

워크스페이스 이름입니다. 지정하면 지정된 스트림 및 파일을 제출할 루트 디렉터리를 사용하여 새 워크스페이스가 생성됩니다. 그러지 않으면 현재 워크스페이스가 사용됩니다.

Stream

스트링

선택

워크스페이스에 대한 스트림입니다. 기본적으로 현재 스트림입니다. Workspace 어트리뷰트도 지정되지 않으면 무시됩니다.

RootDir

디렉터리 레퍼런스

선택

스트림의 루트 디렉터리입니다. 지정하지 않으면 기본적으로 현재 루트 디렉터리입니다.

RevertUnchanged

부울

선택

제출하려 하기 전에 변경되지 않은 파일을 되돌릴지 여부입니다.

Force

부울

선택

강제로 제출합니다. 문제를 해석해야 하는 경우에도 적용됩니다(항상 현재 버전을 수락).

If

조건

선택

이 태스크를 실행할지 여부입니다. 이 조건이 false로 평가되면 무시됩니다.

SymStore

파일 세트에서 심볼을 추출하는 태스크입니다.

Platform

언리얼 타깃 플랫폼

필수

심볼 파일을 처리하는 데 필요한 플랫폼 툴 체인입니다.

Files

스트링

필수

출력 파일 목록입니다. PDB는 이 목록에서 추출됩니다.

StoreDir

스트링

필수

압축 심볼의 출력 디렉터리입니다.

Product

스트링

필수

심볼 저장 레코드의 제품 이름입니다.

BuildVersion

스트링

선택

이 심볼과 연결된 BuildVersion입니다. 이 버전을 빌드 공유의 디렉터리 이름과 매칭하여 AgeStore를 정리하는 데 사용됩니다.

If

조건

선택

이 태스크를 실행할지 여부입니다. 이 조건이 false로 평가되면 무시됩니다.

Tag

지정된 파일 세트에 태그를 적용합니다. 파일 목록은 'Files' 파라미터에서 지정된 태그와 파일 사양을 열거하여 찾을 수 있습니다. 이 목록에서 'Filter' 파라미터와 일치하지 않는 파일은 모두 제거되고 'Except' 파라미터와 일치하지 않는 파일은 모두 제거됩니다.

BaseDir

디렉터리 레퍼런스

선택

베이스 디렉터리가 상대 경로와 패턴을 해석하도록 설정합니다. 설정하면 모든 절대 패턴(예: /Engine/Build/...)이 이 경로에 상대 경로로 취급됩니다. 그러지 않으면 절대 경로로 취급됩니다.

Files

파일 사양

선택

와일드카드 및 태그 이름이 포함된 태스크할 파일 세트입니다. 세미콜론으로 구분됩니다. 설정하면 BaseDir의 상대 경로로 해석되고, 그러지 않으면 분기 루트 디렉터리로 해석됩니다.

FileLists

파일 사양

선택

추가 파일을 추가할 텍스트 파일 세트입니다. 각 파일 목록에는 줄 당 하나의 파일이 있어야 합니다.

Filter

파일 사양

선택

태그 이름 또는 와일드카드를 포함하여 파일 목록을 필터링할 패턴입니다. 설정하면 베이스 디렉터리에 적용되는 패턴이 포함될 수 있습니다. 지정하지 않으면 기본적으로 모든 파일에 적용됩니다.

Except

파일 사양

선택

일치 목록에서 제외할 패턴 세트입니다. 베이스 디렉터리에 적용되는 패턴의 태그 이름을 포함할 수 있습니다.

With

태그 목록

필수

적용할 태그의 이름입니다.

If

조건

선택

이 태스크를 실행할지 여부입니다. 이 조건이 false로 평가되면 무시됩니다.

TagReceipt

*.target 파일에서 읽어 빌드 제품 및/또는 런타임 종속성을 태그하는 태스크입니다.

Files

파일 사양

필수

와일드카드 및 태그 이름이 포함된 읽을 수령 파일 세트(*.target)입니다. 세미콜론으로 구분됩니다.

EngineDir

디렉터리 레퍼런스

선택

수령 파일의 $(EngineDir) 프로퍼티를 확장하는 데 사용되는 Engine 폴더 경로입니다. 기본적으로 현재 워크스페이스의 Engine 디렉터리입니다.

ProjectDir

디렉터리 레퍼런스

선택

수령 파일의 $(ProjectDir) 프로퍼티를 확장하는 데 사용되는 프로젝트 폴더 경로입니다. 기본적으로 현재 워크스페이스의 Engine 디렉터리입니다. -- 지원 중단.

BuildProducts

부울

선택

수령 파일에 나열된 빌드 제품에 태그를 지정할지 여부입니다.

BuildProductType

스트링

선택

태그할 빌드 제품의 타입입니다(유효한 값은 TargetReceipt.cs - UnrealBuildTool.BuildProductType 참조).

RuntimeDependencies

부울

선택

수령 파일에 나열된 런타임 종속성을 태그할지 여부입니다.

StagedFileType

스트링

선택

태그할 런타임 종속성의 타입입니다(유효한 값은 TargetReceipt.cs - UnrealBuildTool.StagedFileType 참조).

With

태그 목록

필수

적용할 태그의 이름입니다.

If

조건

선택

이 태스크를 실행할지 여부입니다. 이 조건이 false로 평가되면 무시됩니다.

Unzip

zip 아카이브에서 파일을 추출합니다.

ZipFile

파일 사양

필수

압축을 해제할 zip 파일의 경로입니다.

ToDir

디렉터리 레퍼런스

필수

압축을 해제한 파일의 출력 디렉터리입니다.

Tag

태그 목록

선택

압축을 해제한 파일에 적용할 태그입니다.

If

조건

선택

이 태스크를 실행할지 여부입니다. 이 조건이 false로 평가되면 무시됩니다.

WriteTextFile

파일에 텍스트를 작성합니다.

File

파일 레퍼런스

필수

작성할 파일의 경로입니다.

Append

부울

선택

파일에 덮어쓰는 대신 추가할지 여부에 대한 선택 사항입니다.

Text

스트링

선택

파일에 쓸 텍스트입니다.

Files

파일 사양

선택

지정하면 지정된 파일 목록이 지정된 메시지 다음에 출력됩니다.

Tag

태그 목록

선택

이 태스크의 빌드 제품에 적용할 태그입니다.

If

조건

선택

이 태스크를 실행할지 여부입니다. 이 조건이 false로 평가되면 무시됩니다.

Zip

파일을 zip 아카이브로 압축합니다.

FromDir

디렉터리 레퍼런스

필수

압축된 파일을 읽을 디렉터리입니다.

Files

파일 사양

선택

세미콜론으로 구분된 파일 사양 목록(예: .cpp;Engine/.../.bat)이나 태그 세트의 이름입니다. 상대 경로는 FromDir에서 가져옵니다.

ZipFile

파일 레퍼런스

필수

만들 zip 파일입니다.

Tag

태그 목록

선택

만들어진 zip 파일에 적용할 태그입니다.

If

조건

선택

이 태스크를 실행할지 여부입니다. 이 조건이 false로 평가되면 무시됩니다.

언리얼 엔진의 이전 버전을 위해 작성된 페이지입니다. 현재 언리얼 엔진 5 버전을 위해 업데이트되지 않았습니다.