Skip to content

ui3TD/IM-FastForward

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 

Repository files navigation

IM-FastForward

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

IM-HarmonyIntegration Modding Tutorial

Pre-requisites:

Ensure you have the following prerequisites installed to develop and run the mod:

Getting Started by Recreating This Mod:

  1. 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
  1. 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 the IM-FastForward folder:
    1. 0Harmony.dll: Located in the BepInEx\core folder.
    2. Assembly-CSharp.dll: Located in the IM_Data\Managed folder.
    3. Assembly-CSharp-firstpass.dll: Located in the IM_Data\Managed folder.directory.
    4. UnityEngine.UI.dll: Located in the IM_Data\Managed folder.
    5. Unity.TextMeshPro.dll: Located in the IM_Data\Managed folder.
    6. DOTween.dll: Located in the IM_Data\Managed folder.
  2. Open and Configure the Project: Open the FastForward.csproj file in Visual Studio.
  3. Set Output Directory: Change the <ModOutputDir> path to where you want your mod files to be output. By default, it points to a folder called Mods alongside the IM-FastForward folder.
<ModOutputDir>$(SolutionDir)\..\..\Mods</ModOutputDir>
  1. Set DLL Directory: Change the <dllDir> path to the folder where you placed your .dll files. By default, it points to a folder called dll alongside the IM-FastForward folder.
<dllDir>$(SolutionDir)\..\..\dll</dllDir>
  1. Open the Solution File: Double-click the FastForward.sln file to open it in Visual Studio.
  2. 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.

  1. 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-click Packages under Dependencies in the Solution Explorer and select Manage NuGet Packages... to search for and install the required packages:
  2. Build the Solution: To build the solution, select Build > Build Solution from the top menu in Visual Studio.

Congratulations, you've created the mod!

Making Your Own Mod Based on This Mod:

  1. Enable Debug Console: Edit the Idol Manager\BepInEx\config\BepInEx.cfg file. Under [Logging.Console], set Enabled = true. This will allow you to see the debug console when you run Idol Manager.
  2. Rename Files: Start with this base mod and rename your files within the Visual Studio Solution Explorer.
  3. 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. For HarmonyID, 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>
  1. Update Mod Files: Modify all your mod's files in the assets folder. As noted in Step 2, the info.json will be automatically generated.
  2. Develop Your Mod: Edit the .cs to develop your mod.

Tips:

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