https://github.com/NMEii/NBC_Task9?tab=readme-ov-file#chatx
GitHub - NMEii/NBC_Task9
Contribute to NMEii/NBC_Task9 development by creating an account on GitHub.
github.com
ChatX
Unreal Engine 5.5 기반의 멀티플레이어 채팅 시스템 예제 프로젝트이다. C++ 및 UMG(Unreal Motion Graphics)를 활용하여 클라이언트와 서버 간의 텍스트 채팅 기능을 구현했다.
사용된 기술 (Tech Stack)
- Engine: Unreal Engine 5.5
- Language: C++ / Blueprints
- UI: UMG (Slate, SlateCore)
- Network: Server & Client RPC (Remote Procedure Call)
주요 기능 (Features)
- 멀티플레이어 네트워크 동기화: ServerRPC와 ClientRPC를 사용하여 채팅 메시지를 서버에서 검증하고 모든 클라이언트로 전파하는 기본적인 채팅 시스템을 구현했다.
- UMG UI 시스템: UEditableTextBox와 UUserWidget 베이스 클래스에 C++ 클래스를 바인딩하여 채팅 입력창(WBP_ChatInput) 및 알림창(WBP_NotificationText)을 구현했다.
- C++ 클래스 및 블루프린트 연동:
- CXPlayerController: 채팅 메시지의 RPC 통신 및 위젯(채팅창, 텍스트 알림) 생성/관리를 담당한다.
- CXChatInput: UMG 위젯 이벤트 처리를 위한 C++ UI 클래스로, 텍스트 입력 커밋 시 컨트롤러로 이벤트를 전달한다.
- 이외 게임 모드(CXGameModeBase), 게임 스테이트(CXGameStateBase), 폰(CXPawn) 등이 구현되어 있다.
프로젝트 구조 (Project Structure)
- Source/ChatX/Game: 게임 모드 및 게임 스테이트 클래스
- Source/ChatX/Player: 폰, 플레이어 컨트롤러, 플레이어 스테이트 클래스 (RPC 로직 포함)
- Source/ChatX/UI: 채팅 위젯 및 알림 UI 베이스 C++ 클래스
- Content/ChatX/Blueprint: UI 위젯, 게임 룰, 플레이어 캐릭터 등의 블루프린트 애셋 (WBP_ChatInput, WBP_NotificationText, BP_PlayerController 등)
- Content/ChatX/Maps: 데모 맵 (L_Chatting)
실행 방법 (Getting Started)
- 프로젝트 루트의 ChatX.uproject를 우클릭하여 Generate Visual Studio project files를 실행한다.
- 생성된 솔루션 파일(ChatX.sln)을 열고 프로젝트를 빌드한다.
- Unreal Editor에서 프로젝트를 실행하고, 기본 맵(L_Chatting)을 연다.
- Net Mode를 Play As Listen Server 혹은 Play As Client로 설정하고 다수의 플레이어를 배치한 뒤 실행하여 채팅 시스템을 테스트할 수 있다.
'언리얼' 카테고리의 다른 글
| 숫자야구 승패 로직 상태 관리 및 레플리케이션 구현 (0) | 2026.03.17 |
|---|---|
| 언리얼 엔진 - 프로퍼티 레플리케이션(Property Replication) 및 숫자 야구 게임 로직 구현 (0) | 2026.03.16 |
| 언리얼 엔진 5 멀티플레이 채팅 및 네트워크 기초 (0) | 2026.03.13 |
| Unreal Engine과 C++를 활용한 다수의 적을 쓰러뜨리는 슈터 게임 프로젝트 (0) | 2026.02.05 |
| Unreal_7기 | 챕터 3. C++과 Unreal Engine으로 3D 게임 개발 (0) | 2026.02.02 |
