언리얼 엔진에서 블루프린트 클래스를 만들면 가장 먼저 마주치는 선택지가 있습니다. 바로 Actor, Pawn, Character 중 어떤 부모 클래스를 선택할 것인가입니다.
세 클래스는 서로 완전히 별개가 아니라 다음과 같은 상속 관계를 가집니다.
Actor → Pawn → Character
즉, Pawn은 Actor의 기능을 물려받고, Character는 Pawn의 기능을 물려받습니다. 그렇다고 항상 기능이 많은 Character를 선택하는 것이 정답은 아닙니다. 플레이어가 조종할 필요가 없는 오브젝트까지 Character로 만들면 불필요한 구조와 기능이 추가될 수 있습니다.
이번 글에서는 Actor, Pawn, Character의 차이를 실제 게임 개발 사례와 함께 알아보고, 어떤 상황에서 어떤 클래스를 선택해야 하는지 정리하겠습니다.
저도 처음에는 기능이 가장 많은 Character를 사용하면 되는 줄 알았습니다.
그런데 실제 프로젝트를 만들다 보니 문, 아이템, 투사체처럼 직접 조종할 필요가 없는 오브젝트까지 Character로 만들 이유는 없었습니다.
반대로 플레이어나 보스처럼 이동과 충돌, Animation Blueprint를 함께 사용해야 하는 대상은 Character를 사용하는 편이 훨씬 편했습니다.
그래서 지금은 오브젝트의 외형보다 Controller가 조종해야 하는지, Character Movement가 필요한지를 기준으로 부모 클래스를 선택하고 있습니다.
💡 한 줄 정답 — Actor는 월드에 배치하거나 생성할 수 있는 모든 오브젝트의 기본 클래스이고, Pawn은 플레이어나 AI Controller가 조종할 수 있는 Actor이며, Character는 걷기와 점프에 필요한 충돌 및 이동 기능이 추가된 Pawn입니다. 직접 조종하지 않는 문이나 아이템은 Actor, 드론이나 차량처럼 특별한 이동체는 Pawn, 일반적인 사람형 플레이어나 적은 Character를 선택하면 됩니다.

목차
- Actor, Pawn, Character의 상속 관계
- Actor란 무엇인가?
- Pawn이란 무엇인가?
- Character란 무엇인가?
- Actor, Pawn, Character 차이 비교
- 어떤 클래스를 선택해야 할까?
- 실제 게임 개발 사례
- 초보자가 자주 하는 실수
- 마무리
- 참고 사이트
- 관련 글과 다음 글
Actor, Pawn, Character의 상속 관계
언리얼 엔진에서 Actor, Pawn, Character의 관계는 다음과 같습니다.
Object└─ Actor └─ Pawn └─ Character
여기서 상속이란 부모 클래스가 가진 변수와 기능을 자식 클래스가 물려받는 구조를 의미합니다.
Pawn은 Actor를 기반으로 만들어졌으므로 Actor처럼 레벨에 배치하거나 게임 도중 생성할 수 있습니다. 여기에 플레이어나 AI가 조종할 수 있는 기능이 추가됩니다.
Character는 Pawn을 기반으로 하며, 사람이나 몬스터처럼 두 발로 움직이는 캐릭터를 구현할 때 필요한 충돌, 메시, 이동 기능을 기본적으로 제공합니다.
간단하게 정리하면 다음과 같습니다.
- Actor: 월드에 존재하는 기본 오브젝트
- Pawn: 플레이어나 AI가 조종할 수 있는 Actor
- Character: 걷기와 점프 같은 이동 기능이 준비된 Pawn
기능이 단계적으로 추가되기 때문에 프로젝트의 모든 오브젝트를 Character로 만들 필요는 없습니다. 구현하려는 대상에 필요한 가장 적절한 부모 클래스를 선택하는 것이 중요합니다.
Actor란 무엇인가?
Actor는 언리얼 엔진의 레벨에 배치하거나 게임 도중 생성할 수 있는 오브젝트의 기본 클래스입니다.
Epic Games 공식 문서에서는 Actor를 카메라, 스태틱 메시 또는 Player Start처럼 레벨에 배치할 수 있는 모든 오브젝트라고 설명합니다. Actor는 위치, 회전, 크기 값을 가지며 블루프린트나 C++ 코드를 통해 생성하고 제거할 수도 있습니다. C++에서는 AActor가 모든 Actor의 기본 클래스입니다. Epic Games의 Actors and Geometry 문서
Actor를 부모 클래스로 만들기 좋은 대상은 다음과 같습니다.
- 문과 레버
- 아이템과 무기
- 총알과 투사체
- 보물상자
- 트리거 장치
- 움직이는 발판
- 전투 중 생성되는 범위 공격
- 게임 진행을 관리하는 오브젝트
Actor 자체는 플레이어나 AI에게 조종되는 것을 목적으로 만들어진 클래스가 아닙니다. 따라서 일반적인 Actor에는 Pawn처럼 Controller가 들어가서 조종하는 Possess 구조가 없습니다.
예를 들어 플레이어가 가까이 다가가면 열리는 문을 만든다고 가정해 보겠습니다. 문은 레벨에 존재하고 위치와 회전을 가지며, 오버랩 이벤트에 따라 회전하면 됩니다. 직접 조종할 필요가 없으므로 Pawn이나 Character보다 Actor가 적합합니다.
Actor와 Component의 관계
Actor는 여러 Component를 조합해 기능을 구성할 수 있습니다. Component는 Actor에 부착되는 기능 단위라고 이해하면 쉽습니다.
문 블루프린트는 다음과 같이 구성할 수 있습니다.
- Scene Component: 기준이 되는 루트
- Static Mesh Component: 문의 외형
- Box Collision Component: 플레이어 접근 감지
- Audio Component: 문이 열리는 소리
Actor는 하나의 껍데기이고, Component는 그 안에 조립하는 부품이라고 생각하면 됩니다. 공식 API 문서에서도 Actor는 여러 Actor Component를 포함할 수 있으며, 이를 통해 이동이나 렌더링 같은 기능을 구성할 수 있다고 설명합니다. Unreal Engine Actor API 문서

Pawn이란 무엇인가?
Pawn은 플레이어 또는 AI Controller가 조종할 수 있는 Actor입니다.
게임 월드에 존재하는 플레이어나 생물의 물리적인 표현이라고 볼 수 있습니다. Controller가 Pawn을 제어하는 행위를 언리얼 엔진에서는 Possess라고 합니다.
Pawn과 Controller의 관계를 간단히 나타내면 다음과 같습니다.
PlayerController 또는 AIController ↓ Possess Pawn
PlayerController는 사람의 입력을 처리하고, AIController는 인공지능의 판단에 따라 Pawn을 제어합니다. Pawn은 두 Controller 중 하나가 조종할 수도 있고, 상황에 따라 Controller 없이 월드에 존재할 수도 있습니다.
Epic Games 문서에서도 Pawn을 플레이어나 AI가 Possess할 수 있는 모든 Actor의 기본 클래스로 정의합니다. Unreal Engine Pawn API 문서
Pawn을 사용하기 좋은 사례는 다음과 같습니다.
- 드론
- 비행기
- 탱크
- 보드게임의 말
- 일반적인 사람형 이동과 다른 생물
- 직접 제작한 이동 시스템을 사용하는 오브젝트
- 관전자용 카메라 Pawn
중요한 점은 기본 Pawn이 Character와 동일한 보행 시스템을 자동으로 제공하지는 않는다는 것입니다. Pawn을 선택했다면 프로젝트에 맞는 Movement Component를 사용하거나 이동 로직을 직접 구성해야 할 수 있습니다.
따라서 사람형 캐릭터를 만들면서 걷기, 점프, 중력, 경사면 처리가 필요하다면 Pawn을 처음부터 직접 구성하기보다 Character를 사용하는 편이 일반적으로 효율적입니다.

Character란 무엇인가?
Character는 Pawn을 상속받은 클래스로, 사람이나 몬스터처럼 세로로 서서 이동하는 캐릭터를 구현하기 위한 기본 구조를 제공합니다.
Character에는 일반적으로 다음과 같은 핵심 Component가 준비되어 있습니다.
- Capsule Component: 캐릭터의 기본 충돌 처리
- Skeletal Mesh Component: 캐릭터 외형과 애니메이션 표현
- Character Movement Component: 걷기, 점프, 낙하 등의 이동 처리
Character Movement Component는 걷기, 낙하, 수영, 비행 및 사용자 정의 이동 모드를 지원합니다. Epic Games의 Character Movement Component 문서
Character가 적합한 대표적인 대상은 다음과 같습니다.
- 1인칭 또는 3인칭 플레이어
- 인간형 적 캐릭터
- 보스 캐릭터
- 걷고 뛰는 NPC
- 점프와 낙하가 필요한 생물
- 네트워크 이동이 필요한 멀티플레이 캐릭터
예를 들어 3인칭 액션 게임의 주인공에게 이동, 점프, 회피, 공격 기능을 추가한다고 가정해 보겠습니다. 이때 Character를 사용하면 기본 이동과 충돌 처리를 처음부터 만들 필요가 없습니다.
그 위에 다음과 같은 기능을 추가하면 됩니다.
- Enhanced Input을 이용한 이동과 시점 입력
- Animation Blueprint를 이용한 이동 애니메이션
- 공격 Montage와 콤보 시스템
- 체력과 Damage System
- 회피와 무적 시간
- Motion Warping을 이용한 공격 위치 보정
Character는 단순히 움직이는 Skeletal Mesh가 아닙니다. 충돌과 이동을 함께 처리하는 게임플레이용 클래스라는 점이 핵심입니다.
Actor, Pawn, Character 차이 비교
| 구분 | Actor | Pawn | Character |
|---|---|---|---|
| 상속 관계 | 기본 클래스 | Actor의 자식 | Pawn의 자식 |
| 레벨 배치 | 가능 | 가능 | 가능 |
| 게임 중 Spawn | 가능 | 가능 | 가능 |
| Controller의 Possess | 기본적으로 대상 아님 | 가능 | 가능 |
| 기본 보행 시스템 | 없음 | 없음 | 제공 |
| Capsule Collision | 직접 추가 | 직접 구성 | 기본 제공 |
| Skeletal Mesh | 필요하면 추가 | 필요하면 추가 | 기본 제공 |
| 대표 사용 사례 | 문, 아이템, 총알 | 드론, 탱크, 특수 이동체 | 플레이어, NPC, 인간형 적 |
선택 기준을 한 문장으로 정리하면 다음과 같습니다.
조종할 필요가 없으면 Actor, 조종해야 하지만 일반적인 사람형 이동이 아니면 Pawn, 걷고 뛰는 캐릭터라면 Character를 우선 검토합니다.
다만 이것은 절대적인 규칙은 아닙니다. 게임의 이동 방식과 설계에 따라 사람 형태의 오브젝트도 Pawn으로 만들 수 있고, 특수한 이동을 하는 Character를 제작할 수도 있습니다.
어떤 클래스를 선택해야 할까?
새로운 블루프린트를 만들기 전에 아래 질문을 순서대로 확인해 보세요.
플레이어나 AI가 조종해야 하는가?
조종할 필요가 없다면 Actor가 가장 먼저 고려할 선택입니다.
문, 아이템, 투사체, 스킬 범위, 상호작용 장치처럼 스스로 게임 로직을 실행하지만 Controller가 필요하지 않은 대상은 대부분 Actor로 충분합니다.
Controller가 Possess해야 하는가?
플레이어 또는 AI가 해당 오브젝트를 조종해야 한다면 Pawn 이상을 선택합니다.
예를 들어 탱크의 본체를 조종하거나 특정 카메라로 시점을 전환해야 한다면 Pawn 구조가 적합할 수 있습니다.
걷기와 점프가 필요한 캐릭터인가?
바닥을 따라 걷고, 경사면을 오르며, 점프하고, 중력의 영향을 받아 떨어지는 캐릭터라면 Character가 유리합니다.
특히 일반적인 1인칭 또는 3인칭 게임은 Character를 선택하면 기본 이동 시스템을 활용할 수 있어 개발 시간을 줄일 수 있습니다.
실제 게임 개발 사례
3인칭 전투 게임을 예로 들어보겠습니다. 프로젝트에는 플레이어, 보스, 검, 회복 아이템, 투사체가 존재합니다.
플레이어와 보스
플레이어와 보스는 맵을 걸어 다니고, 공격 애니메이션을 실행하며, 충돌과 낙하를 처리해야 합니다. 따라서 Character가 적합합니다.
BP_PlayerCharacterBP_BossCharacter
플레이어는 PlayerController가 Possess하고, 보스는 AIController가 Possess하도록 구성할 수 있습니다.
검과 회복 아이템
검이나 회복 아이템은 월드에 존재하지만 직접 조종할 필요가 없습니다. 따라서 Actor로 구현할 수 있습니다.
BP_SwordBP_HealthPotion
필요한 경우 Static Mesh, Collision, Particle System 같은 Component를 추가합니다.
투사체
보스가 발사하는 에너지 구체도 일반적으로 Actor로 만듭니다. Projectile Movement Component를 추가하면 Character가 아니어도 속도와 중력을 적용할 수 있습니다.
BP_BossProjectile
움직인다는 이유만으로 Pawn이나 Character를 선택해야 하는 것은 아닙니다. Controller가 조종해야 하는지, 그리고 Character의 보행 기능이 필요한지가 더 중요한 판단 기준입니다.
드론과 탱크
드론은 공중을 자유롭게 이동하고 탱크는 바퀴나 궤도에 맞는 이동 방식이 필요합니다. 일반적인 Character Movement와 맞지 않을 수 있으므로 Pawn 또는 전용 Pawn 클래스를 고려할 수 있습니다.
결국 외형이 아니라 조종 방법과 이동 방식을 기준으로 부모 클래스를 선택해야 합니다.
제가 만들고 있는 3인칭 전투 프로젝트에서도 플레이어와 보스는 Character를 기반으로 구성하고 있습니다.
플레이어와 보스는 이동뿐 아니라 Capsule Collision, Animation Blueprint, 공격 Montage, Damage 처리까지 함께 연결해야 하기 때문에 Character를 사용하는 편이 관리하기 편했습니다.
반면 공격 중 생성되는 투사체나 범위 공격처럼 플레이어나 AI가 직접 조종할 필요가 없는 오브젝트는 Actor로 처리하는 편이 구조가 단순했습니다.
이 과정을 거치면서 느낀 점은 움직이는지 여부보다 Controller가 Possess해야 하는지가 더 중요한 기준이라는 것입니다.
초보자가 자주 하는 실수
모든 블루프린트를 Character로 만드는 경우
Character는 편리하지만 Capsule Component와 Character Movement Component 등 캐릭터 이동에 필요한 구조가 포함됩니다. 단순한 아이템이나 문까지 Character로 만들 필요는 없습니다.
기능이 많다는 이유만으로 부모 클래스를 선택하면 프로젝트 구조를 이해하기 어려워지고 불필요한 설정도 늘어납니다.
움직이는 오브젝트는 모두 Pawn이라고 생각하는 경우
움직임 자체는 Pawn만의 기능이 아닙니다. Actor도 Timeline, Interpolation, Projectile Movement Component 또는 직접 작성한 로직을 이용해 움직일 수 있습니다.
움직이는 발판과 총알은 움직이지만 Controller가 Possess할 필요가 없으므로 Actor가 더 적합합니다.
Pawn을 만들면 바로 걸을 수 있다고 생각하는 경우
Pawn은 조종 가능한 구조를 제공하지만, Character처럼 보행 기능이 완성되어 있다는 뜻은 아닙니다. 기본 Pawn을 선택했다면 이동을 처리할 Component와 입력 로직을 확인해야 합니다.
Character의 Capsule을 무시하는 경우
Character의 이동과 충돌은 Capsule Component를 중심으로 처리됩니다. 캐릭터 메시만 보고 공격 판정이나 벽 충돌을 설정하면 눈에 보이는 외형과 실제 충돌 위치가 어긋날 수 있습니다.
Capsule 크기, Skeletal Mesh 위치, 바닥 기준을 함께 조정해야 합니다.
Auto Possess 설정을 확인하지 않는 경우
Pawn이나 Character를 레벨에 배치했는데 입력이 작동하지 않는다면 다음 항목을 확인해야 합니다.
- GameMode의 Default Pawn Class가 올바른가?
- PlayerController가 올바르게 지정되었는가?
- 레벨에 직접 배치했다면 Auto Possess Player 설정이 맞는가?
- AI라면 AI Controller Class와 Auto Possess AI 설정이 맞는가?
- Enhanced Input Mapping Context가 추가되었는가?
클래스 선택이 맞더라도 Controller가 Pawn을 Possess하지 못하면 플레이어 입력이나 AI 제어가 정상적으로 동작하지 않습니다.
실제로 Character를 레벨에 배치했는데 키 입력이 전혀 들어오지 않는다면 Blueprint 로직부터 수정하기보다 먼저 Possess 상태를 확인하는 것이 좋습니다.
Character 클래스 자체가 정상이어도 PlayerController가 해당 Character를 Possess하지 못하면 입력은 전달되지 않습니다.
PIE 실행 후 플레이어가 어떤 Pawn을 Possess하고 있는지 확인하고, 레벨에 직접 배치한 Character라면 Auto Possess Player가 올바르게 설정되어 있는지도 함께 확인합니다.
AI Character라면 AI Controller Class와 Auto Possess AI도 같이 확인해야 합니다.
이런 식으로 확인하면 입력 문제인지 Character Blueprint 문제인지 빠르게 구분할 수 있습니다.

마무리
Actor, Pawn, Character의 차이는 단순히 이름을 외우는 것보다 상속 관계와 조종 구조를 이해하는 것이 중요합니다.
- Actor는 레벨에 존재하는 오브젝트의 기본 클래스입니다.
- Pawn은 PlayerController 또는 AIController가 Possess할 수 있는 Actor입니다.
- Character는 충돌, Skeletal Mesh, 보행 기능이 준비된 Pawn입니다.
클래스를 선택할 때는 “이 오브젝트가 움직이는가?”만 묻기보다 다음 두 가지를 확인해 보세요.
- PlayerController 또는 AIController가 조종해야 하는가?
- 걷기와 점프를 포함한 Character 이동 기능이 필요한가?
이 두 질문만 명확히 해도 대부분의 상황에서 알맞은 부모 클래스를 선택할 수 있습니다.
직접 프로젝트를 만들면서 가장 헷갈렸던 부분은 “움직이는 오브젝트니까 Pawn을 써야 하나?”라는 기준이었습니다.
하지만 실제로 사용해보니 움직이는 것보다 Controller가 조종해야 하는지, 그리고 Character Movement가 필요한지를 기준으로 생각하는 편이 훨씬 명확했습니다.
지금은 플레이어나 보스처럼 걷고 뛰며 Animation Blueprint와 전투 시스템을 사용하는 대상은 Character, 직접 조종할 필요 없는 투사체나 상호작용 오브젝트는 Actor를 우선 사용하고 있습니다.
참고 사이트
언리얼 엔진의 Gameplay Framework는 엔진 버전에 따라 세부 설정이나 인터페이스가 달라질 수 있으므로 Epic Games 공식 문서를 함께 확인하는 것이 좋습니다.
- Actors and Geometry in Unreal Engine
Actor의 기본 개념과 레벨에 배치되는 주요 Actor 유형을 확인할 수 있습니다. - Unreal Engine Actor API
Actor의 역할과 Component 구성, 네트워크 복제와 관련된 속성을 살펴볼 수 있습니다. - Unreal Engine Pawn API
Pawn이 플레이어 또는 AI에게 Possess되는 구조와 주요 속성을 확인할 수 있습니다. - Character Movement Component
Character가 지원하는 걷기, 낙하, 수영, 비행 및 사용자 정의 이동 모드를 확인할 수 있습니다. - Epic Developer Community
공식 튜토리얼과 개발 사례, 커뮤니티 게시물에서 Gameplay Framework와 캐릭터 제작 방법을 추가로 학습할 수 있습니다.