EVReborns-LobbySkinPreviewFix icon

LobbySkinPreviewFix

Fixes modded skins that look wrong only on the character select screen (vanilla model, pink model, leftover parts from the previous skin).

Last updated 3 hours ago
Total downloads 92
Total rating 0 
Categories AI Generated
Dependency string EVReborns-LobbySkinPreviewFix-1.0.0
Dependants 0 other packages depend on this package

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

LobbySkinPreviewFix

Some modded skins look fine in a run but wrong on the character select screen: the vanilla model shows instead, the model turns pink, or parts of the previously selected skin stay on the model. This mod fixes the lobby preview only.

What it does

  1. Rebuilds the lobby model on every skin change. The lobby normally applies each new skin on top of the old one, so leftovers stay (hair, extra bones, custom visuals). Now each skin starts from a fresh model, the same way it does in a run. Changing skills does not rebuild it.
  2. Uses the real SkinDef instead of the lobby copy. The lobby model holds copies of the skins (skinName(Clone)). Skin mods that check "is this my skin?" by name or by reference fail on the copy and show the vanilla model. The copies are swapped back to the originals from the body model.
  3. Adds placeholders for parts that the lobby model lacks. The display model is missing some parts that the body model has (for example Artificer's jet fire). An older-style skin that targets them throws a NullReferenceException halfway through, leaving the model pink. Invisible placeholders let the skin finish applying.
  4. Matches different model paths. If a skin looks for parent/part but the lobby model has part directly, the part is moved under a matching parent on the lobby model.
  5. Removes DynamicSkinsFix's "apply default skin first" lobby hook, which raced with the selected skin. It is no longer needed because the model is rebuilt. You can turn this off in the config.
  6. Ryoshu (Xion) skin: retargets its mesh from a particle renderer to MercMesh (it picked its renderer by index).

All lobby changes affect only the character select model. Only the Ryoshu retarget also applies in a run.

Tested with: Kanade Yoisaki Artificer, Angelina Artificer, Trigger Railgunner, SAO Sinon Railgunner, Miyabi Mercenary, Ryoshu, Mym Acolyte, together with DynamicSkinsFix, MwSkinAdditions and LobbySkinsFix.

This is visual only. Each player only needs it for their own screen.

Config

  • RemoveDynamicSkinsFixZeroFirst (default true)
  • LogDiagnostics (default false): writes the lobby model's skins and renderers to the log on every skin change, for reporting a skin that still looks wrong.

Credits

  • Thanks to the authors of the skin mods above. This mod does not include or change any of their files.
  • DynamicSkinsFix and MwSkinAdditions by mwmw, LobbySkinsFix by KingEnderBrine.
  • BepInExPack by bbepis: https://thunderstore.io/c/riskofrain2/p/bbepis/BepInExPack/
  • HarmonyX (bundled with BepInEx), used for runtime patching.

Source code is in the src folder. Contact: https://github.com/EVReborns