Round-based multiplayer FPS built with Unity and Photon PUN 2
Lobby & rooms · Red vs Blue teams · Buy phase economy · A/B bomb sites
Status: 🚧 In development. Third-party assets are not included in this repository, see Required third-party packages.
- 🏠 Lobby and rooms: enter a player name, create a room or join one, random join and room size (2 to 10 players). The lobby lists FFA and Team Deathmatch, but they are placeholders: the bomb attack/defense mode is the only implemented game mode
- 🔴🔵 Team select: pick Red or Blue team, live player count per team, host starts the match
- 💰 Round economy: buy phase before each round, money shown on the HUD
- 🛒 Shop menu: rifle, pistol, half shield ($400) and full shield ($700)
- 💣 Attack / defense rounds with A and B bomb sites: attackers plant the bomb, defenders defuse it
- 🗺️ Minimap with site markers and player icons
- 📟 HUD: health bar, ammo counter, weapon icon, K/D, money, round timer and phase label
- ☠️ Kill feed and win banner
- 🎯 Practice range (
Alıştırma) with targets and enemies, separate from online matches
Want to just play? Grab the latest Windows build from the Releases page.
- Download the
.zipfile from the latest release. - Extract it to any folder.
- Run the
.exefile.
Online matches need every player on the same version. To run the project from source instead, see Setup.
- Lobby: enter your name and a room name, then create or join a room (or use random join).
- Team select: choose Red or Blue. The host presses Başlat when ready.
- Buy phase: a 30-second countdown (default) where you spend money in the shop.
- Round: attackers plant the bomb at site A or B and defenders defuse it. If no bomb is planted, the fight phase lasts 120 seconds by default. A 5-second round end follows.
- Result: kills, deaths and money update, and the winner is announced.
| Category | Technology |
|---|---|
| Engine | Unity 6000.3.8f1 |
| Language | C# |
| Networking | Photon PUN 2 |
| Input | Unity Input System |
| UI | Unity UI, TextMeshPro |
| Player / weapons | Low Poly Shooter Pack (Infima Games), third-party |
| Map | Prototype Map, third-party |
Only the project's own code, scenes and settings are tracked in this repository:
unity_multiplayer/
├── Assets/
│ ├── Scenes/
│ │ ├── LobbyScene.unity # Lobby, rooms, team select
│ │ └── Range.unity # Practice range
│ ├── Scripts/
│ │ ├── NetworkManager.cs # Photon connection and room handling
│ │ ├── LobbyManager.cs # Lobby UI and room list
│ │ ├── PlayerSpawner.cs # Player spawning
│ │ ├── NetworkCharacterSetup.cs # Per-player network setup
│ │ ├── WeaponShoot.cs # Shooting
│ │ ├── PlayerHealth.cs # Health and damage
│ │ ├── RoundManager.cs # Round and phase flow
│ │ ├── ShopManager.cs # Buy menu and economy
│ │ ├── ScoreManager.cs # K/D and scoreboard
│ │ ├── BombSystem.cs # Bomb logic
│ │ ├── BombSiteTrigger.cs # A/B site triggers
│ │ ├── Hudmanager.cs # HUD
│ │ ├── Minimapicon.cs # Minimap player icons
│ │ ├── Minimapsiteicon.cs # Minimap site icons
│ │ └── Rangesetup.cs # Practice range setup
│ ├── Sibgle/ # Practice range targets and enemies
│ ├── Resources/ # Kill feed, room row and score row prefabs
│ ├── AngeloMaN87/ # Minimap prefab, render texture, materials
│ └── InputSystem_Actions.inputactions
├── Packages/ # Unity package manifest
├── ProjectSettings/
├── LICENSE
└── README.md
Third-party packages are not included because of their licenses. Download them separately and import them into Assets/ before opening the project:
| Package | Source |
|---|---|
| Photon PUN 2 (PUN 2 - FREE) | Unity Asset Store (Photon Engine) |
| Low Poly Shooter Pack - Free Sample | Unity Asset Store (Infima Games) |
| Prototype Map | Unity Asset Store (AngeloMaN87) |
| Low Poly Pack - Environment Lite | Unity Asset Store (Solum Night) |
| Low Poly Barriers Pack Free | Unity Asset Store (Schatro Dev Assets) |
| Low-Poly Urban Assets | Unity Asset Store (AIRIDEV) |
- Clone the repository and open it with Unity 6000.3.8f1 (Unity Hub).
- Import the packages listed above into
Assets/. - Create your own Photon app on the Photon dashboard and paste its AppId into the PUN settings (
Window → Photon Unity Networking → Highlight Server Settings). The AppId is not stored in this repository. - The player prefab
Assets/Resources/P_LPSP_FP_CH.prefabis derived from the Infima package and is not included. Recreate it from the package. - Open
Assets/Scenes/LobbyScene.unityand press Play.
- The project does not compile until Photon and the Infima package are imported.
- Scenes show missing references until the packages are imported.
- Build Settings lists the Prototype Map scene, which comes from the Prototype Map package. When the host presses Başlat, the game loads the scene named
Prototype Map, so that scene must stay in Build Settings under that exact name.
Copyright 2026 kaandevs-ops
The code, scenes and settings in this repository are licensed under the Apache License 2.0, see LICENSE. Third-party packages are subject to their own licenses and are not covered by it.
Still learning, still shipping.







