티스토리 뷰
Replication Mode
이전 단계에서 ASC와 AS를 구성했지만, 멀티플레이에서 제대로 동작하라면 추가로 Replcation 설정이 필요하다.
이미 AbilitySystemComponent->SetIsReplicated(true); 를 통해 ASC 자체가 네트워크에서 복제되도록 설정했지만 이것만으로는 부족하다.
ASC에는 Replcation Mode 라는 설정이 존재한다.
이 설정은 GameplayEffect가 클라이언트에게 어떻게 복제될지 결정하는 것이다.
GamePlayEffect 예시
데미지
힐
버프
디버프
스탯 변화
-> Attribute 값 변화
AbilitySystemComponent->SetReplicationMode(...)에서 인자로 전달되는 EGameplayEffectReplicationMode에는 3가지 모드가 존재한다.

1. FULL
Gameplay Effect 정보를 모든 클라이언트에게 복제 (모든 GamePlayEffect 데이터 전송)
단점으로 네트워크 비용이 가장 크다.
2. Mixed
GameplayEffect는 소유 클라이언트에게만 복제
하지만 GameplayTags와 GameplayCues는 모든 클라이언트에게 복제
3. Minimal
GameplayEffect는 복제되지 않음
하지만 GameplayTags와 GameplayCues는 여전히 모든 클라이언트에게 복제
현재 프로젝트의 플레이어 캐릭터는 Mixed를 사용할 것이다.
플레이어는 체력, 마나, 스탯 같은 정보를 자신의 클라이언트에서 UI로 표시해야하기 때문에, GaemplayEffect 정보가 Owner Clinet에게 전달되어야한다.

적 캐릭터의 경우는 Minimal을 사용할 것이다.
적 캐릭터의 데미지 계산이나 상태 변화 등은 서버에서 처리하는 것으로 충분하고, 클라이언트는 이펙트, 상태 표시 정도만 알면 충분하기 때문이다.
그래서 적 캐릭터의 경우 GameplayEffect까지 복제할 필요가 없다.

멀티플레이 구조는 싱글플레이에서도 정상적으로 동작하지만,
싱글플레이 기준으로 설계된 게임을 이후 멀티플레이로 확장하는 것은 매우 어렵기 때문이다.
'Unreal > Udemy 강의' 카테고리의 다른 글
| Gameplay Ability System - Top Down RPG / Section 3-8 (0) | 2026.03.13 |
|---|---|
| Gameplay Ability System - Top Down RPG / Section 3-6 (0) | 2026.03.10 |
| Gameplay Ability System - Top Down RPG / Section 3-5 (0) | 2026.03.09 |
| Gameplay Ability System - Top Down RPG / Section 3-4 (0) | 2026.03.08 |
| Gameplay Ability System - Top Down RPG / Section 3-3 (0) | 2026.03.08 |
