- C# 76.3%
- Shell 13.7%
- Python 5.4%
- HTML 4.6%
This makes the dynamic loadout overlays behave correctly inside Unity UI layouts and under scaled transforms so selector cards stay on screen, overlap checks use real rendered bounds, and connector lines align consistently with the aircraft hardpoints. |
||
|---|---|---|
| .dev | ||
| NuclearConnectivity | ||
| NuclearDeathBlackout | ||
| NuclearDynamicLoadout | ||
| NuclearMapPlayerNames | ||
| NuclearMenuBackground | ||
| NuclearOptionVR | ||
| NuclearTacticalTools | ||
| NuclearUnits | ||
| scripts | ||
| .env.example | ||
| .gitignore | ||
| AGENTS.md | ||
| install-all-mods.sh | ||
| install-vr.sh | ||
| README.md | ||
Nuclear Option Mods Workspace
This repository is a local-first workspace for multiple Nuclear Option BepInEx mods. It is being consolidated into one root repository so the shared setup, install scripts, and publishing notes live in one place.
The root workflow does not assume GitHub. Per-mod release automation is parked until a publishing target is chosen.
Active Mods
NuclearConnectivity- external integration features, currently Steam Timeline markers for combat events.NuclearDeathBlackout- realistic local pilot-death blackout with temporary audio mute.NuclearDynamicLoadout- floating hardpoint loadout selectors over the aircraft preview.NuclearMapPlayerNames- shows multiplayer usernames next to player-controlled aircraft on the dynamic map.NuclearMenuBackground- lets players choose a local image for the main menu background.NuclearOptionVR- experimental Rai Pal/UUVR setup and bridge plugin for playing Nuclear Option in VR.NuclearTacticalTools- cockpit and combat quality-of-life tools such as targeting, warnings, tones, and fuel/terrain callouts.NuclearUnits- per-HUD-readout unit overrides for speed, altitude, climb rate, and range.
Requirements
Nuclear Optioninstalled locally.BepInEx 5installed for the regular game profile..NET SDKfor building the C# projects.- Local game assemblies from your install, especially
NuclearOption_Data/Managedand the BepInEx core assemblies. - Optional for VR: Rai Pal/UUVR with a separate managed BepInEx profile.
Environment
Copy the root example environment file and edit it for this machine:
cp .env.example .env
The root .env is the shared source of local paths for the workspace:
STEAMAPPS_DIRpoints at the Steam library root.GAME_DIR,GAME_BEPINEX_DIR,GAME_BEPINEX_PLUGINS_DIR, andGAME_BEPINEX_CONFIG_DIRpoint at the regular Nuclear Option install.NO_MANAGED_DIRandNO_BEPINEX_CORE_DIRpoint at local assemblies used by builds.VR_BEPINEX_DIR,VR_BEPINEX_PLUGINS_DIR, andVR_BEPINEX_CONFIG_DIRpoint at the Rai Pal/UUVR BepInEx profile.RAIPAL_BEPINEX_DIRis kept as a compatibility alias for the current VR bridge scripts.COPY_GAME_PLUGINSandCOPY_GAME_CONFIGScontrol which regular-game plugins/configs are copied into the VR profile.
Real .env files are ignored because they contain machine-specific paths. .env.example is tracked as the template.
Install
Regular game install builds and installs the non-VR mods into the normal game BepInEx folders:
bash install-all-mods.sh -v
VR install builds and installs NuclearOptionVRBridge, then syncs selected regular-game plugins/configs into the Rai Pal/UUVR profile:
bash install-vr.sh
The regular game install and VR profile are intentionally separate targets. Use the regular install for normal Nuclear Option, and use the VR install only for the Rai Pal/UUVR profile.
Building
Each mod can also be built directly with the .NET SDK after exporting the root environment values, for example:
set -a
source .env
set +a
dotnet build NuclearUnits/NuclearUnits.csproj -c Release
Build outputs under bin/, obj/, and dist/ are ignored and should be regenerated locally.
Releases
Release automation is parked during the monorepo migration. This workspace is publishing-tool-neutral and does not currently include per-mod release scripts.
No repository hosting provider is assumed by the root workflow.
Ignored Local Files
The repository tracks source, docs, examples, and scripts. It intentionally ignores real .env files, build outputs, release archives, downloaded third-party artifacts, local game/profile folders, logs, caches, and editor state.