diff --git a/README.md b/README.md index 47d4038..a5358ec 100644 --- a/README.md +++ b/README.md @@ -161,10 +161,19 @@ build/package/licenses/... ``` That is exactly the layout OBS searches on Linux and Windows — -`/obs-studio/plugins//bin/64bit` plus a sibling `data/`, per -`AddExtraModulePaths()` in obs-studio's `UI/window-basic-main.cpp` — so -`build/package/` is a straight drop-in. The module resolves the LiveKit -libraries from `$ORIGIN` (verified: `ldd` on the staged copy resolves both +`/obs-studio/plugins//bin/64bit` plus a sibling `data/`, per +`AddExtraModulePaths()` in obs-studio (`UI/window-basic-main.cpp` in 30.x, +`frontend/widgets/OBSBasic.cpp` in 32.x) — so `build/package/` is a straight +drop-in. **`` is NOT the same directory on every platform**, and getting +this wrong is silent: OBS logs nothing at all for a plugin it never finds. +Linux uses the user config dir (`GetAppConfigPath` → `~/.config`), but Windows +uses `GetProgramDataPath` (`CSIDL_COMMON_APPDATA`) — i.e. +`C:\ProgramData\obs-studio\plugins\`, **not** `%APPDATA%\obs-studio\` +(`CSIDL_APPDATA`), which on Windows holds OBS's config and is never scanned for +plugins. This bit a director on 2026-09-09: a correctly-shaped install under +`AppData\Roaming` produced a log with zero mention of the module. + +The module resolves the LiveKit libraries from `$ORIGIN` (verified: `ldd` on the staged copy resolves both to `bin/64bit/`), not from the build tree. macOS is not this shape; see the macOS packaging gap under CI.