Precompiled Script
Script를 실행 시 파일을 분석 시간을 줄이기 위해 캐싱 진행
ProjectName.exe -as-generate-precompiled-data
-> ProjectName/Script/PrecompiledScript.Cache
이 Cache를 배포 파일에 포함하면 게임이 .as 파일을 다시 분석하지 않고 미리 생성된 Script 데이터를 사용한다.
주의 사항
- Cache는 생성한 실행 파일과 호환되어야 함
- 실행 파일을 다시 빌드하면 Cache도 다시 생성해야 함
- Cache 사용 중에는 Script Hot Reload가 동작하지 않음
.as를 수정해도 기존 Cache가 있으면 변경 내용이 반영되지 않을 수 있음- 개발 중에는
-as-development-mode로 Cache를 무시할 수 있음
일반 패키징
Precompiled Script를 사용하지 않으면 패키징된 게임이 시작할 때 프로젝트의 Script 폴더에 있는 .as 파일을 읽고 분석·컴파일해야 한다.
Script/폴더가 패키징 결과에 포함되어야 함- Script 컴파일 오류가 없어야 함
- Script가 사용하는 C++ 클래스와 함수가 최종 바이너리에 존재해야 함
- 필요한 플러그인과 모듈이 함께 패키징되어야 함
AngelScript의 일반적인 방식은 패키징 시 Script를 C++처럼 별도 실행 파일로 변환하는 것이 아니라, 게임 실행 시 Script를 로드하는 구조.
패키징 전에 다음 명령으로 Cooked 환경을 흉내 내 Script를 검사할 수 있음
UnrealEditor-Cmd.exe MyProject.uproject -as-simulate-cooked -run=AngelscriptTest
Dedicated Server 패키징
멀티플레이 서버 로직을 AngelScript로 작성한다면 별도로 확인한다.
- Dedicated Server 실행 파일 생성
- 서버 패키지에 AngelScript Plugin 포함
- 서버가 필요한
Script/파일 포함 - 서버에서 사용 가능한 C++ 모듈만 참조
- 서버에서 맵과 데이터 Asset이 정상적으로 로드되는지 확인
- Client와 Server의 RPC 및 Replication 확인
- 실제 패키징된 Client와 Server 접속 테스트
AngelScript에서도 Server, Client, NetMulticast RPC와 Replicated 프로퍼티를 사용할 수 있습니다. Actor의 복제 설정과 RPC 신뢰성 설정까지 함께 확인해야 합니다.
JIT 코드 패키징
Precompiled Cache 외에 AS_JITTED_CODE를 생성해 AngelScript를 C++ 코드 형태로 포함할 수도 있다.
- 실행 파일로 Precompiled Data 생성
- 생성된
AS_JITTED_CODE/를 프로젝트 소스에 포함 Build.cs에AngelscriptCode모듈 의존성 추가- 게임 실행 파일 재빌드
- 새 실행 파일 기준으로 Cache 재생성
프로젝트 구성
개발 단계
UnrealEditor
Script 직접 로드
Hot Reload 사용
통합 테스트
Development 패키지
Client/Server 실제 실행
-as-simulate-cooked 검사
배포 단계
Shipping Client
Shipping Dedicated Server
PrecompiledScript.Cache
필요 시 AS_JITTED_CODE반응형
'TIL' 카테고리의 다른 글
| Angel Script 기반 간단한 멀티플레이 게임 만들기 (0) | 2026.08.12 |
|---|---|
| Angel Script을 이용한 서버 로직 분리 (0) | 2026.08.07 |
| UE Angel Script 문법 (0) | 2026.08.05 |
| Unreal Engine Angel Script (0) | 2026.08.03 |
| UE NetRole (0) | 2026.07.31 |