Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
RiskOfWaiting
Launch the game posthaste with these sexy startup optimizations
| Date uploaded | a day ago |
| Version | 2.0.0 |
| Download link | Groove_Salad-RiskOfWaiting-2.0.0.zip |
| Downloads | 869 |
| Dependency string | Groove_Salad-RiskOfWaiting-2.0.0 |
This mod requires the following mods to function
bbepis-BepInExPack
Unified BepInEx all-in-one modding pack - plugin framework, detour library
Preferred version: 5.4.2121README
Risk of Waiting
Load the game faster, thanks to some good old-fashioned optimization and caching!
Risk of Waiting makes no meaningful changes to startup functionality, and is intended to be compatible with every mod.
Cache Files
This mod stores cache files in your Risk of Rain 2 folder, under /RiskofWaitingReduxData/. They are tiny files (>1 KB per mod) and always safe to delete.
Overview
A brief overview of the improvements included in this mod, for fellow mod devs and other interested persons. See the source code at https://github.com/Priscillalala/RiskOfWaitingRedux (MIT licensed)
| Process | Problem | Improvement |
|---|---|---|
| PostProcessManager* | Scans EVERY assembly in the domain for post process effects | Only scan assemblies that reference Unity.Postprocessing.Runtime; exclude MMHOOK assemblies |
| EntityStateCatalog | Waits for the next frame too often while applying entity state configurations | Yield less often |
| SearchableAttribute | Uses a lot of reflection to scan types and members for attributes | Cache the search |
| ConVars | Uses a lot of reflection to scan fields and methods for ConVars | Cache the search |
*This mod also includes a cache system for the PostProcessManager; however, the performance gains are nominal compared to any other improvement
Additionally, the following AchievementManager improvements were originally built for this mod but got added to RoR2BepInExPack instead. See the PR at https://github.com/risk-of-thunder/RoR2BepInExPack/pull/48
| Process | Problem | Improvement |
|---|---|---|
| AchievementManager | Waits for the next frame after processing EACH achievement type | Yield each time 100 achievements are registered |
| AchievementManager | Scans assemblies which will never contain achievements | Only scan assemblies that reference RoR2; exclude MMHOOK assemblies and RoR2BepInExPack |
Contact
You can find me in the RoR2 Modding Server @groove_salad
Or, you can post issues and feedback on the GitHub
Donations
If this mod saved a few minutes of your life, consider buying me a coffee!
CHANGELOG
Changelog
2.0.0
Completely rewrote the mod with a focus on tangible optimizations and caching; it is much faster now!
Added
- Optimize PostProcessManager initialization
- Implement PostProcessManager cache
- Implement SearchableAttribute cache
- Implement ConVar cache
- Optimize EntityStateCatalog initialization
Removed
- Remove everything from version 1.0.0
1.0.0
Initial release
