-
[UE5] GameFeatureUE5/Lyra Clone Coding 2025. 2. 7. 01:03
GameFeature
GameFeature 시스템은 Unreal Engine의 Modular Gameplay 시스템에서 제공하는 기능 중 하나로, 게임의 특정 기능이나 콘텐츠를 동적으로 로드하고 관리할 수 있도록 도와주는 시스템이야. 이를 활용하면 게임의 핵심 로직을 독립적인 모듈로 구성하고, 필요할 때 활성화하거나 비활성화할 수 있다.
GameFeature는 언리얼에서 추구하는 모듈화의 끝판왕이라고 볼 수 있다.
핵심 개념
- 독립적인 기능 모듈
- 특정 게임 기능(예: 새로운 무기 시스템, UI 확장, 캐릭터 능력 추가 등)을 별도의 모듈로 제작 가능.
- 기능을 독립적으로 개발하고 관리할 수 있음.
- 동적 로드 가능
- 특정 상황에서만 로드하거나, DLC처럼 선택적으로 활성화 가능.
- 예를 들어, PvP 모드는 멀티플레이어 전용 기능이므로, 필요할 때만 로드할 수 있음.
- Gameplay Ability System(GAS)과 연동 가능
- Gameplay Effect, Gameplay Ability, Gameplay Cue 등을 GameFeature에서 정의하고, 필요할 때 불러올 수 있음.
- 플러그인 기반 관리
- GameFeature는 기본적으로 플러그인(.uplugin) 형식으로 제작됨.
- 게임의 기본 실행 파일을 변경하지 않고도 기능을 추가하거나 제거할 수 있음.
Plugins->Game Feature Add -> Game Feature (wtih C++) 를 통해 ShooterCore라는 GameFeature를 생성해주면 Plugins->GameFeature 폴더에 ShooterCore C++파일이 생성되고,
GameFeatureData를 상속받는 DataAsset이 생성된다.
상태- Installed - 플러그인이 설치됨.
- Registered - 게임 내에서 사용 가능함.
- Loaded - 메모리에 로드됨.
- Activated - 실제로 활성화됨.
ShooterCore DataAsset Active상태에서는 등록된 Action이 실행된다.
예를 들어 특정한 시간동안 발생되는 이벤트가 있을때, 그 시간동안만 GameFeature를 켜고 시간이 지난 후 끄는 방식으로 사용할 수 있다.
Primary Asset Types to Scan의 경우 등록을 하면 AssetManager에 스캔이 등록된 것과 같은 효과가 난다.
GameFeature가 필요없어져 지워버리면 스캔 목록도 같이 없어져서 관리가 매우 쉬워진다.
'UE5 > Lyra Clone Coding' 카테고리의 다른 글
[UE5] CommonUser (0) 2025.02.06 [UE5] Camera (0) 2025.02.05 [UE5] PawnExtension(2) - 구성 요소 분석 (0) 2025.02.03 [UE5] PawnExtension (0) 2025.01.31 [UE5] Experience (0) 2025.01.23 - 독립적인 기능 모듈