BetterCoop
Two scouts, one body: the Carrier has the keyboard, the Rider has the mouse. Pray for a partner who knows the way.
| Last updated | 2 days ago |
| Total downloads | 248 |
| Total rating | 0 |
| Categories | AI Generated Mods All Clients Gameplay |
| Dependency string | kawalain-BetterCoop-0.7.1 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
BepInEx-BepInExPack_PEAK
BepInEx pack for PEAK. Preconfigured and ready to use.
Preferred version: 5.4.75301README
BetterCoop
Two scouts, one body: the Carrier has the keyboard, the Rider has the mouse, and they live and die together. Pray for a partner who knows the way, and not one who eats every mushroom.

How it plays
| Carrier (keyboard) | Rider (mouse) |
|---|---|
| Move, jump, sprint, crouch | Look and steer |
| Interact, pick up, drop, throw | Use the held item |
| Hotbar, emotes, open the backpack wheel | Scroll, ping, pick from the backpack wheel |
- The Roster in the ESC menu shows who carries whom, and the Run Report hands out Merit Badges to the steadiest back and the comfiest passenger.
- Everyone who wants a partner needs the mod. Anyone without it can still join the Run, but makes the climb alone, and a little lonely.
- BetterCoop gets along with other mods, though its rules win while you are in a Pair. It steps aside for Co-op Mod, which does the same job, and for a game update it has not caught up with.
| Roster at the Airport | Roster during a Run | Run Report |
|---|---|---|
![]() |
![]() |
![]() |
Settings
The Troop Leader sets the Run Rules on the Roster, where each one is
explained: Honour Role Preferences, Allow Role Swaps, Late Pairing, Allow Odd
Player Count, Campfire Shuffle, Timed Shuffle, Hand Over Place and Items,
Rescue Carry, Carry Weight, and Rider Picks From Backpack. Each player sets
their own Role Preference there. If the climb keeps going wrong and it is not
your partner's fault, turn on Verbose Log in your mod manager's config and
send BepInEx/LogOutput.log with your bug report.

For mod developers
BetterCoop.Api lets another mod read the Pairs without depending on
BetterCoop's internals: Enabled (false while the mod is off, or sits out a
room whose Troop Leader's version does not work with this one), RoleOf(character),
TryGetPartner(character, out partner), TryGetSharedBody(character, out body)
(a Rider plays through their Carrier's body), and the events PairsChanged,
PairChangeStarting, and PairChangeFinished. ApiVersion rises only when a
change breaks callers. A Rider's own character is idle while carried and its
statuses are kept clear, so a mod that shows players' status should show the
Shared Body instead.
Reference BetterCoop.dll as a soft dependency and keep the calls in a
method of their own, so your mod still loads without BetterCoop:
[BepInDependency("in.kawala.bettercoop", BepInDependency.DependencyFlags.SoftDependency)]
public class MyPlugin : BaseUnityPlugin
{
static bool HasBetterCoop => Chainloader.PluginInfos.ContainsKey("in.kawala.bettercoop");
static bool IsRider(Character character) => HasBetterCoop && IsRiderInBetterCoop(character);
[MethodImpl(MethodImplOptions.NoInlining)]
static bool IsRiderInBetterCoop(Character character) =>
BetterCoop.Api.RoleOf(character) == BetterCoop.Api.Role.Rider;
}
Antivirus warnings
Some antivirus programs flag BetterCoop.dll by a machine-learning guess, a
name ending in !ml, as they often do with mods. Allow the file and install
the mod again. The source is open at
https://github.com/kawalain/peak-better-coop.
Credits
- Sappheiros009: Co-op Mod, the original idea that BetterCoop grew from.
- Puro: ideas and testing.
- kawalain: maintainer.


