# Development Setup ## Required Tools - Fallout 4 on PC - Fallout 4 Script Extender, F4SE - Fallout 4 Creation Kit - Visual Studio 2022 or newer - Git - CMake or another build system required by the selected plugin template - Mod Organizer 2 or Vortex ## Recommended Fallout 4 Setup Use a clean test profile. Recommended: ```text Fallout 4 F4SE Commonwealth Online test plugin No other gameplay mods Dedicated test save ``` Avoid testing with a full modlist while developing the core systems. ## Main menu Do **not** deploy a patched `Interface/MainMenu.swf`. Commonwealth Online injects the **Multiplayer** row at runtime via the F4SE plugin. Use vanilla `MainMenu.swf` or no loose override. See [`MainMenu_Button_Injection_Guide.md`](MainMenu_Button_Injection_Guide.md) (full how-to) and [`MainMenu_Injection.md`](MainMenu_Injection.md) (project-specific notes). ## Version Tracking Record the exact versions used: ```text Fallout 4 version: F4SE version: Creation Kit version: CommonLibF4 template: Windows version: Compiler version: ``` ## Git Submodules After cloning, initialize vendored dependencies: ```bat git submodule update --init --recursive ``` This includes: * `ThirdParty/framework-F4-Conversion` — PrismaUI_F4 HTML overlay framework * `ThirdParty/Ultralight-SDK` — Ultralight SDK (`Windows` branch) for PrismaUI_F4 builds * `ThirdParty/GameNetworkingSockets-src` — networking library * `ThirdParty/xbyak` — assembler dependency `build-prismaui.bat` links the Ultralight SDK submodule into the PrismaUI build tree automatically. Override the SDK location with `ULTRALIGHT_SDK_PATH` if needed. ## Folder Notes Do not copy Fallout 4 game files into this repository. Do not copy F4SE binaries into this repository. Use the `plugin/external/README.md` file to document where external dependencies should be installed.