MenuOverhaul is a BepInEx plugin designed to enhance and customize the main menu interface of the game. It provides users with options to change the visual appearance of the menu, including background elements, player model display, UI positioning, and lighting effects.
Install the mod by dragging the first folder in the zip into your SPT install directory. Huge thanks to GrooveypenguinX for all the help and ability to look at your initial version of this menu. I also want to thank the SPT modding community in Discord. This is a WTT release.
Note
Make sure to apply the Factory theme in the game menu before installing this mod.
- Customizable Main Menu Background:
- Enable or disable the custom background.
- Adjust horizontal and vertical scaling of the background image.
- Adjustable UI Elements:
- Enable or disable the top glow effect in the menu.
- Modify the horizontal position of the game logotype.
- Enhanced Player Model Display:
- Display player model in the main menu.
- Adjust the horizontal position of the player model.
- Adjust the horizontal rotation of the player model.
- Enable extra shadows for a more detailed player model.
- Player Information Panel:
- Adjust the horizontal and vertical position of the player information text (level, nickname, etc.).
- Button & Animation Enhancements:
- Modifies button icon and label appearances.
- Adjusts alpha and animations for UI elements for a cleaner look.
- Configuration:
- In-game configuration options available via BepInEx ConfigurationManager.
- BepInEx: This plugin requires a BepInEx pack appropriate for the target game.
- BepInEx.ConfigurationManager: (Recommended) For in-game configuration of the plugin settings.
- Target Game: This plugin is designed for SPT (Single Player Tarkov).
This plugin can be configured through the BepInEx ConfigurationManager interface (accessible by pressing F12 in-game) or by editing the configuration file directly. The configuration file is located at BepInEx/config/MoxoPixel.MenuOverhaul.cfg after the first run.
Key settings include:
- General Settings:
Enable Background: Toggle the custom menu background.Enable Top Glow: Toggle the glow effect at the top of the menu.Enable Extra Shadows: Toggle additional shadows for the player model.
- Adjustment Settings:
Position Logotype Horizontal: Adjust the horizontal placement of the game's logo.Position Player Model Horizontal: Adjust the horizontal placement of the player character model.Position Player Info Horizontal: Adjust the horizontal placement of the player's information panel.Position Player Info Vertical: Adjust the vertical placement of the player's information panel.Scale Background Horizontally: Control the width of the background image.Scale Background Vertically: Control the height of the background image.Rotate Player Model: Control the rotation of the player character model.
Refer to the ConfigurationManager in-game for detailed descriptions and value ranges for each setting.
- This project is written in C#.
- It targets .NET Framework 4.7.1.
- Dependencies include:
UnityEngine.dll,UnityEngine.CoreModule.dll,UnityEngine.UI.dll,UnityEngine.ImageConversionModule.dll(from the game'sManagedfolder)Assembly-CSharp.dll(from the game'sManagedfolder, or the specific version used by SPT-AKI)BepInEx.dll0Harmony.dllBepInEx.PluginInfoProps.dllDOTween.dll(likely from the game'sManagedfolder or included with BepInEx/SPT)TextMeshPro.dll(or the version used by the game)
The plugin utilizes HarmonyX patches to modify game behavior:
MenuOverhaulPatch: ModifiesMenuScreen.Showto apply general layout changes, background, and logotype adjustments.PlayerProfileFeaturesPatch: Also patchesMenuScreen.Showto add and configure the player model and its associated UI elements (like stats).SetAlphaPatch: ModifiesDefaultUIButtonAnimation.method_1to adjust button alpha and animations.- Other patches (e.g.,
OnGameEndedPatch,OnGameStartedPatch,TweenButtonPatch) handle specific game events or UI component behaviors.
Contributions are welcome! If you have suggestions, bug reports, or want to contribute code, please open an issue or submit a pull request on the GitHub repository.

