Why: vendor SDKs distributed inside UE plugins typically ship a single
folder per platform rather than the Unix-style include/lib/bin split.
Grouping VS_PC_SDK.lib alongside the three runtime DLLs matches what
HTC and most XR SDKs publish and keeps the layout closer to what a
maintainer expects when dropping in a new SDK release.
- Move VS_PC_SDK.lib from lib/Win64/ into Win64/ alongside the DLLs.
- Remove the now-empty lib/ and bin/ subdirectories.
- Update Build.cs to use a single Win64Dir variable.
- Update FilterPlugin.ini to reference the consolidated path.
Validated by clean rebuilds of PS_ViveVBSEditor and PS_ViveVBS Win64
Development targets, both exit 0 with the three DLLs auto-copied next
to the binary.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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>