Add a short "moving" hold to reduce flicker when movement briefly stops. Introduces a 300ms stop-hold for both proxy animation sync and local player movement sampling: add chrono include and movingHoldUntil to ProxyAppliedAnimationState, a kProxyMovingStopHoldDuration constant, ApplyMovingHoldState and BuildDebouncedDesiredState in F4TProxyAnimationSync, and replace direct desired-state usage with the debounced version. In main.cpp add kMovementStopHoldDuration, ResolveMovementHoldState, refactor BuildPlayerMovementState, add an overloaded GetPlayerMovementState, and separate debug vs network sampling (with separate movingHoldUntil variables) so logging uses per-frame debug state while network sends use the debounced network state. Also gate diagnostic logging behind a flag. These changes aim to stabilize isMoving/isSprinting transitions and avoid rapid toggles between frames and network updates.
Fallout 4 Together
Fallout 4 Together is an experimental research project exploring the possibility of adding basic multiplayer-style networking to Fallout 4.
The goal is not to create a full co-op campaign mod immediately. The first goal is much smaller:
Two Fallout 4 clients in a controlled test environment, with each player visible as a synced remote actor.
This project is currently in the research and prototype stage.
Project Goals
First Prototype
- Load a native Fallout 4 plugin through F4SE
- Connect to a local test server
- Send local player position data
- Receive remote player transform data
- Represent another connected player using a placeholder actor
- Restrict all testing to a custom test cell
Long-Term Ideas
- Basic LAN multiplayer test mode
- Remote player movement sync
- Basic animation state sync
- Basic chat or debug messages
- Host-controlled test cell
- Simple co-op combat arena
Non-Goals
This project is not currently trying to support:
- Full Fallout 4 campaign co-op
- Quest synchronization
- Settlement synchronization
- Full NPC/world state synchronization
- VATS synchronization
- Public server/MMO gameplay
- Compatibility with large modlists
Those systems are extremely complex and are outside the scope of the first prototype.
Repository Layout
docs/ Project documentation and research notes
plugin/ Native F4SE/CommonLibF4 plugin work
creation-kit/ Creation Kit plugin files, Papyrus scripts, and test cell notes
server/ External multiplayer test server
protocol/ Network packet design and sync documentation
tools/ Helper scripts and utilities
test-data/ Example packets and test data
screenshots/ Development screenshots
Requirements
This project is expected to require:
- Fallout 4 on PC
- Fallout 4 Script Extender, F4SE
- Fallout 4 Creation Kit
- Visual Studio 2022 or newer
- CMake or another supported C++ build system
- A CommonLibF4-based plugin template
- Git
- A clean Fallout 4 test profile
Recommended Development Setup
Use a separate Fallout 4 installation or a dedicated modding profile for testing.
Recommended setup:
Fallout 4
F4SE
Creation Kit
Mod Organizer 2 or Vortex
Visual Studio
Git
Use a clean test save and avoid testing with a full personal modlist.
Legal Notice
This repository does not include Fallout 4 game files, Bethesda assets, F4SE binaries, or any proprietary game code.
Users are responsible for owning Fallout 4 and installing required external tools themselves.
Status
Current status:
Research phase
Repository structure setup
Protocol planning
No playable multiplayer build yet
License
To be decided.