AutoSDK 시스템은 타깃 플랫폼 SDK를 배포하고, 엔진에서 온디맨드로 사용하는 용도로 환경설정하기 위한 메커니즘을 제공합니다. 이 시스템은 빌드 머신이 설치된 패키지를 수동 관리할 필요 없이 SDK 요구 사항이 서로 다른 다수의 분기에서 쓰이도록 설계되었지만, 전체 SDK 설치가 필요하지 않은 개발자도 사용할 수 있습니다. 보통 컴파일러나 디플로이 소프트웨어 같은 최소한의 툴세트만 기본적으로 사용할 수 있습니다.
언리얼 빌드 툴, 자동화 툴, 언리얼 에디터는 모두 AutoSDK와 매끄럽게 함께 작동하도록 설계되었으며, SDK 간 전환은 다른 툴에 의해 호출되는 언리얼 빌드 툴(UBT)로 처리합니다.
언리얼 빌드 툴은 어떤 엔진 버전에서든 특정한 선호 SDK 버전을 사용하려고 시도합니다. 이러한 버전은 일반적으로 UBT 소스 코드의 UEBuildPlatform
에서 파생된 클래스에 의해 정의됩니다.
구성
에픽은 법적인 이유로 인해 SDK를 배포할 수 없으며, 따라서 이 디렉터리 트리는 구조화 방식을 보여주는 템플릿 역할을 합니다. 빈 AutoSDK 폴더에서 시작하고, 특정 SDK 버전을 추가할 때 여기에서 파일을 복사할 것을 권장합니다.
이 폴더를 사용하여 AutoSDK 시스템을 환경설정하지 마세요. 이는 템플릿에 불과하며, 부가적인 파일을 추가하지 않으면 시스템이 작동하지 않습니다.
단일 머신에서 다수의 분기 간에 공유될 수 있도록, AutoSDK 폴더를 게임이나 엔진 코드와 별도로 소스 컨트롤에 제출해야 합니다.
AutoSDK를 사용하려는 개발자는 이를 동기화하고, UE_SDKS_ROOT
환경 변수를 AutoSDK가 포함된 UBT용 로컬 머신 경로를 가리키도록 설정할 수 있습니다.
레이아웃
AutoSDK 디렉터리 구조는 느슨하게 정의되며, 보통 각 플랫폼의 재량에 맡기지만, 다음과 같은 일반적 패턴을 따릅니다.
디렉터리 구조 | 정의 |
---|---|
/HostPlatform/ |
SDK를 사용할 수 있는 호스트 플랫폼입니다. |
/HostPlatform/TargetPlatform/ |
'HostPlatform(예: '/HostWin64/Android/')'용 'TargetPlatform' SDK가 포함된 디렉터리입니다. |
/HostPlatform/TargetPlatform/1.0/ |
'HostPlatform'용 'TargetPlatform' 1.0 SDK가 포함된 디렉터리입니다. |
/HostPlatform/TargetPlatform/1.0/Setup.bat |
이 SDK를 구성할 때 실행되는 선택적 배치 파일입니다. Mac/Linux에서는 'setup.sh'입니다. |
/HostPlatform/TargetPlatform/1.0/Unsetup.bat |
이 SDK를 제거할 때 실행되는 선택적 배치 파일입니다. Mac/Linux에서는 'unsetup.sh'입니다. |
Setup.bat을 실행하면 동일한 디렉터리에 OutputEnvVars.txt
라는 텍스트 파일을 출력하는데, 여기에는 NAME=VALUE
형식의 설정할 환경 변수 목록뿐만 아니라 ADDPATH=Foo
및 STRIPPATH=Foo
등 PATH
환경 변수를 수정하는 특수한 지시문도 포함되어 있습니다.
지원되는 SDK 버전용으로 에픽이 작성한 구성 스크립트는 이 디렉터리에 포함됩니다.
플랫폼
각 플랫폼에 SDK를 추가하는 방법에 대한 자세한 내용은 HostPlatform/TargetPlatform 서브폴더의 README.md 파일에 나와 있습니다.