The BepInEx console will not appear when launching like it does for other games on Thunderstore (you can turn it back on in your BepInEx.cfg file). If your PEAK crashes on startup, add -dx12 to your launch parameters.
Decompiled source of OldMainMenu v1.0.1
OldMenuOverride.dll
Decompiled 3 weeks agousing System.Collections; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using HarmonyLib; using UnityEngine; using UnityEngine.SceneManagement; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: AssemblyCompany("OldMenuOverride")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("OldMenuOverride")] [assembly: AssemblyTitle("OldMenuOverride")] [assembly: AssemblyVersion("1.0.0.0")] namespace OldMenuOverride; [BepInPlugin("com.yourname.oldmenuoverride", "Old Menu Override", "1.0.0")] public class Plugin : BaseUnityPlugin { private class Runner : MonoBehaviour { public IEnumerator DelayedToggle() { yield return 0; Toggle("MainCamera (1)", enable: false); Toggle("MainCamera", enable: true); Toggle("Theme (1)", enable: false); Toggle("Desert", enable: false); Toggle("Desert (1)", enable: false); Toggle("Tornado", enable: false); Toggle("Beach", enable: true); GameObject val = FindEvenIfInactive("Title Music"); if ((Object)(object)val != (Object)null) { Transform val2 = val.transform.Find("Mesa Title"); if ((Object)(object)val2 != (Object)null) { ((Component)val2).gameObject.SetActive(false); Debug.Log((object)"[OldMenuOverride] Disabled Mesa Title"); } Transform val3 = val.transform.Find("Regular"); if ((Object)(object)val3 != (Object)null) { ((Component)val3).gameObject.SetActive(true); Debug.Log((object)"[OldMenuOverride] Enabled Regular"); } } Transform val4 = val.transform.Find("Regular/Music Title Regular"); if ((Object)(object)val4 != (Object)null) { AudioSource component = ((Component)val4).GetComponent<AudioSource>(); if ((Object)(object)component != (Object)null) { component.loop = true; Debug.Log((object)"[OldMenuOverride] Enabled looping for Title Music Regular."); } else { Debug.LogWarning((object)"[OldMenuOverride] Could not find AudioSource on Music Title Regular."); } } else { Debug.LogWarning((object)"[OldMenuOverride] Could not find Regular/Music Title Regular object."); } Debug.Log((object)"[OldMenuOverride] All overrides applied"); static void Toggle(string name, bool enable) { GameObject val5 = FindEvenIfInactive(name); if ((Object)(object)val5 != (Object)null) { val5.SetActive(enable); Debug.Log((object)("[OldMenuOverride] " + (enable ? "Enabled" : "Disabled") + " " + name)); } else { Debug.LogWarning((object)("[OldMenuOverride] Could not find " + name)); } } } } private void Awake() { Harmony.CreateAndPatchAll(typeof(Plugin), (string)null); Debug.Log((object)"[OldMenuOverride] Plugin loaded!"); } private static GameObject FindEvenIfInactive(string name) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) Scene activeScene = SceneManager.GetActiveScene(); GameObject[] rootGameObjects = ((Scene)(ref activeScene)).GetRootGameObjects(); for (int i = 0; i < rootGameObjects.Length; i++) { Transform val = FindInChildren(rootGameObjects[i].transform, name); if ((Object)(object)val != (Object)null) { return ((Component)val).gameObject; } } return null; } private static Transform FindInChildren(Transform parent, string name) { //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Expected O, but got Unknown if (((Object)parent).name == name) { return parent; } foreach (Transform item in parent) { Transform val = FindInChildren(item, name); if ((Object)(object)val != (Object)null) { return val; } } return null; } [HarmonyPatch(typeof(MainMenu), "Start")] [HarmonyPostfix] private static void MainMenuStart_Postfix() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) Runner runner = new GameObject("OldMenuOverrideRunner") { hideFlags = (HideFlags)61 }.AddComponent<Runner>(); ((MonoBehaviour)runner).StartCoroutine(runner.DelayedToggle()); } }