▣ Plugins 개념
플러그인(Plugin)은 언리얼 엔진에서 특정 기능을 추가하거나 확장할 수 있도록 만든 독립적인 모듈입니다.
플러그인은 프로젝트에 필요한 특정 기능을 활성화하거나, 성능을 향상시키는 역할을 합니다.
플러그인은 언리얼 엔진의 기능을 확장하는 "추가 기능"입니다.
기본 엔진 기능 외에 온라인 기능, AI, VR, 멀티플레이어, 물리 엔진, 커스텀 렌더링 기능 등을 추가할 수 있습니다.
▣ 플러그인의 역할 예시
온라인 기능 (Steam, EOS (Epic Online Services)) 추가 → OnlineSubsystem, OnlineSubsystemSteam
AI 기능 강화 → AIModule, BehaviorTreeEditor
VR(가상현실) 기능 추가 → SteamVR, OculusVR
언리얼 엔진에서 C++ 코드 핫 리로드 → Live Coding
블루프린트 기능 확장 → BlueprintAssist
▣ 플러그인 종류
플러그인은 크게 공식(빌트인) 플러그인과 사용자 정의 플러그인으로 나뉩니다.
▣ 공식 플러그인 (Built-in Plugins)
언리얼 엔진에서 기본적으로 제공하는 플러그인입니다.
대표적인 공식 플러그인 예시
OnlineSubsystem → 온라인 기능 추가
OnlineSubsystemSteam → Steam 멀티플레이어 지원
Chaos Physics → 언리얼의 새로운 물리 엔진
AIModule → AI(인공지능) 관련 기능
Python Editor Script Plugin → 언리얼에서 Python 사용 가능
Live Link → 모션 캡처 데이터 연동
▣ 코드 설명
- 플러그인 설정 (Plugins 배열)
"Plugins" 배열은 현재 프로젝트에서 사용될 플러그인을 정의하는 부분입니다.
프로젝트가 시작될 때, 언리얼 엔진이 여기 정의된 플러그인들을 자동으로 로드합니다.
- OnlineSubsystem
"Name": "OnlineSubsystem" → 온라인 기능을 제공하는 언리얼 엔진의 기본 플러그인
"Enabled": true → 온라인 서브시스템을 활성화하여 멀티플레이어 기능을 사용할 수 있도록 함
이 플러그인은 Steam, Epic Online Services (EOS), PlayFab 등의 온라인 서비스와 연결될 수 있는 기본적인 인터페이스 역할을 수행함
- OnlineSubsystemSteam
"Name": "OnlineSubsystemSteam" → Steam 온라인 기능을 사용할 수 있도록 하는 플러그인
"Enabled": true → Steam 멀티플레이어 기능을 활성화
Steam 서버를 사용하여 멀티플레이어 세션을 생성하고, 친구 초대, 매치메이킹 등의 기능을 활용 가능
▣ PublicDependencyModuleNames 설명
언리얼 엔진의 모듈 시스템에서 "Public Dependency"로 추가할 모듈을 정의하는 부분
여기 정의된 모듈들은 프로젝트 내 모든 파일에서 접근 가능 (Public)
다른 모듈에서 이 모듈을 사용할 경우, 여기에 포함된 모듈도 함께 포함됨
▣ 각 모듈의 역할
Core → 언리얼 엔진의 핵심 기능을 제공하는 모듈 (필수)
OnlineSubsystem → 언리얼 엔진의 온라인 기능을 담당하는 모듈
OnlineSubsystemSteam → Steam의 온라인 멀티플레이 기능을 지원하는 모듈
▣ 이 코드가 필요한 이유
Steam 멀티플레이어 기능을 사용하려면 반드시 OnlineSubsystem과 OnlineSubsystemSteam이 포함되어야 함
PublicDependencyModuleNames에 추가되면, 이 모듈을 다른 C++ 클래스에서도 사용할 수 있음
▣ PrivateDependencyModuleNames 설명
현재 모듈(MultiplayerSessions)에서만 사용되는 "Private Dependency" 모듈을 정의
이 모듈들에 대한 의존성은 MultiplayerSessions 내부에서만 적용됨
외부 모듈에서는 접근할 수 없음
▣ 각 모듈의 역할
CoreUObject → 언리얼의 오브젝트 시스템을 제공하는 핵심 모듈
Engine → 게임 엔진의 핵심 기능 (렌더링, 물리 엔진, 애니메이션 등)
Slate & SlateCore → 언리얼 엔진 UI(User Interface) 시스템을 위한 모듈
▣ 이 코드가 필요한 이유
UI 관련 기능(Slate, SlateCore)을 사용할 경우 필수
엔진의 기본적인 기능을 활용하려면 CoreUObject와 Engine이 필요함
Steam 멀티플레이 UI를 추가할 경우 Slate와 SlateCore가 필요할 수도 있음
'[ Unreal5 ] > - 언리얼엔진5 멀티' 카테고리의 다른 글
언리얼엔진5 Session Join (0) | 2025.02.18 |
---|---|
언리얼엔진5 Session Join Setup (0) | 2025.02.15 |
언리얼엔진5 Create Session (0) | 2025.02.14 |
언리얼엔진5 Online Subsystem Steam Connection (0) | 2025.02.13 |
언리얼엔진5 Online Subsystem Steam Setting (0) | 2025.02.13 |
댓글