Area
Compatibility
Motivation / use case
I am trying to run Slay the Spire 2 on an Android environment using a community-made launcher (StS2-Launcher_Mod_Manager). While most other mods(include BaseLib) work perfectly fine, RitsuLib and any mods that depend on it cause a black screen crash on startup. Since RitsuLib is a core dependency for many great mods, I want to achieve compatibility so mobile launcher users can enjoy them as well.
Proposed solution
The crash is caused by the absence of libsteam_api.so on Android. I would like to propose "gating" Steamworks.NET calls when running on non-PC platforms.
Specifically, I was wondering if it would be feasible to implement a check to skip Steam-related logic. For example:
- Using Conditional Compilation (
#if, #else) to exclude Steamworks calls.
- Or using Runtime Checks to prevent Steam API calls:
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) {
// Execute Steamworks.NET logic (SteamUser.GetSteamID, etc.)
}
Or, if possible, providing a separate "mobile-aware" build that excludes Steamworks dependencies entirely.
Alternatives considered
I have consulted with the launcher developer, but they confirmed this issue cannot be fixed launcher-side because it's a direct dependency within the mod's code. The only other alternative would be for users to manually decompile and patch the mod, which is not sustainable for most players.
Additional context
According to the launcher's technical analysis, the launcher provides a "no-op stub" for libsteam_api.so to allow the app to boot, but actual API calls to Steamworks SDK functions will always fail and cause a crash on Android. As RitsuLib is a vital library for the modding ecosystem, this small compatibility fix would have a huge impact on the growing mobile modding community.
I understand your primary focus is the PC version. However, if this isn't a massive structural task that requires rewriting the core logic, would you be open to implementing a fix or providing a "mobile-aware" build? I would love to be able to use your mod and its dependents on the mobile launcher. Thank you for your consideration!
This issue was analyzed in the launcher's repo: iunius612/StS2-Launcher_Mod_Manager#8
Area
Compatibility
Motivation / use case
I am trying to run Slay the Spire 2 on an Android environment using a community-made launcher (StS2-Launcher_Mod_Manager). While most other mods(include BaseLib) work perfectly fine, RitsuLib and any mods that depend on it cause a black screen crash on startup. Since RitsuLib is a core dependency for many great mods, I want to achieve compatibility so mobile launcher users can enjoy them as well.
Proposed solution
The crash is caused by the absence of
libsteam_api.soon Android. I would like to propose "gating" Steamworks.NET calls when running on non-PC platforms.Specifically, I was wondering if it would be feasible to implement a check to skip Steam-related logic. For example:
#if,#else) to exclude Steamworks calls.Or, if possible, providing a separate "mobile-aware" build that excludes Steamworks dependencies entirely.
Alternatives considered
I have consulted with the launcher developer, but they confirmed this issue cannot be fixed launcher-side because it's a direct dependency within the mod's code. The only other alternative would be for users to manually decompile and patch the mod, which is not sustainable for most players.
Additional context
According to the launcher's technical analysis, the launcher provides a "no-op stub" for
libsteam_api.soto allow the app to boot, but actual API calls to Steamworks SDK functions will always fail and cause a crash on Android. As RitsuLib is a vital library for the modding ecosystem, this small compatibility fix would have a huge impact on the growing mobile modding community.I understand your primary focus is the PC version. However, if this isn't a massive structural task that requires rewriting the core logic, would you be open to implementing a fix or providing a "mobile-aware" build? I would love to be able to use your mod and its dependents on the mobile launcher. Thank you for your consideration!
This issue was analyzed in the launcher's repo: iunius612/StS2-Launcher_Mod_Manager#8