Why R.E.P.O. Bet on Unity and Photon PUN: The Boring Lobby Stack Behind 8.7M-Copy Physics Horror
R.E.P.O. looks like another Lethal Company clone until you try to carry a piano down a staircase with two friends screaming in proximity voice.
R.E.P.O. (Retrieve, Extract and Profit Operation) is a 6-player online co-op survival horror game by Swedish studio Semiwork. It launched in early access on Steam on February 26, 2025, and it is developed in the Unity game engine. The twist that explains its breakout is not Unity alone — it is Unity plus Photon PUN for multiplayer, voice, and global hosting. Semiwork started from a single-player cleaning-horror prototype exploring Unity, then pivoted to multiplayer on Photon after a recommendation from fellow developers Landfall.
That boring lobby stack scaled from zero to hundreds of thousands of concurrent players with no hiccups, and around 8.7 million sold copies in March alone according to Alinea Analytics. This guide covers the verified engine facts, then adds a technical take most coverage skips: why fragile physics plus voice chat is a better horror engine than better graphics.
The 30-second answer
- Engine: Unity for client, rendering, and physics; Photon PUN for matchmaking, relay, global regions, and voice. Wikipedia lists Engine: Unity.
- Team and release: Developed and published by Semiwork in Sweden. Windows early access February 26, 2025; Switch 2 version listed for 2027. Steam currently lists 4 levels, 29 enemies, and about a year and a half of planned early access.
- Loop: Up to six players find valuables, carry them carefully to extraction points to earn SURPLUS, spend it at a Service Station on upgrades and weapons, and survive randomized modular levels. Breaking or damaging objects lowers their value, and each level requires filling quotas before escaping in the truck.
- Scale proof: 230,000 concurrent players in the first weekend, highest-grossing paid Steam game for March 11-18, 2025, and second overall behind Counter-Strike 2. Overwhelmingly positive Steam reviews as of January 2026, Golden Joystick Best Early Access on November 20, 2025, and Semibots added to Fortnite Fortnitemares on October 25, 2025.
- Why Photon mattered: As a team with no prior multiplayer experience, Semiwork called PUN quick to set up and easy to work with, used editor quick playtests to find bugs fast, and used the dashboard to add hosting regions after launch for better latency.
If you only remember one lesson, remember this: R.E.P.O. did not win because Unity physics is accurate. It won because Photon made clumsy shared physics shippable.
From cleaning sim to 6-player chaos
The genesis was a single-player cleaning horror game while Semiwork explored Unity. That detail matters. A cleaning game is already about careful carrying, fragile objects, and not breaking things. When the team pivoted to multiplayer because teamwork felt fun, they kept the verb — carry carefully — and added witnesses who scream when you drop the vase.
Landfall, the studio behind Content Warning, recommended Photon as a fun and sturdy way to do multiplayer. For a team with no prior multiplayer experience, that social proof beat a feature matrix. Most things with Photon were quick to set up and easy to work with, which the team called a breeze.
Here is my take, and it changes how you should read the success: R.E.P.O. is a friendship test disguised as an extraction loop.
Lethal Company tests greed: do we stay for one more scrap item? R.E.P.O. tests gentleness: can three tired friends carry a dinosaur statue without spinning it into a wall? The value drops when you break things, so every bump has a price tag. That turns ordinary netcode jitter into comedy and betrayal. Most horror games add monsters. R.E.P.O. added physics and let friends become the monsters.
Why Unity plus PUN was the right boring choice
Unity is a cross-platform engine in C++ with a C# scripting API, popular for indie development because it is considered easy to use for beginners. That reputation is exactly why a small Swedish crew with animation, art, and music backgrounds could prototype a cleaning horror game without hiring a netcode team.
Photon filled the gap Unity does not fill out of the box:
- Fast lobby: Join a region and get a game set up easily with great latency for most players.
- Fast iteration: Setting up quick playtests in just the editor saved a lot of time finding bugs and jumping into a game.
- Live ops without a patch: The dashboard makes it easy to change or add hosting regions after release to optimize matchmaking.
- Voice as gameplay: Photon Voice quality was critical for fun moments, with clear and low-delay audio, and voice data made it possible to animate characters vividly to the audio.
That last point is underrated. The Semibots are cheap robots with expressive mouths driven by voice amplitude. No facial mocap, no lip-sync pipeline — just loud friends equal wide mouths. In a dark corridor, hearing a friend get louder and seeing their bot flap is funnier and scarier than a high-fidelity face. It is horror from bandwidth, not from polygons.
What fragile physics cost
Smooth shared physics is the hardest part of this stack, and Semiwork is honest about it.
Achieving smooth physics synchronization is hard because of latency, inconsistent frame rates, non-deterministic physics, bandwidth limits, and authority conflicts. Making all the physics feel smooth for clients was something the team struggled with for a long time. PUN is easy to pick up but provides little for multiplayer physics out of the box, so Semiwork added a lot of work and customization.
Photon now recommends Fusion or Quantum for new physics-heavy projects, and Semiwork chose PUN only because Landfall recommended it and launch was weeks away. In other words, R.E.P.O. ships on the older SDK by accident of timing and friendship, not by benchmark.
My contrarian read: that technical debt was a speed tax worth paying.
If Semiwork had paused to rewrite on Fusion or build deterministic lockstep, they would have missed the February 2025 window when co-op horror was hungry for something after Lethal Company and Content Warning. Players forgive a wobbly vase if the lobby works in one click and voice is clear. They do not forgive a perfect physics sim with no one to play with. PUN bought them a launch; polish can migrate later. They now say they would love to use the same setup for future projects, which tells you the debt did not kill velocity.
There is a second cost most guides miss: wishlists lied. The game had a nice number of wishlists, but that was far from indicating how huge launch would be. Scaling from zero to hundreds of thousands of concurrent users, plus hacking and DDoS attacks, required Photon Cloud protection, Enterprise Cloud plugins with custom code, and constant operations analysis. Indie postmortems obsess over tick rate. R.E.P.O. suggests you should obsess over fraud protection and region scaling instead.
What indie devs can steal
- Prototype the verb, not the lobby. A cleaning game already proved carrying is fun solo. Multiplayer amplified it. If your single-player verb is boring, six players will not save it.
- Borrow trust, not just tech. Choosing PUN because trusted friends shipped on it beat months of evaluation. For a team with no multiplayer experience, support quality and samples matter more than SDK novelty.
- Make damage economic. Lowering value when objects break turns lag, bumps, and betrayals into stories. Do not hide physics jank — price it.
- Ship voice as animation. If you cannot afford faces, animate a simple mouth or light from voice amplitude. Players will do the acting for free.
- Treat regions as content. Adding hosting regions after launch is a retention patch. Latency is a level designer.
If you like R.E.P.O., train these browser skills
You do not need a 6-player lobby to practice the core skills: careful carrying under pressure, clue linking while scared, and coordinating without talking over each other.
For stealth carrying while hunted, try 911: Prey on EasyHub. You are a kidnapped teenager escaping a maniac house where noise attracts attention, covering tracks matters, and every item could mean life or death. The lesson transfers directly: move quietly, plan routes, and use the environment for distractions — the same discipline that keeps a R.E.P.O. vase at full value when a monster is near.
For careful object handling and clue chains, try Rooms Home Escape on EasyHub. There is no combat, only exploration, tools, and linking a kitchen note to a living-room painting. R.E.P.O. punishes rushing extractions the same way escape rooms punish rushing locks: observe before acting, revisit old rooms, and keep mental notes. Practice slow hands here, then bring them to Service Station runs.
For 6-player coordination without chaos, try BuildNow GG on EasyHub. It supports private parties and small lobbies where you pick V-Arena for clean duels or BoxFight for close practice, with one lobby code for friends. Use it as a low-stakes way to practice callouts, role splits, and not talking over the carrier — the exact social skill that decides whether a R.E.P.O. extraction fills quota or wipes.
Each uses instant browser play with no install, so you can drill one skill in ten minutes before your next night run.
Quick FAQ
Is R.E.P.O. just Lethal Company with physics?
No. Its gameplay is described as similar to Lethal Company, but the economy is different: shared carrying with damage-based devaluation plus Service Station upgrades between levels makes gentleness the skill, not just greed control.
What engine does R.E.P.O. use?
Unity for the game, plus Photon PUN for multiplayer, voice, and cloud hosting. Wikipedia infobox lists Engine: Unity.
Why PUN instead of Fusion or Quantum?
Timing and trust. PUN was Landfall recommended, easy for beginners, and launch was weeks away, so switching was not an option; Photon itself now recommends Fusion for similar next projects.
How many players and how much content?
Up to six players, 4 levels and 29 enemies in current early access, with customization, meta progression, and more levels planned. Expect a price rise at 1.0.
Best 30-minute practice loop?
Warm up with one Rooms Home Escape room for slow hands, do one 911: Prey stealth run for noise discipline, then one BuildNow GG private lobby for callouts. You will break fewer vases tonight.
Top comments (0)