ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [UE5] GameFeature
    UE5/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
Designed by Tistory.