For future reference: I got this working by following the instructions posted by a user in the official discord:
https://discord.com/channels/125011928711036928/630756768435142668/1465447414088601767
Should the link break, here is the source code they posted:
#define OPTICK_API extern "C" __declspec(dllexport)
#define OPTICK_CALL __stdcall
#include <windows.h>
OPTICK_API long OPTICK_CALL StartCpuFrame(const char*, long) { return 0; }
OPTICK_API bool OPTICK_CALL Event(int, void*, int, void*, unsigned int) { return false; }
OPTICK_API long OPTICK_CALL Begin(int, void*, int, void*, unsigned int) { return 0; }
OPTICK_API void OPTICK_CALL End() {}
OPTICK_API void OPTICK_CALL RegisterThread(const char*) {}
OPTICK_API void OPTICK_CALL UnRegisterThread() {}
OPTICK_API void OPTICK_CALL TagS(int, void*, const char*) {}
OPTICK_API void OPTICK_CALL TagF(int, void*, float) {}
OPTICK_API void OPTICK_CALL TagI(int, void*, int) {}
OPTICK_API void OPTICK_CALL CustomStorageEvent(
void*, int, void*, int, void*, unsigned long long, unsigned long long, unsigned int) {}
OPTICK_API void* OPTICK_CALL RegisterCustomStorage(const char*, int, const char*) { return nullptr; }
OPTICK_API void* OPTICK_CALL RegisterCounter(const char*, int) { return nullptr; }
OPTICK_API void* OPTICK_CALL SetCounter(void*, float) { return nullptr; }
OPTICK_API void OPTICK_CALL TagICustomStorage(void*, long, int, void*, int) {}
OPTICK_API void OPTICK_CALL TagFCustomStorage(void*, long, int, void*, float) {}
OPTICK_API void OPTICK_CALL TagSCustomStorage(void*, long, int, void*, const char*) {}
OPTICK_API void OPTICK_CALL AttachStaticTag(int, long, float) {}
OPTICK_API int OPTICK_CALL RegisterStaticTag(const char*) { return 0; }
OPTICK_API void OPTICK_CALL StartCapture() {}
OPTICK_API void OPTICK_CALL StopCapture() {}
OPTICK_API void OPTICK_CALL SaveCapture(const char*) {}
They are essentially building a fake Optick.dll file and replacing the existing one in the Editor folder in the SDK installation with it.
This does not seem like a super solid fix, but it makes it work on my end for now without any issues.
Additionally, they mention that setting the PROTON_HIDE_NVIDIA_GPU=1 is still necessary to get it to run.
Compatibility Report
System Information
https://gist.github.com/CaptainPicarl/a5b748404edf7c5cc4eac293f634a03c
I confirm:
Proton Log:
steam-3578990_redacted18DEC2025.log
Symptoms
When attempting to launch the Mod SDK - the application now crashes, whereas it would previously launch without issue!
Reproduction
-Start with a new prefix/bottle (deleting the old bottle entirely).
-Install .NET 9.0.11 (per software requirement)
-Observe that the application will crash, and a minidump is generated in %appdata%/local/
I have also attempted the above with an included step of "Install .NET Framework 4.8", and that also fails.
The following appears to be a consistent crash that I'm seeing:
Steam Runtime Diagnostics, with sensitive information redacted, available here:
https://gist.github.com/CaptainPicarl/65c066b395a290313d86292c3f369951