Files
Commonwealth-Online-Public/docs/setup.md
T
Andrew Zambazos 5bbcccee2c Add Ultralight SDK submodule and update scripts
Add Ultralight SDK as a git submodule (ThirdParty/Ultralight-SDK, Windows branch) and update build/deploy tooling and docs to use the vendored SDK by default. Updated .gitmodules and added the submodule pointer; build-prismaui.bat and deploy-all.bat now default UL_SDK to the submodule path and build-prismaui.bat checks the submodule is initialized. The PowerShell linker script (scripts/setup-ultralight-link.ps1) now falls back to ThirdParty/Ultralight-SDK when no SdkPath is provided. Documentation and developer log updated (docs/setup.md, plugin/setup.md, docs/dev-log.md) to document submodule initialization and usage; ULTRALIGHT_SDK_PATH can still override the default. Run 'git submodule update --init --recursive' on clones to initialize the SDK.
2026-06-11 14:16:41 +12:00

70 lines
1.8 KiB
Markdown

# 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.