[TIL] 2026-01-22 | UE GameplayTags

2026. 1. 22. 14:51·내배캠Unreal_TIL/UE
역량강화 분반 - 챌린지 - GAS

GAS

Gameplay Ability System은
👉 능력(스킬), 속성(체력, 마나 등), 효과(버프/디버프) 를 데이터 기반 + 네트워크 친화적으로 관리하는 언리얼 공식 프레임워크

 

첫번째로 언리얼 엔진 GameplayTags를 알아보겠습니다.

 

게임을 제작할 때 캐릭터의 상태를 관리해야합니다.

bool bIsJumping; 와 같이 상태를 bool을 통해 관리하게 되면 🤯🤯

 

이 때 사용하는 것이

GameplayTags!

GameplayTags = 계층적 태그 시스템
▷ 점(.)으로 구분된 계층적 문자열 태그 시스템

 

📌특징

  • FName 기반 (경량, 빠름)
  • 에디터에서 관리 가능
  • 네트워크 복제 자동

Tag 구조

GameplayTagContainer는 Tag들의 집합

// C++ 예시 (참고용)
FGameplayTagContainer CharacterTags;

// Tag 추가
CharacterTags.AddTag(FGameplayTag::RequestGameplayTag("Character.State.Jumping"));

// Tag 제거
CharacterTags.RemoveTag(FGameplayTag::RequestGameplayTag("Character.State.Jumping"));

// Tag 확인
bool bIsJumping = CharacterTags.HasTag(FGameplayTag::RequestGameplayTag("Character.State.Jumping"));

 

Blueprint에서는?

 

Tag Query

복잡한 조건도 가능

Query: "Character.State.Attacking이 있으면서, Character.Status.Stunned가 없으면"

 

계층 구조

"Character.State.Attacking"
  • 전체 이름: Character.State.Attacking
  • 부모: Character.State
  • 최상위 부모: Character

▷ 부모 Tag로 그룹 검색이 가능하다!

 


GameplayTags 플러그인 활성화

  1. Edit → Plugins
  2. 검색창에 Gameplay Tags 입력 → GameplayTagsEditor 플러그인 확인

 

Tag 생성

방법 1: Project Settings에서 생성

  1. Project Settings → GameplayTags 섹션
  2. Gameplay Tags → + 버튼 클릭
  3. Add New Tag 선택
  4. Tag Name: Character.State.Jumping 입력
  5. Comment: 캐릭터가 점프 중 (선택)
  6. Add Tag
  7. Save

방법 2: INI 파일 직접 수정

파일 위치: Config/DefaultGameplayTags.ini

[/Script/GameplayTags.GameplayTagsSettings]
+GameplayTagList=(Tag="Character.State.Jumping",DevComment="점프 중 상태")

 

Tag 명명 규칙

❗Epic 권장 명명 규칙카테고리.서브카테고리.구체적이름

 

좋은 예

  • Character.State.Jumping
  • Combat.Window.Combo
  • Ability.Input.LightAttack

나쁜 예

  • Jumping (너무 짧음, 카테고리 없음)
  • Character_State_Jumping (언더스코어 대신 점 사용)
  • character.state.jumping (소문자, 대문자 섞어 쓰기)

💡Tip

일관성이 중요! 프로젝트 전체에서 같은 규칙 사용

 

응용

1. 공격 상태 관리

"Character.State.Attacking" Tag 추가
  ↓
공격 중엔 점프 불가

2. 무적 상태

"Character.Status.Invincible" Tag 추가
  ↓
데미지 계산 시 Tag 체크
  ↓
무적이면 데미지 무시

3. 콤보 윈도우

"Combat.Window.Combo" Tag 추가
  ↓
윈도우 열려있을 때만 다음 공격 가능

4. AI 상태 관리

"AI.State.Chasing" Tag
  ↓
StateTree 조건으로 사용

 

'내배캠Unreal_TIL > UE' 카테고리의 다른 글

[TIL] 2026-01-23 | 캐릭터 에셋 끄적거리기, 리깅이 안되어 있을 때  (4) 2026.01.23
[TIL] 2026-01-22 | Automata, State Machine  (0) 2026.01.22
[TIL] 2026-01-21 | UE 게임 기초 시스템 구현  (0) 2026.01.21
[TIL] 2026-01-20 | 과제 6에 타이머로 자동문 추가  (2) 2026.01.20
[TIL] 2026-01-19 | UE 아이템 시스템 구현하기 (2), Timer, SpawnActor  (0) 2026.01.19
'내배캠Unreal_TIL/UE' 카테고리의 다른 글
  • [TIL] 2026-01-23 | 캐릭터 에셋 끄적거리기, 리깅이 안되어 있을 때
  • [TIL] 2026-01-22 | Automata, State Machine
  • [TIL] 2026-01-21 | UE 게임 기초 시스템 구현
  • [TIL] 2026-01-20 | 과제 6에 타이머로 자동문 추가
윤윤씨
윤윤씨
🎮 내일배움캠프 Unreal 7기
  • 윤윤씨
    컴퓨터온열맛사지
    윤윤씨
  • 전체
    오늘
    어제
    • 분류 전체보기 (62) N
      • 내배캠Unreal_TIL (62) N
        • C++ (23)
        • UE (31) N
        • 팀프로젝트 (7)
      • etc (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Github
    • Solved.ac
    • YouTube
  • 태그

    프로그래머스
    STL
    코드카타
    오토마타
    스테이트머신
    챌린지
    gas
    디자인패턴
    언리얼과제
    머티리얼
    ta
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.6
윤윤씨
[TIL] 2026-01-22 | UE GameplayTags
상단으로

티스토리툴바