FastForward mod for Idol Manager. This mod speeds up the game's time by 5x when you press '4' or click the fast-forward button twice!
This is a little example mod to demonstrate the capabilities of IM-HarmonyIntegration
Ensure you have the following prerequisites installed to develop and run the mod:
- Clone the Repository:
Download the source files by cloning this git repository. The command will create an
IM-FastForward
folder with all the files downloaded.
git clone https://github.com/ui3TD/IM-FastForward
- Gather Important .dll Files:
Collect the following key .dll files from your Idol Manager installation directory and place them in a convenient folder such as a folder called
dll
alongside theIM-FastForward
folder:0Harmony.dll
: Located in theBepInEx\core
folder.Assembly-CSharp.dll
: Located in theIM_Data\Managed
folder.Assembly-CSharp-firstpass.dll
: Located in theIM_Data\Managed
folder.directory.UnityEngine.UI.dll
: Located in theIM_Data\Managed
folder.Unity.TextMeshPro.dll
: Located in theIM_Data\Managed
folder.DOTween.dll
: Located in theIM_Data\Managed
folder.
- Open and Configure the Project:
Open the
FastForward.csproj
file in Visual Studio. - Set Output Directory:
Change the
<ModOutputDir>
path to where you want your mod files to be output. By default, it points to a folder calledMods
alongside theIM-FastForward
folder.
<ModOutputDir>$(SolutionDir)\..\..\Mods</ModOutputDir>
- Set DLL Directory:
Change the
<dllDir>
path to the folder where you placed your .dll files. By default, it points to a folder calleddll
alongside theIM-FastForward
folder.
<dllDir>$(SolutionDir)\..\..\dll</dllDir>
- Open the Solution File:
Double-click the
FastForward.sln
file to open it in Visual Studio. - Check Dependencies:
In the Solution Explorer, ensure all your .dll files are detected under
Dependencies > Assemblies
. If they are not listed, verify steps 2 and 5.
- Check NuGet Packages:
Ensure required NuGet packages are installed. If they are not automatically downloaded, you can try running
setup_nuget_packages.bat
to install the packages. Otherwise, right-clickPackages
underDependencies
in the Solution Explorer and selectManage NuGet Packages...
to search for and install the required packages:- Package:
Microsoft.NETFramework.ReferenceAssemblies.net46
Version: 1.0.3 Source: http://api.nuget.org/v3/index.json UnityEngine.Modules
Version: 2019.4.23 Source: https://nuget.bepinex.dev/v3/index.json
- Package:
- Build the Solution:
To build the solution, select
Build > Build Solution
from the top menu in Visual Studio.
Congratulations, you've created the mod!
- Enable Debug Console:
Edit the
Idol Manager\BepInEx\config\BepInEx.cfg
file. Under[Logging.Console]
, setEnabled = true
. This will allow you to see the debug console when you run Idol Manager. - Rename Files: Start with this base mod and rename your files within the Visual Studio Solution Explorer.
- Configure the Mod Info:
Open the .csproj file to input all of your mod information. The .csproj file is set up to automatically generate the mod
info.json
file. ForHarmonyID
, it's recommended to use Reverse Domain Name Notation so that the ID is unique and organized.
<ModName>YourModName</ModName>
<HarmonyID>com.yourdomain.modname</HarmonyID>
<ModDescription>Input your mod description here</ModDescription>
<Authors>YourName</Authors>
<Version>1.0.0</Version>
<Tags>["gameplay"]</Tags>
- Update Mod Files:
Modify all your mod's files in the
assets
folder. As noted in Step 2, theinfo.json
will be automatically generated. - Develop Your Mod: Edit the .cs to develop your mod.
- Open
Assembly-CSharp.dll
in dnSpy to explore the game's code and identify what to patch. - Check out the official Harmony documentation here.
- This is a great Youtube tutorial introducing Harmony.
- Join the Idol Manager Official Discord to discuss with others in the modding community.