언리얼 엔진에서 공격 애니메이션이나 스킬을 구현하다 보면 단순히 Animation Sequence를 재생하는 것만으로는 부족한 순간이 옵니다.
예를 들어 공격 버튼을 눌렀을 때 펀치 애니메이션을 재생하고, 주먹이 적에게 닿는 정확한 순간에 공격 판정을 활성화하고, 타격 사운드와 이펙트도 함께 발생시키고 싶다고 해보겠습니다.
이런 기능을 구현할 때 핵심적으로 사용되는 것이 Animation Montage와 Anim Notify입니다.
Animation Montage는 여러 Animation Sequence를 하나의 자산에서 제어하고 Blueprint를 통해 재생하거나 Section 단위로 분기할 수 있는 기능입니다. Epic Games 공식 Unreal Engine 5.8 문서에서도 Montage는 여러 Animation Sequence를 하나의 Asset으로 결합하고 Blueprint에서 재생을 제어할 수 있다고 설명합니다.
Anim Notify는 Animation Timeline의 특정 시점에서 이벤트를 발생시키는 기능입니다. 발소리, 공격 판정, 파티클, 사운드처럼 애니메이션과 정확한 타이밍을 맞춰야 하는 기능에 활용할 수 있습니다.
💡 한 줄 정답 — Animation Montage는 공격이나 스킬 Animation의 재생 순서와 Section을 제어하는 기능이고, Anim Notify는 Animation의 특정 프레임에서 게임플레이 이벤트를 실행하는 기능입니다. 전투 시스템에서는 Play Montage → Anim Notify → Trace/Collision → Damage 구조를 기본으로 이해하면 활용하기 쉽습니다.
목차
- Animation Montage란?
- 일반 Animation Sequence와 Montage 차이
- Animation Montage 만드는 방법
- Play Montage로 애니메이션 재생하기
- Montage Section이란?
- Montage Section으로 콤보 만들기
- Anim Notify란?
- Anim Notify 만드는 방법
- Anim Notify로 공격 판정 실행하기
- Anim Notify State는 무엇인가?
- Notify로 사운드와 이펙트 실행하기
- Montage가 중간에 끊기는 원인
- Montage가 재생되지 않을 때 확인할 것
- Montage와 State Machine은 어떻게 나눌까?
- 마무리
Animation Montage란?
Animation Montage는 여러 Animation Sequence를 하나의 Asset 안에서 구성하고 Blueprint를 통해 원하는 시점에 재생할 수 있도록 만들어주는 시스템입니다.
일반적인 이동 Animation을 생각하면
Idle
Walk
Run
Jump
같은 Animation은 Animation Blueprint의 State Machine으로 관리하는 경우가 많습니다.
반면 공격이나 스킬처럼 플레이어 입력에 따라 즉시 실행해야 하는 Animation은 Montage를 활용하기 좋습니다.
Attack Input
↓
Play Montage
↓
Attack Animation
Montage 하나 안에 여러 Animation을 넣을 수도 있습니다.
AM_AttackCombo
│
├─ Attack01
├─ Attack02
└─ Attack03
또한 Montage는 Section이라는 기능을 이용해 특정 구간만 재생하거나 다음 Section으로 이동할 수도 있습니다.
Epic Games 공식 문서에서도 Animation Montage는 여러 Animation Sequence를 하나의 Asset으로 결합하고, Montage Section을 나눠 런타임에 원하는 순서로 재생할 수 있다고 설명합니다.
[이미지 삽입 추천]
Unreal Editor에서 Animation Montage Timeline이 열리고 여러 Animation Sequence가 Slot Track에 배치된 화면
ALT: 언리얼 엔진 Animation Montage Timeline 구조
일반 Animation Sequence와 Montage 차이
Animation Sequence와 Montage는 비슷해 보이지만 목적이 다릅니다.
Animation Sequence는 하나의 Animation 데이터 자체라고 생각하면 됩니다.
Punch01
Kick01
Run
Jump
반면 Montage는 이런 Animation들을 묶어서 게임플레이 중 제어하기 위한 Asset에 가깝습니다.
| 구분 | Animation Sequence | Animation Montage |
|---|---|---|
| 목적 | 개별 Animation 저장 | Animation 제어 및 조합 |
| Blueprint 제어 | 제한적 | 강력함 |
| Section | 없음 | 사용 가능 |
| Slot | 없음 | 사용 가능 |
| 콤보 | 직접 구성 필요 | Section 활용 가능 |
| Notify | 사용 가능 | 사용 가능 |
| 공격/스킬 | 가능 | 특히 적합 |
따라서 다음처럼 이해하면 쉽습니다.
걷기 / 달리기
→ State Machine + Animation Sequence
공격 / 스킬 / 재장전
→ Animation Montage
물론 이것은 절대적인 규칙은 아니지만 초보자가 Animation 구조를 나눌 때 좋은 기준이 됩니다.
Animation Montage 만드는 방법
Montage를 만드는 방법은 크게 두 가지입니다.
첫 번째는 Content Browser에서 직접 생성하는 방법입니다.
Content Browser
↓
Right Click
↓
Animation
↓
Animation Montage
Skeleton을 선택한 뒤 Montage를 생성합니다.
두 번째는 기존 Animation Sequence에서 바로 만드는 방법입니다.
Attack01 Animation
↓
Right Click
↓
Create
↓
Create AnimMontage
Epic Games 공식 문서에서도 기존 Animation Sequence를 우클릭해 Animation Montage를 생성할 수 있다고 설명하고 있습니다.
예를 들어
A_Punch01
을 Montage로 만들면
AM_Punch01
처럼 이름을 관리하면 구분하기 쉽습니다.
저는 보통
A_
를 Animation Sequence,
AM_
을 Animation Montage로 구분하는 방식을 추천합니다.

[언리얼 엔진 Animation Montage 만드는 방법]
Play Montage로 애니메이션 재생하기
Montage를 만들었다면 Blueprint에서 재생해야 합니다.
가장 기본적인 구조는 다음과 같습니다.
Attack Input
↓
Play Montage
↓
AM_Attack
또는 Skeletal Mesh를 Target으로 사용하는 Play Montage 노드를 활용할 수 있습니다.
Epic 공식 문서에서도 Blueprint의 Play Montage 노드를 이용해 Skeletal Mesh에서 Animation Montage를 재생할 수 있다고 설명합니다.
예를 들어
InputAction_Attack
↓
Play Montage
↓
Montage = AM_PunchCombo
처럼 구성합니다.
Play Montage에는 Montage 재생이 끝났거나 중단됐을 때 사용할 수 있는 실행 핀도 있습니다.
대표적으로
On Completed
On Blend Out
On Interrupted
On Notify Begin
On Notify End
등을 활용할 수 있습니다.
이를 이용하면
Attack 시작
→ IsAttacking = True
Montage 종료
→ IsAttacking = False
같은 상태 관리도 가능합니다.
Montage Section이란?
Montage의 강력한 기능 중 하나가 Section입니다.
하나의 Montage를 여러 구간으로 나눌 수 있습니다.
예를 들어 3단 콤보를 만들었다고 해보겠습니다.
AM_AttackCombo
Attack01
Attack02
Attack03
각 Animation 시작점에 Section을 만들 수 있습니다.
Section_Attack01
Section_Attack02
Section_Attack03
Epic Games 공식 문서에서는 Montage Section을 Montage Track의 특정 위치에 만들 수 있고, Blueprint에서 Section 간 이동을 동적으로 제어할 수 있다고 설명합니다.
이 기능을 활용하면 플레이어 입력에 따라 다음 공격으로 연결할 수 있습니다.
Attack01
↓
추가 입력?
↓
Attack02
↓
추가 입력?
↓
Attack03
따라서 콤보 시스템에서 매우 자주 사용됩니다.

[언리얼 엔진 Montage Section 콤보 구조]
Montage Section으로 콤보 만들기
간단한 3단 콤보를 생각해보겠습니다.
첫 번째 입력에서는
Play Montage
→ Section Attack01
을 재생합니다.
Attack01이 재생되는 동안 다시 공격 버튼을 누르면
ComboInput = True
로 저장합니다.
그리고 Animation의 적절한 시점에 Anim Notify를 넣어 다음 Section으로 넘어갈지 확인합니다.
Anim Notify ComboCheck
↓
ComboInput?
┌────┴────┐
True False
↓ ↓
Attack02 종료
다음 공격에서는
Montage Set Next Section
Attack01
↓
Attack02
같은 구조를 사용할 수 있습니다.
그다음 입력에서도 동일한 방식으로
Attack02
↓
Attack03
으로 연결합니다.
Montage Section의 장점은 공격 Animation을 각각 따로 Play Montage하는 것보다 하나의 Montage에서 콤보 흐름을 관리하기 편하다는 점입니다.
Anim Notify란?
Anim Notify는 Animation의 특정 시점에 이벤트를 발생시키는 기능입니다.
Epic Games 공식 UE 5.8 문서에서는 Animation Notify를 Animation Sequence와 동기화된 반복 가능한 이벤트를 생성하는 기능으로 설명하고 있습니다.
예를 들어 공격 Animation이 있다고 해보겠습니다.
0.0초 0.4초 1.0초
│ │ │
Attack Start Hit 순간 End
↑
Notify
실제 주먹이 적에게 닿는 0.4초 지점에 Notify를 추가할 수 있습니다.
그리고 Blueprint에서
AnimNotify_Attack
↓
Sphere Trace
↓
Apply Damage
를 실행합니다.
이렇게 하면 공격 버튼을 누르는 순간이 아니라 Animation에서 실제 타격이 발생하는 순간에 Damage 판정을 만들 수 있습니다.
Anim Notify는 공격뿐 아니라 다음 기능에도 활용할 수 있습니다.
발소리
공격 판정
파티클
카메라 흔들림
사운드
무기 장착
콤보 입력 허용
스킬 효과
Anim Notify 만드는 방법
Animation Sequence 또는 Montage를 열면 Timeline 아래쪽에서 Notifies Track을 확인할 수 있습니다.
원하는 프레임에서 우클릭하면 Notify를 추가할 수 있습니다.
Notifies Track
↓
Right Click
↓
Add Notify
Custom Notify를 만들 수도 있습니다.
예를 들어
AttackHit
라는 Notify를 생성합니다.
그러면 Animation Blueprint 등에서
AnimNotify_AttackHit
Event를 사용할 수 있습니다.
Epic 공식 문서에서도 Notify Track의 Timeline 영역을 우클릭하여 Notify를 생성할 수 있으며, Notify Keyframe은 Timeline에서 드래그해 위치를 조정할 수 있다고 설명합니다.
공격 타이밍이 조금 빠르다면 Notify 위치를 앞뒤로 움직이면서 정확하게 맞출 수 있습니다.

[언리얼 엔진 Anim Notify 추가 방법]
Anim Notify로 공격 판정 실행하기
앞에서 만든 Trace 시스템과 Anim Notify를 연결해보겠습니다.
Animation Timeline에 다음 Notify를 추가합니다.
AttackHit
그리고 Blueprint에서는 다음처럼 구성합니다.
AnimNotify_AttackHit
↓
Sphere Trace For Objects
↓
Branch
↓
Break Hit Result
↓
Hit Actor
↓
Apply Damage
이 구조의 핵심은 Damage 판정을 Attack Input에서 실행하지 않는다는 것입니다.
잘못된 예:
Attack Button
↓
Play Animation
↓
Apply Damage
이렇게 만들면 Animation이 실제로 맞기도 전에 Damage가 발생할 수 있습니다.
추천 구조는
Attack Button
↓
Play Montage
Animation 진행
↓
실제 Hit Frame
↓
Anim Notify
↓
Trace
↓
Damage
입니다.
특히 근접 전투에서는 이 구조를 이해해두는 것이 좋습니다.

[언리얼 엔진 Anim Notify 공격 판정 구현]
Anim Notify State는 무엇인가?
일반 Anim Notify는 한 시점에서 이벤트를 발생시킵니다.
반면 Anim Notify State는 시작과 끝을 가진 일정한 구간을 정의할 수 있습니다.
Notify
↓
────────●────────
한 순간
Notify State는
┌─────────────┐
────────│ AttackWindow │────────
└─────────────┘
Begin End
처럼 일정 기간을 가집니다.
따라서 다음과 같은 상황에서 유용합니다.
공격 Collision 활성 구간
무적 시간
Parry 가능 시간
Combo 입력 가능 시간
Root Motion 보정 구간
예를 들어 공격 Collision이라면
Notify Begin
↓
Set Collision Enabled
→ Query Only
그리고
Notify End
↓
Set Collision Enabled
→ No Collision
처럼 만들 수 있습니다.
이렇게 하면 Attack Animation의 특정 구간에서만 공격 Collision이 활성화됩니다.
UE 5.8에서도 Notify State는 Animation 시스템의 주요 기능으로 유지되고 있으며, 5.8에서는 동일 Animation Asset의 동시 재생 시 Notify State lifetime 처리 관련 옵션도 추가되었습니다.
Notify로 사운드와 이펙트 실행하기
Anim Notify가 꼭 Blueprint Event만 실행하는 것은 아닙니다.
Epic 공식 문서에서는 Notify를 이용해 Sound나 Particle 같은 이벤트를 Animation과 동기화할 수 있다고 설명합니다.
예를 들어 발소리라면
Foot Touch Frame
↓
Play Sound Notify
공격 이펙트라면
Sword Swing Frame
↓
Particle / Niagara
처럼 배치할 수 있습니다.
전투 Animation에서는 다음과 같이 여러 Notify를 사용할 수도 있습니다.
Attack Animation
0.15
→ Swing Sound
0.32
→ AttackHit
0.33
→ Camera Shake
0.40
→ Hit Effect
0.65
→ ComboWindow
Animation Timeline을 보면 공격 전체 흐름을 한눈에 파악할 수 있다는 장점이 있습니다.
Montage가 중간에 끊기는 원인
Montage를 사용하다 보면 공격 Animation이 도중에 갑자기 끊기는 문제가 발생할 수 있습니다.
대표적인 원인은 다음과 같습니다.
다른 Montage 재생
같은 Slot의 다른 Animation
Montage Stop 호출
Character 상태 변경
Hit Reaction 실행
다른 공격 Montage 실행
특히 Montage의 Slot 구조를 이해해야 합니다.
Epic 공식 문서에 따르면 동일한 Slot Group과 Slot에서 Animation이 재생되면 다른 Sequence의 Playback을 덮어쓸 수 있습니다.
예를 들어
Attack Montage
→ DefaultSlot
재생 중에
Hit Montage
→ DefaultSlot
을 실행하면 기존 공격 Montage가 중단될 수 있습니다.
이런 경우에는
UpperBody Slot
FullBody Slot
HitReaction Slot
등을 어떻게 구성할지 검토해야 합니다.
Montage가 재생되지 않을 때 확인할 것
Montage가 아무 반응 없이 재생되지 않는다면 다음 순서로 확인해보는 것이 좋습니다.
Montage 재생 실패
↓
① 올바른 Skeletal Mesh인가?
↓
② Animation Blueprint가 적용되어 있는가?
↓
③ Slot Node가 AnimGraph에 있는가?
↓
④ Montage Slot 이름이 같은가?
↓
⑤ 다른 Montage가 덮어쓰고 있지 않은가?
↓
⑥ Skeleton이 호환되는가?
↓
⑦ Montage가 Stop되고 있지 않은가?
특히 자주 빠뜨리는 것이 Slot입니다.
Montage가
DefaultGroup.DefaultSlot
을 사용하고 있다면 Animation Blueprint AnimGraph에도 해당 Slot을 통해 Animation이 출력될 수 있는 구조가 필요합니다.
또한 Animation Asset과 캐릭터 Skeleton이 호환되는지도 확인해야 합니다.
Montage와 State Machine은 어떻게 나눌까?
초보자가 자주 고민하는 부분입니다.
예를 들어 Attack Animation을 State Machine으로 만들지 Montage로 만들지 헷갈릴 수 있습니다.
저는 다음처럼 구분하는 것을 추천합니다.
| Animation | 추천 방식 |
| Idle | State Machine |
| Walk | State Machine |
| Run | State Machine |
| Jump | State Machine |
| Falling | State Machine |
| Attack | Montage |
| Combo | Montage |
| Skill | Montage |
| Reload | Montage |
| Finisher | Montage |
즉 계속 상태를 유지해야 하는 Animation은
State Machine
으로 관리하고,
입력이나 이벤트가 발생했을 때 특정 Animation을 실행해야 한다면
Montage
를 활용하는 방식입니다.
공격 중 이동 Animation을 일부 유지하거나 상체만 공격 Animation을 재생하고 싶다면 Slot과 Layered Blend Per Bone 같은 시스템을 함께 활용할 수도 있습니다.
마무리
Animation Montage와 Anim Notify는 언리얼 엔진 전투 시스템을 구현할 때 가장 자주 사용하는 Animation 기능 중 하나입니다.
핵심 구조를 다시 정리하면 다음과 같습니다.
Player Input
↓
Play Montage
↓
Attack Animation
↓
Anim Notify
↓
Sphere / Box Trace
↓
Hit Actor
↓
Apply Damage
그리고 콤보 시스템에서는
Montage Section
+
Anim Notify
+
Combo Input
을 조합할 수 있습니다.
공격 판정뿐 아니라 사운드, 파티클, Camera Shake, Collision 활성화, 스킬 효과 등을 Notify에 맞춰 실행하면 Animation과 게임플레이의 타이밍을 자연스럽게 맞출 수 있습니다.
특히 전투 게임을 만들고 있다면 Animation Montage를 단순히 “Animation을 재생하는 기능”으로 생각하기보다 공격 흐름 전체를 제어하는 Gameplay Animation 도구로 이해하는 것이 좋습니다.
참고 사이트
이번 글은 Unreal Engine 5.8 공식 문서를 기준으로 작성했습니다.
- Epic Games – Animation Montage
Montage, Section, Slot과 기본 Animation Montage 구조를 확인할 수 있습니다. - Epic Games – Editing and Using Animation Montage
Animation Sequence를 Montage Timeline에 배치하고 Montage를 편집하는 방법을 확인할 수 있습니다. - Epic Games – Animation Notifies
Anim Notify, Notify Track, Notify State와 관련 설정을 확인할 수 있는 공식 문서입니다. - Epic Games – Unreal Engine 5.8 Release Notes
UE 5.8의 Animation Notify State 및 Animation 관련 변경 사항을 확인할 수 있습니다.
함께 보면 좋은 글
- 언리얼 엔진 Line Trace Sphere Trace Box Trace 차이와 사용법
Anim Notify로 공격 판정 실행하기문단에 내부 링크
- 언리얼 엔진 Collision 설정 – Block, Overlap, Ignore 차이
Anim Notify State의 공격 Collision 부분에 내부 링크
- 언리얼 엔진 Damage System – Apply Damage와 Event AnyDamage
Apply Damage부분에 내부 링크
- 언리얼 엔진 Blueprint Interface 사용법과 Cast 차이
- Hit Actor 처리 부분에 내부 링크
- 언리얼 엔진 Accessed None 오류 원인과 해결 방법
- Montage Reference 및 공격 Target 처리 부분에 내부 링크