메인 콘텐츠로 건너뛰기

게임 이벤트 에디터

이벤트 라이브러리를 정리, 개선 및 유지관리하기 위한 기본 작업 공간입니다. **게임 이벤트 생성기**가 새로운 이벤트를 생성하기 위한 도구라면, 에디터는 생성된 이벤트의 전체 라이프사이클을 관리하는 곳입니다.

alt text


🚀 에디터 열기

다음 방법을 통해 에디터에 접속할 수 있습니다:

시스템 대시보드에서:

게임 이벤트 시스템 창 → "Game Event Editor" 버튼 클릭

alt text


🎛️ 설정 바 (Configuration Bar)

윈도우 상단에 위치한 이 바는 작업 범위를 결정합니다.

Configuration Bar

매니저 선택 (Manager Selection)

목적: 에디터를 현재 씬에서 활성화된 GameEventManager에 연결합니다.

동작:

  • ✅ 시작 시 매니저를 자동 감지합니다.
  • 🔄 씬을 전환할 때 자동으로 업데이트됩니다.
  • 📌 핀 버튼을 클릭하면 해당 매니저의 인스펙터를 엽니다.
멀티 씬 워크플로우

여러 씬이 열려 있는 경우, 에디터는 **활성화된 씬(Active Scene)**에 있는 매니저를 타겟팅합니다. 연결을 업데이트하려면 해당 씬을 활성화하십시오.


데이터베이스 선택기 (Database Selector)

작업에 집중할 수 있도록 서로 다른 이벤트 데이터베이스 간을 전환합니다.

alt text

활성화된 데이터베이스만 표시됩니다

드롭다운 목록에는 **게임 이벤트 매니저**에서 Active로 표시된 데이터베이스만 나타납니다. 데이터베이스가 보이지 않는다면 매니저 인스펙터에서 활성화 상태를 확인하십시오.


🛠️ 툴바 및 표시 모드

대규모 이벤트 라이브러리를 관리하기 위한 강력한 필터링 및 뷰 제어 기능을 제공합니다.

Editor Toolbar

표시 모드 (View Modes)

두 가지 표시 전략을 전환할 수 있습니다.

모드아이콘용도동작
페이지 모드1 / 5대규모 데이터베이스 (이벤트 100개 이상)이벤트를 페이지 단위로 표시 (페이지당 10~100개)
전체 모드그리드 아이콘소규모 데이터베이스 또는 일괄 작업모든 이벤트를 하나의 스크롤 가능한 목록으로 표시

모드 전환:

  • 툴바의 그리드 아이콘을 클릭합니다.
  • 설정값은 세션 간에 저장됩니다.

페이지 크기 옵션: 페이지당 10, 20, 50, 100개의 이벤트 표시 (숫자를 클릭하여 변경)


🧩 스마트 필터링 시스템

필요한 이벤트를 정확히 찾기 위한 세 단계 필터링입니다.

카테고리 매칭

특정 카테고리에 속한 이벤트만 표시합니다.

사용법

  • Category: All ➔ 🟦 모든 이벤트 표시
  • Category: Combat ➔ 🟥 전투 관련 이벤트만 표시 (Damage, Death, Spawn 등)
  • Category: UI ➔ 🟩 UI 관련 이벤트만 표시 (Click, Hover, Open 등)
출처

카테고리는 목록에서 편집 가능한 이벤트의 Category 필드에 정의됩니다.


🔀 다중 레이어 필터링 (조합)

세 가지 필터는 AND 로직으로 함께 작동하여 가장 구체적인 결과를 찾을 수 있도록 돕습니다.

예시 시나리오 특정 체력 관련 전투 이벤트를 찾으려면 다음과 같이 설정할 수 있습니다:

🟦 Category: Combat ➕ 🔢 Type: Int32 ➕ ⌨️ Search: damage

🎯 결과:

🔍 카테고리가 Combat이고, 타입이 Integer이며, 이름에 "damage"가 포함된 이벤트만 표시됩니다 (예: OnDamageTaken).

🧹 빠른 리셋

처음부터 다시 시작해야 하나요? 전체 목록으로 즉시 돌아갈 수 있습니다.

  • 방법: 카테고리와 타입을 All로 설정하고 검색 바를 비웁니다.
  • 단축키: 검색 바의 × 버튼을 누르고 드롭다운에서 "All"을 선택하면 즉시 전체 뷰가 복원됩니다.
전문가 팁: 효율성

시스템은 서로 다른 데이터베이스 탭 사이를 이동할 때도 필터 설정을 기억하여 원활한 워크플로우를 보장합니다.


📝 이벤트 목록

각 행은 편집 가능한 속성과 액션 버튼을 가진 하나의 이벤트 에셋을 나타냅니다.

Event List Row

편집 가능한 필드

카테고리 필드

이벤트를 논리적 그룹으로 정리합니다.

사용법:

  • 클릭하여 편집합니다.
  • Enter를 누르거나 다른 곳을 클릭하여 저장합니다.
  • 변경 사항은 즉시 적용됩니다.

액션 버튼

행마다 위치한 4개의 버튼을 통해 관련 도구에 빠르게 접근할 수 있습니다.

📄 참조 필드 (읽기 전용)

전체 타입 시그니처와 함께 실제 이벤트 에셋을 보여줍니다.

액션:

  • 클릭: 프로젝트 창에서 해당 에셋을 선택하고 강조(Ping)합니다.
  • 우클릭: 다음 옵션이 포함된 컨텍스트 메뉴를 엽니다:
    • GUID 복사
    • 이름 복사
    • 프로젝트에서 찾기 (Ping)
    • 에셋 열기

🎯 비헤이비어 버튼 (색상 표시)

고급 이벤트 동작(액션, 조건, 지연, 반복, 루프 및 지속성)을 설정합니다.

버튼 상태:

색상아이콘의미툴팁
🟢 녹색설정됨 (인스펙터)인스펙터 바인딩이 존재함
🔵 파란색설정됨 (런타임)런타임 리스너가 존재함
🟡 주황색설정되지 않음아직 바인딩이 없음

전체 이벤트 비헤이비어 설정에 대해 알아보려면 **게임 이벤트 비헤이비어 창**을 확인하십시오.


🔍 레퍼런스 파인더

현재 씬에서 이 이벤트가 어디에 사용되고 있는지 찾습니다.

사용 사례: 이벤트를 삭제하기 전에, 사용 중인 곳이 있는지 확인하십시오.

강력한 씬 참조 검색 기능에 대해 자세히 알아보려면 **게임 이벤트 레퍼런스 창**으로 이동하십시오.


🗑️ 삭제 버튼

데이터베이스에서 이벤트 에셋을 제거합니다.

동작:

  1. 휴지통 아이콘 클릭
  2. 확인 대화 상자 표시
  3. 이벤트 상세 정보(이름, 타입, 카테고리) 확인
  4. 확인 ➔ 이벤트 영구 삭제

삭제되는 항목:

  • ✅ 이벤트 에셋 (.asset 파일)
  • ✅ 데이터베이스 내 하위 에셋 항목
  • ✅ 매니저에 등록된 관련 바인딩

영향 범위:

  • ❌ 씬은 깨지지 않습니다 (참조는 Missing 상태가 됨).
  • ❌ 스크립트 에러는 발생하지 않습니다 (null 체크가 되어 있어야 함).
복구 불가

삭제는 영구적입니다. 삭제 전 반드시 레퍼런스 파인더를 사용하여 사용 처리를 확인하십시오.


⚡ 글로벌 액션 (우측 상단 툴바)

관련 워크플로우에 빠르게 접근합니다.

🕸️ 플로우 그래프 (Flow Graph)

시각적 이벤트 체인과 오케스트레이션 로직을 구축합니다.

버튼: "Flow Graph"

연결 페이지: 게임 이벤트 플로우 에디터

사용 시기:

  • 이벤트 A가 이벤트 B, C, D를 트리거해야 할 때
  • 지연 시간을 포함한 순차적 실행이 필요할 때
  • 복잡한 조건부 분기를 구축할 때

➕ 새 이벤트 (New Event)

여러 이벤트를 한 번에 일괄 생성합니다.

버튼: "New Event"

연결 페이지: 게임 이벤트 생성기

사용 시기:

  • 동일하거나 서로 다른 타입의 많은 이벤트를 생성할 때
  • 커스텀 타입으로부터 이벤트를 생성할 때
  • 대량 이벤트 생성 워크플로우가 필요할 때

🗑️ 이벤트 삭제 (일괄 모드)

대규모 데이터베이스를 효율적으로 유지관리하기 위해 에디터는 전용 일괄 삭제 모드를 지원합니다.

일괄 모드 진입

표준 툴바의 맨 오른쪽에 있는 Delete Event 버튼(아래 이미지 참조)을 클릭하여 선택 인터페이스를 토글합니다.

alt text

선택 컨트롤

버튼을 클릭하면 툴바가 일괄 작업을 제공하도록 변하며, 각 이벤트 행 옆에 선택 체크박스가 나타납니다.

alt text

액션설명
Select All목록에 현재 표시된 모든 이벤트를 체크합니다 (활성 필터 적용 상태 유지).
Delete영구 삭제를 위해 선택된 모든 이벤트 목록을 보여주는 최종 확인 대화 상자를 엽니다.
Cancel일괄 모드를 종료하고 변경 사항 없이 모든 현재 선택을 해제합니다.

워크플로우 단계:

  1. Delete Event를 클릭하여 선택 모드로 진입합니다.
  2. 특정 이벤트를 수동으로 체크하거나 Select All을 사용합니다.
  3. Delete를 클릭하여 제거를 진행하거나, Cancel을 눌러 표준 뷰로 돌아갑니다.
일괄 삭제 주의사항
  • 되돌리기 불가: 일괄 삭제는 취소할 수 없습니다.
  • 필터 영향: "Select All"은 현재 필터 기준(카테고리/타입/검색)을 충족하는 이벤트에만 영향을 미칩니다.
  • 정렬 비활성화: 일괄 모드 중에는 실수로 행을 옮기는 것을 방지하기 위해 드래그 앤 드롭 정렬 핸들(☰)이 숨겨집니다.

🎨 행 순서 변경 (드래그 앤 드롭)

행을 드래그하여 이벤트 순서를 변경할 수 있습니다.

정렬 방법:

  1. 행 왼쪽에 있는 핸들 아이콘(☰) 위에 마우스를 올립니다.
  2. 클릭한 채로 수직으로 드래그합니다.
  3. 원하는 위치에서 놓습니다.

활성화 조건:

  • ✅ 활성 필터가 없는 경우 (Category: All, Type: All, 검색어 비어 있음)
  • ✅ 일괄 삭제 모드가 아닌 경우

비활성화 조건:

  • ❌ 필터가 하나라도 활성화된 경우 (시각적 연속성을 해칠 수 있음)
  • ❌ 일괄 삭제 모드가 활성화된 경우

순서가 중요한 이유: 이벤트 순서는 다음 사항에 영향을 미칩니다:

  • 드롭다운 메뉴에서의 표시 순서
  • 일부 도구에서의 알파벳순 그룹화
  • 개인적인 정리 선호도
데이터베이스별 독립 순서

각 데이터베이스는 고유한 이벤트 순서를 가집니다. 데이터베이스를 전환해도 개별 순서는 유지됩니다.


📊 통계 배지 (Statistics Badge)

헤더에 위치하며, 실시간 이벤트 수를 보여줍니다.

표시 예시: 150 Events

카운트 대상:

  • 현재 선택된 데이터베이스의 전체 이벤트 수
  • 이벤트 생성/삭제 시 즉시 업데이트됨
  • 필터가 활성화된 경우 필터링된 결과 수를 반영함

❓ 문제 해결

이 섹션은 일반적인 문제와 그 해결 방법을 다룹니다. 여기에 나열되지 않은 문제가 발생하면 콘솔의 에러 로그를 확인하십시오.


1. 이벤트가 나타나지 않음

문제: 이벤트를 생성했지만 목록에 보이지 않습니다.

활성 데이터베이스 확인

  1. Database 드롭다운 메뉴를 확인합니다.
  2. 올바른 데이터베이스가 선택되었는지 확인합니다.
  3. 목록을 새로고침하기 위해 데이터베이스를 전환해 봅니다.

필터 확인

  • CategoryAll로 설정합니다.
  • TypeAll로 설정합니다.
  • 검색 바를 비웁니다.
  • 필터 리셋 후 이벤트가 나타나는지 확인합니다.

매니저 상태 확인

  1. Manager 필드 클릭 -> Ping Inspector.
  2. 데이터베이스가 Active(녹색 배지) 상태인지 확인합니다.
  3. Inactive 상태라면 스위치를 Active로 토글합니다.
동적 컴파일

위의 확인 사항이 모두 정상임에도 보이지 않는다면, 아무 코드나 수정하여 유니티 컴파일을 트리거해 보십시오. 컴파일 후 데이터베이스 상태가 업데이트됩니다. 그 후 에디터 창에서 생성된 이벤트가 나타나는지 다시 확인하십시오.

알 수 없는 예외

여전히 생성할 수 없는 경우 개발자에게 문의해 주십시오.


2. 이벤트 속성 편집 불가

문제: CategoryName 필드가 회색으로 표시되어 편집할 수 없습니다.

잠재적 원인: 이벤트가 **잠긴 에셋(locked asset)**의 일부이거나, 데이터베이스 파일이 읽기 전용으로 설정되어 있을 수 있습니다.

해결 방법:

  • 프로젝트의 데이터베이스 파일이 쓰기 가능한지 확인하십시오 (OS에서 읽기 전용 여부 확인).
  • 현재 **프리팹 격리 모드(Prefab Isolation Mode)**가 아닌지 확인하십시오.
  • 버전 관리 시스템(예: Perforce 또는 Git LFS)에서 이벤트 에셋이 잠겨 있거나 체크아웃되지 않았는지 확인하십시오.

3. 순서 변경이 작동하지 않음

문제: 행을 드래그하여 이벤트 순서를 바꿀 수 없습니다.

체크리스트: 드래그 앤 드롭 정렬을 사용하려면 다음 조건을 충족해야 합니다:

  • 모든 필터(카테고리/타입)가 **"All"**로 설정되어 있습니까?
  • 검색 바가 비어 있습니까?
  • 일괄 삭제 모드가 아닌 상태입니까?
경고

순서 변경은 필터링 되지 않은 전체 목록 보기 모드에서만 가능합니다.


4. 비헤이비어 버튼이 열리지 않음

문제: 비헤이비어 버튼을 클릭해도 아무런 동작이 일어나지 않습니다.

매니저 할당 확인

Manager 필드가 None인 경우:

  1. 일반적으로 자동 감지(Auto-detect) 시스템이 찾아냅니다.
  2. 감지에 실패하면 씬에서 매니저 오브젝트를 필드로 직접 드래그하십시오.

콘솔 에러 확인

  • Console 윈도우를 엽니다 (Ctrl+Shift+C).
  • 빨간색 에러(예외)가 있는지 확인합니다.
  • 스크립트 에러가 UI 이벤트를 차단할 수 있으므로, 컴파일 문제를 먼저 해결하십시오.
워크플로우 권장 사항

이 창을 인스펙터 옆에 탭으로 고정해 두십시오. 목록에서 이벤트를 선택하면 인스펙터에 전체 에셋 상세 정보가 표시되므로, 작업 공간을 벗어나지 않고도 속성을 빠르게 확인할 수 있습니다.