Files
Commonwealth-Online-Public/plugin
andrew b128729ebf Stabilize proxy visibility and smooth movement
Fix proxy orbiting and improve motion/visibility handling.

- Capture a per-slot visibleDebugAnchorPosition (reset on reassignment) to keep pre-placed proxies visually stable and avoid orbiting when the local player moves.
- Remove the debug +20Z offset so pre-placed actors remain grounded.
- Add GetRuntimeProxyVisibleTargetPosition to compute a stable visible target (anchored base + scaled remote delta).
- Replace teleport-heavy updates with smooth movement: add InjectProxyMovementVelocity to publish velocity into bhkCharacterController, call Actor::Move() per-frame and inject velocity for animation blending.
- Prefer reusing pre-placed pool proxies before attempting dynamic spawn.
- Implement dynamic spawn via NEW_REFR_DATA / TESDataHandler::CreateReferenceAtLocation, apply debug visibility to spawned actors, and store handles in the dynamic pool.
- Harden debug visibility setup: explicitly enable/disable 3D, alpha, display geometry, set 3D update flags and queue a TaskQueueInterface 3D update; expand debug logging.
- Remove unsafe currentProcess target-clearing code and other minor cleanups.
- Add dev-log entries describing Phase 6 debugging and fixes.
2026-06-03 18:27:06 +12:00
..
2026-05-30 18:13:54 +12:00

Fallout4Together Plugin

This is the native Fallout4Together plugin using CommonLibF4.

Requirements

  • XMake [3.0.0+]
  • C++23 Compiler (MSVC or Clang-CL)

Getting Started

git clone --recurse-submodules https://github.com/libxse/Fallout4Together
cd Fallout4Together

Build

To build the project, run the following command:

xmake build

Note: This will generate a build/windows/ directory in the project's root directory with the build output.

Build Output (Optional)

If you want to redirect the build output, set one of the following environment variables:

  • Path to a Mod Manager mods folder: XSE_FO4_MODS_PATH

    or

  • Path to a Fallout 4 install folder: XSE_FO4_GAME_PATH

Project Generation (Optional)

If you use Visual Studio, run the following command:

xmake project -k vsxmake

Note: This will generate a vsxmakeXXXX/ directory in the project's root directory using the latest version of Visual Studio installed on the system.

Alternatively, if you do not use Visual Studio, you can generate a compile_commands.json file for use with a laguage server like clangd in any code editor that supports it, like vscode:

xmake project -k compile_commands

Note: You must have a language server extension installed to make use of this file. I recommend clangd. Do not have more than one installed at a time as they will conflict with each other. I also recommend installing the xmake extension if available to make building the project easier.

Upgrading Packages (Optional)

If you want to upgrade the project's dependencies, run the following commands:

xmake repo --update
xmake require --upgrade

Documentation

Please refer to the Wiki for more advanced topics.