See https://gist.github.com/germanoeich/aeaf5b49c4630b46bda369520217b5fa
List of workarounds to get the Core Keeper mod sdk working correctly on Linux.
Workaround for DllNotFoundException: shlwapi.dll assembly:<unknown assembly> type:<unknown type> member:(null) in ScriptableDataEditorUtility.FilePathComparer
Add a Linux-native shim DLL named shlwapi.dll to your Unity project at Assets/Plugins/CoreKeeperModSDK/shlwapi.dll:
- Create the shlwapi_stub.c file with the C code below.
- Compile with
gcc -shared -fPIC -O2 shlwapi_stub.c -o shlwapi.dll - Verify symbol exists in the DLL:
nm -D Assets/Plugins/CoreKeeperModSDK/shlwapi.dll | grep StrCmpLogicalW