Plugin was non-autonomous: Build.cs referenced ../../../../Dependencies (SDK installed externally) and copied dpwin64.dll into the project's Binaries at build time, requiring manual DLL placement. Migrate to the canonical UE third-party pattern so the plugin self-contains everything and UBT handles staging. - Embed minimal SDK files inside the plugin: dris.h, dpwin64.lib in Source/ThirdParty/DinkeyPro/, dpwin64.dll in Binaries/ThirdParty/DinkeyPro/Win64/. - Switch from runtime GetProcAddress to import-lib delay-load (better protection: calls go through PE import table instead of named lookup). - Load DLL via IPluginManager::FindPlugin()->GetBaseDir() — no more ProjectDir-based path, no more manual File.Copy in Build.cs. - Drop Win32 dead code; plugin is Win64-only per the .uplugin whitelist. - Update .gitignore to keep Binaries/ThirdParty/ tracked while ignoring build artifacts under Binaries/Win64/. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
12 lines
408 B
Plaintext
12 lines
408 B
Plaintext
# Unreal generated / per-machine
|
|
Unreal/PS_Dinkey/.vs/
|
|
Unreal/PS_Dinkey/Binaries/
|
|
Unreal/PS_Dinkey/DerivedDataCache/
|
|
Unreal/PS_Dinkey/Intermediate/
|
|
Unreal/PS_Dinkey/Saved/
|
|
|
|
# Plugin generated — but keep Binaries/ThirdParty (DLLs shipped with the plugin)
|
|
Unreal/PS_Dinkey/Plugins/PS_Dinkey/Binaries/*
|
|
!Unreal/PS_Dinkey/Plugins/PS_Dinkey/Binaries/ThirdParty/
|
|
Unreal/PS_Dinkey/Plugins/PS_Dinkey/Intermediate/
|