Woodbury Co-op
Unofficial fan co-op mod · Open source

Woodbury Getaway
Multiplayer Co:op

Play the Steam horror game with a friend — one of you hosts, the other connects, and the scares happen to both of you at the same time.

Want in when it drops? Solo project. Stars and subs tell me what to build next and who's actually waiting. Takes two seconds.
What works today

Status by chapter

Five chapters in the game. The number on each card is how much of that chapter is fully co-op playable right now. Click a card to see what's working and what's still on the to-do list.

Under the hood

Features & systems

The pieces that make co-op work across every chapter — voice, NPCs, doors, dialogue, vehicles, save state. Filter to see what's done, partial, or missing.

What's next

Roadmap

What's coming and what's still being worked on. No promises on timing — it ships when it's solid.

Coming next

The road to full co-op

What's not synced yet
Live changelog

Recent updates

What's been added in the latest build, organised by chapter. Older versions stay below for the full history.

Chapter guide

What you'll find in each chapter

Quick overview of the people, places and props in each chapter of Fears to Fathom: Woodbury Getaway — and how much of each one currently works in co-op.

Cabin scene

deep

CabinGameManager drives the scripted sequence (HikerSequence, HostAtDoor, Eating, BoardGame, Ouija…). CabinHouseManager owns the persistent room/door/story booleans. Together they're the source of truth for almost everything in the cabin.

Sync: CabinAmbientSync.cs, CabinBoardGameSync.cs

Mike (Cabin variants)

deep

Mike is split into stage-specific behaviour scripts: MikeCabin, MikeFishing, MikeCabinCookController, MikePostEating, MikeAfterHiding. Each runs its own NavMesh + dialogue cues; the mod treats them as one logical actor and the host's chosen variant wins.

Sync: CabinNpcRegistry.cs via NpcBrainState

Hiker window

done

CabinHiker and HikerCabinController stage the "hiker at the window" sequence: walk-up, knock, force entry, and the player's host response (HostFixingSink, hide etc.). Most jumpscare-style horror beats hang off these two.

Sync: hiker state enums + go/moving/reachedPos/followingHost flags; lock window gated on CurrentSequence to prevent client clumping.

Board games — Jenga + Ouija

done

JengaController tracks pieces, drag/place state, and the dining-table collider mask. OuijaController runs the planchette target / timer / input fields and the audio bed. Both used to drift between peers; now both are host-authoritative with transform correction on the planchette + table.

Sync: CabinBoardGameSync.cs

Pizzeria scene

broad

PizzeriaGameManager owns the player mode, conversation timers, pizza/burp gates, phone UI state, and the soda-can seating flow. The scene starts with MikeDrivingInPizzeriaScene handling the cinematic drive-in.

Sync: PizzeriaSceneStateSync.cs

Mike (Pizzeria)

done

MikePizzeria handles in-restaurant Mike (table, dialogue, pizza handoff). Joined by PizzeriaHiker and the generic PizzeriaNPC patrons through a registry that mirrors the Cabin recipe.

Sync: GenericNpcRegistry (Pizzeria) — see SceneSyncRegistries.cs

RoadTrip scene

broad

RoadTripGameManager drives the long highway sequence — auto-conversation timing, road-bump events, phone moments, the deer encounter, and the school-bus cinematic. Most of the camera FOV / zoom drama lives here.

Sync: RoadTripSceneStateSync.cs

Mike (RoadTrip)

done

MikeInCar for passenger-seat Mike. MikeTruckInLoopScene, MikeTruckGoingToNora, and MikeTruckInParking for the truck-mounted variants used through the highway loop + handoffs.

Sync: PathVehicleState (typed) since wire proto 4.

Office scene

broad

OfficeLayoutGameManager + YellowIntroManager stage the office intro and end-scene yellow text. Subcontrollers cover every desk surface (Table / Computer / Coffee / Phone / TypeMaster / TypingShooter), appliances (radio, fridge, microwave), and restrooms.

Sync: OfficeSceneStateSync.cs

OfficeWorkerMonitor

done

The cubicle monitor sequence that plays scripted clips behind the worker. Used to pick clips locally on each peer; now the host's clip identity and playback time win, with local monitor brain suppressed.

Sync key: SceneState.WorkerMonitor.*

ParkingLot scene

moderate

ParkingLotGameManager sequences the parking-lot beats — call timing, intro, phone ringing, talk/hug mode, elevator travel. The setting drops you between scripted vehicle and elevator beats.

Sync: ParkingLotSceneStateSync.cs

WalkingCopController

done

Scripted walking-cop NPC who paces the parking lot. Used to run his NavMesh and animator locally on every peer, drifting hard; now host-authored with NavMesh brain suppressed on client.

Sync key: SceneState.WalkingCop.*

ParkingLotElevatorManager

done

The freight elevator — travel state, door open/close, audio cues, and the anti-throw zones that prevent items from being thrown out of bounds. Door + tailgate transforms are corrected directly.

Sync key: SceneState.Elevator.* · SceneState.AntiThrow.*

VendingMachineManager

done

Shared between Office and Pizzeria. Owns the vending dialogue camera, machine triggers, slot/sliding colliders, current soda-can visibility + kinematic state, vending audio, and player-camera FOV during the interaction.

Sync: VendingMachineSceneSync.cs

Very early access

Play it early. Back it if it earns it.

Built in the open, shipping fast. Back it on Patreon and you play new builds first — everyone gets them after. Tip if it earned it. Your call, no nagging.

Each player still needs their own copy of Fears to Fathom: Woodbury Getaway on Steam. The mod isn't locked behind a paywall — supporters just get builds earlier.

Common questions

Co-op & multiplayer FAQ

Is there a co-op or multiplayer mod for Fears to Fathom: Woodbury Getaway?

Yes — Woodbury Co-op is an unofficial mod that adds 2-player online co-op multiplayer to Fears to Fathom: Woodbury Getaway. One player hosts the real game and a friend connects, so the same Mike, the same scares, and the same scripted moments happen to both players at once.

How do you play Fears to Fathom: Woodbury Getaway in co-op?

Install BepInEx 5 (Mono) and the Woodbury Co-op plugin, launch the game, then press F11 in the main menu to host or join. The host runs the story and the second player's position and actions stay in sync.

Is Fears to Fathom: Woodbury Getaway multiplayer?

The base game on Steam is singleplayer only. This community-made co-op mod adds online multiplayer so two people can play through Woodbury Getaway together.

What do I need to play the Woodbury Getaway co-op mod?

Your own copy of Fears to Fathom: Woodbury Getaway on Steam, the BepInEx 5 (Mono) mod loader, and the mod itself (open source on GitHub). Grab it from the Get the mod section above.

Also by me

My Winter Car — Multiplayer (MWCMP)

My other co-op mod, and the most popular one. Online multiplayer for My Winter Car — one host, friends join, the car and the world stay in sync. Same deal as Woodbury: back it to play new builds first.

Hire me

Services

I build co-op/multiplayer mods and the tooling that makes them. Two shipped and playable — Woodbury and My Winter Car. Want one built, or need the reverse-engineering work behind it? Find me on Discord.

Co-op / multiplayer mods

Turning singleplayer games into 2+ player co-op — host-authoritative sync, in-game lobby, real player avatars. The hard part, done properly.

Modding tools & reverse engineering

Injectors, memory tools, asset ripping, BepInEx plugins. See RipperForge and AssetRipper in the projects below.

Get in touch on Discord →