You are viewing a potentially older version of this package. View all versions.
Groove_Salad-RiskOfWaiting-2.1.0 icon

RiskOfWaiting

Launch the game posthaste with these sexy startup optimizations

Date uploaded 20 hours ago
Version 2.1.0
Download link Groove_Salad-RiskOfWaiting-2.1.0.zip
Downloads 2254
Dependency string Groove_Salad-RiskOfWaiting-2.1.0

This mod requires the following mods to function

bbepis-BepInExPack-5.4.2122 icon
bbepis-BepInExPack

Unified BepInEx all-in-one modding pack - plugin framework, detour library

Preferred version: 5.4.2122

README

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
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

Additionally, the following improvements were originally built for this mod but now live in RoR2BepInExPack! See the pull requests at:

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
EntityStateCatalog Waits for the next frame too often while applying entity state configurations Yield less often
PostProcessManager Scans EVERY assembly in the domain for post process effects Only scan assemblies that reference Unity.Postprocessing.Runtime; exclude MMHOOK assemblies
VolumeManager* Scans EVERY assembly in the domain for VolumeComponent types Only scan assemblies that reference Unity.RenderPipelines.Core.Runtime; exclude MMHOOK assemblies

*The VolumeManager does not init during startup; it is lazily initialized by the Winnowing of Mortality scene (soul1)

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!

Buy Me A Coffee

CHANGELOG

Changelog

2.1.0

Some things are now part of RoR2BepInExPack, yay! You can safely delete the PostProcessingCache data at /Risk of Rain 2/RiskOfWaitingReduxData/PostProcessingCache since it will no longer be used.

Removed

  • Remove PostProcessManager fix, it has moved to RoR2BepInExPack
  • Remove PostProcessManager cache
  • Remove EntityStateCatalog fix, it has also moved to RoR2BepInExPack!

2.0.2

Fixed

  • Increase the severity of some SearchableAttributeCache log messages from debug to error, and adjust log messages

2.0.1

Fixed

  • Reduce the severity of some log messages from error to info
  • Fix an incompatibility with UnityExplorer caused by some duplicate assembly nonsense

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