Files
PS_ViveVBS/Unreal
j.foucher 7f9d5cbe4c Refactor ViveVBS plugin build to UE5 conventions
Why: the previous Build.cs copied the Vive DLLs manually via File.Copy
only for the Editor target, leaving Game/packaged builds with missing
runtime dependencies. The DYNAMIC_LINKAGE branch was also syntactically
broken, the SDK header/lib lived inside Source/, and the .uplugin used
the deprecated WhitelistPlatforms key.

- Move SDK to ThirdParty/VBS_SDK/{include,lib/Win64,bin/Win64}/ via
  git renames so history is preserved.
- Replace File.Copy + Editor-only branch with idiomatic
  RuntimeDependencies.Add(staged, source, NonUFS) — UBT now copies the
  DLLs next to the binary for both Editor (modular) and Game (monolithic)
  and stages them at packaging time.
- Drop dead #if DYNAMIC_LINKAGE block.
- Move SDK include path from Public to Private (no public header
  exposes Vive types) and remove the now-dead include from 4 public
  headers; add the SDK include to the 4 .cpp that actually use it.
- Rename WhitelistPlatforms -> PlatformAllowList (UE5).
- Populate FilterPlugin.ini with the ThirdParty paths so the plugin
  is redistributable when packaged standalone.

Validated by clean builds of PS_ViveVBSEditor (Win64 Development) and
PS_ViveVBS (Win64 Development Game), both exit 0, with UBT logging
the automatic Copy steps for the 3 Vive DLLs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 07:25:15 +02:00
..