Unity 엔진을 사용하여 개발된 TCP 기반 멀티플레이 슈팅 게임 프로젝트입니다.
본 프로젝트는 C# TCP 소켓 통신을 기반으로 하는 클라이언트-서버 구조의 멀티플레이 게임입니다. Unity로 제작된 클라이언트와 C# 콘솔 애플리케이션으로 제작된 서버로 구성되어 있습니다.
Unity 버전은 크게 중요하지 않으며, 다양한 환경에서 활용 가능합니다. 이 프로젝트는 누구나 자유롭게 사용하고 기여할 수 있습니다.
- 실시간 멀티플레이 기능
- TCP 소켓 통신 기반 클라이언트-서버 구조
- 플레이어 이동 및 총알 발사 기능
- 오브젝트 풀링을 활용한 총알 관리 (
BulletPoolManager)
OpenMultiplay/: Unity 클라이언트 프로젝트 루트Assets/: Unity 에셋 (스크립트, 프리팹, 씬 등)Scenes/TCPClient.unity: 메인 게임 씬Scripts/: 주요 클라이언트 스크립트PlayerController.cs: 플레이어 입력 및 캐릭터 제어ClientAsync.cs: 서버와의 비동기 TCP 통신 처리Gun.cs,Bullet.cs: 총과 총알 관련 로직
Prefabs/: 게임 오브젝트 프리팹 (플레이어, 총알 등)
TCPServer/: C# TCP 서버 솔루션ServerAsync.cs: 클라이언트 연결 및 데이터 송수신을 관리하는 핵심 서버 스크립트
TCPServer/TCPServer.sln파일을 Visual Studio로 엽니다.- 프로젝트를 빌드(Build)합니다.
ServerAsync.cs또는ServerAsyncForUnity.cs를 시작 프로젝트로 설정하고 실행하여 서버를 시작합니다.
- Unity Hub에서
OpenMultiplay프로젝트를 엽니다. Assets/Scenes/TCPClient.unity씬을 엽니다.- Unity 에디터의 재생(Play) 버튼을 눌러 게임을 실행합니다.
참고: 클라이언트가 서버에 정상적으로 접속하려면
ClientAsync.cs스크립트에 설정된 서버 IP 주소와 포트 번호가 실행 중인 서버와 일치해야 합니다.

