Difference between revisions of "Room Girl/Modding"
m (Changed "previews" to "previous", because that's the intended meaning) |
SpockBauru (talk | contribs) (updated Installing Bepinex) |
||
(7 intermediate revisions by the same user not shown) | |||
Line 24: | Line 24: | ||
Unity uses a language called C# (reads C sharp) to make programs for the games. These programs must be converted to machine language in order to run in the computer. This conversion is made by the Scripting Backend. In recent year Unity has two types of scripting backends: Mono and IL2CPP. | Unity uses a language called C# (reads C sharp) to make programs for the games. These programs must be converted to machine language in order to run in the computer. This conversion is made by the Scripting Backend. In recent year Unity has two types of scripting backends: Mono and IL2CPP. | ||
− | * '''Mono''' is the old one. To simplify things, let’s say that it uses a virtual machine between the C# code and the hardware. With this approach, you can write the same code, and Unity can change just the virtual machine to run in many platforms, like videogames, | + | * '''Mono''' is the old one. To simplify things, let’s say that it uses a virtual machine between the C# code and the hardware. With this approach, you can write the same code, and Unity can change just the virtual machine to run in many platforms, like videogames, smartphones, PC, etc. This is a mature technology and is used by BepInEx to change the game code. This is the one that previous Illusion games used. |
* '''IL2CPP''' is the new one, it means “Intermediate Language to C++”. IL2CPP takes the C# code and convert directly to the C++ native language skipping the “virtual machine” part, which theoretically make the game runs faster. This is the one that Room Girl uses. | * '''IL2CPP''' is the new one, it means “Intermediate Language to C++”. IL2CPP takes the C# code and convert directly to the C++ native language skipping the “virtual machine” part, which theoretically make the game runs faster. This is the one that Room Girl uses. | ||
Line 45: | Line 45: | ||
== TL:DR == | == TL:DR == | ||
In a short: Room Girl bring so many changes that plugins will take a long, looooong time to catch up comparing to the previous game. It’s likely that will never reach the same level of [[Koikatu]] or [[Honey Select 2]] | In a short: Room Girl bring so many changes that plugins will take a long, looooong time to catch up comparing to the previous game. It’s likely that will never reach the same level of [[Koikatu]] or [[Honey Select 2]] | ||
+ | |||
+ | = Modding Room Girl = | ||
+ | Before start, you need to be sure that the game is properly installed. See the [[Room Girl/Install|Install Guide]] before start. Be sure that the game is installed in the correct folder. | ||
+ | |||
+ | After install, you will need the following: | ||
+ | # Extract files using [https://www.7-zip.org/ 7-zip], not Winrar. | ||
+ | # Use the program [https://www.qbittorrent.org/download.php qBittorrent] to download torrent files, don’t use others like uTorrent because it may have issues with the tracker we use. | ||
+ | # Run the game with the internet activated, specially in the first time when the game will take several minutes to load. | ||
+ | |||
+ | == HF-Patch == | ||
+ | By far the easiest way to install mods in a vanilla game is by using HF Patch. This package includes all free illusion DLCs, the base mods and recommended plugins. Also, the experimental plugins are cautiously selected to not generate any conflicts.<br> | ||
+ | |||
+ | To download HF Patch, copy the magnet link and paste in qBittorrent: https://github.com/ManlyMarco/RG-HF_Patch/releases/<br> | ||
+ | Install in the Game Folder. | ||
+ | |||
+ | If you want to manually install each mod instead of installing HF Patch, proceed to the next section | ||
+ | |||
+ | == Main Game and Studio mods == | ||
+ | In Room Girl, the Main Game and the Studio are like complete separated entities. Because of that '''you need to configure BepInEx properly!!!'''. See the section bellow for more information. | ||
+ | |||
+ | == Base Plugins == | ||
+ | Now is time to start modding your game. First you will need the Base Mods. | ||
+ | |||
+ | These mods are the very base to all plugins to work. Be careful with them. Read carefully each site before downloading. | ||
+ | |||
+ | === Installing BepInEx === | ||
+ | BepInEx is the base of everything. All plugins rely on him to work. Install <code>BepInEx_UnityIL2CPP_x64_6.0.0-pre.1.zip</code>. Link: <nowiki>https://github.com/BepInEx/BepInEx/releases/tag/v6.0.0-pre.1</nowiki><br> | ||
+ | After installing, start RoomGirl with the internet activated so the rest of the needed files are downloaded. This process may take take up to 10 minutes depending on your system and internet speeds.<br> | ||
+ | After successfully started the game for the first time, close the game and open the file <code>BepInEx.cfg</code> that is inside <code>BepInEx\config</code> with notepad. Change the value of "UnhollowedAssembliesPath" to <code>UnhollowedAssembliesPath = {BepInEx}/Unhollowed/{ProcessName}</code>.<br> | ||
+ | To configure Studio, copy the files <code>winhttp.dll</code>, <code>doorstop_config.ini</code> and the folder <code>mono</code> from the Game Folder to the Studio folder.<br> | ||
+ | In the Studio folder, open <code>doorstop_config.ini</code> with notepad and replace the line <code>targetAssembly=\BepInEx\core\BepInEx.IL2CPP.dll</code> with <code>targetAssembly=..\BepInEx\core\BepInEx.IL2CPP.dll</code> (yeah, the difference is just two dots...) | ||
+ | |||
+ | === Needed Plugins === | ||
+ | Extract those in the Game Folder: | ||
+ | |||
+ | #IllusionFixes: Fixes the issue that makes Studio hangs on startup. Download <code>IllusionFixes_IL2CPP</code> (some antivirus may report a false positive) <nowiki>https://github.com/IllusionMods/IllusionFixes/releases</nowiki> | ||
+ | #BepInExConfigManager: Configuration menu for plugins. Download <code>BepInExConfigManager.Il2Cpp.zip</code>. <nowiki>https://github.com/BepInEx/BepInEx.ConfigurationManager/releases</nowiki> | ||
+ | #XUnity.AutoTranslator: Translate the game texts. Uses human translations if available, otherwise use GoogleTranslator. Download the BepInEx IL2CPP version (XUnity.AutoTranslator-BepInEx-IL2CPP). <nowiki>https://github.com/bbepis/XUnity.AutoTranslator/releases</nowiki> | ||
+ | |||
+ | == Translations == | ||
+ | There is an ongoing translation project for Room Girl. Right now it have translations for English and Chinese. Read the instructions to install: <nowiki>https://github.com/IllusionMods/RG-Translation/releases</nowiki> | ||
+ | |||
+ | == 100% Save File == | ||
+ | Unlock the Extra Free-H mode, including all the maps in the game, and all the different positions. Place this global.ila file in <code>UserData\save</code>. <nowiki>https://cdn.discordapp.com/attachments/993990510018568272/1044415926541500456/global.ila</nowiki> | ||
+ | |||
+ | == Recommended Plugins == | ||
+ | * BepInEx Utility: Several quality-of-life improvements for BepInEx games. <nowiki>https://github.com/SpockBauru/SpockPlugins_BepInEx/releases</nowiki> | ||
+ | * IllusionLaunchers: English Launcher with basic configuration. Click in "Show all assets" and download <nowiki>https://github.com/IllusionMods/IllusionLaunchers/releases</nowiki> | ||
+ | * Gravure plugin: Press "G" in the Character Maker to see extra options to show the girl. Download the DLL (some antivirus may report a false positive) and copy in <code>BepInEx\plugins</code>. <nowiki>https://cdn.discordapp.com/attachments/993990510018568272/994947577965461616/Gravure.dll</nowiki> | ||
+ | * Maker Screenshot Plugin: Capture screenshot in Character Creator using Room Girl's built-in screenshot function. <nowiki>https://github.com/kkykkykky/MakerScreenShot/releases</nowiki> | ||
+ | * Studio Chara Sort Plugin: Lets you set the default sort type and order for character and coordinate cards in Studio so the list doesn't always revert back to sort by descending name. <nowiki>https://github.com/kkykkykky/StudioCharaSort/releases/tag/1.1.0</nowiki> | ||
+ | * ScreenshotX Plugin: aka Watermark-Be-Gone, adds a few basic features to the built-in Studio screenshot function like upscaling and watermark removal <nowiki>https://github.com/kkykkykky/ScreenshotX/releases</nowiki> | ||
+ | * Hair Mesh for All: This lets you use hair mesh customization option for all hair. <nowiki>https://github.com/kkykkykky/HairMeshforAll/releases</nowiki> | ||
+ | * Room Girl Lock H-Menu: Adds an icon to make the left menu of sex scenes stop hiding automatically. <nowiki>https://github.com/SpockBauru/SpockPlugins_Illusion/releases/tag/r5</nowiki> | ||
+ | * RG_PovX: Enable PoV (first person view) on sex scenes. <nowiki>https://github.com/bogus-things/RG_PovX/releases</nowiki> | ||
+ | * Room Girl Cheats: Simple cheater for Room Girl. Also known as trainer. <nowiki>https://github.com/SpockBauru/SpockPlugins_Illusion/releases/tag/r6</nowiki> | ||
+ | * RG_HSceneCrowdReaction: Allow the Character to have different reactions based on the character status when seeing a H scene instead of just staying awkward. <nowiki>https://github.com/hawkeye-e/RG_HSceneCrowdReaction/releases</nowiki> | ||
+ | |||
+ | == Experimental Plugins == | ||
+ | These plugins are experimental and may have some issues. Be sure to backup your UserData folder. | ||
+ | |||
+ | * RG_ActionPatches: aka "modders fixing the shitty gameplay", unlocks "Talk to someone" for characters who are assigned to other "jobs". <nowiki>https://github.com/bogus-things/RG_ActionPatches/releases</nowiki> | ||
+ | * RG_ActionPatches MMF Enhancement: A fork of RG_ActionPatches that adds Male-Male-Female and Female-Female-Male options. <nowiki>https://cdn.discordapp.com/attachments/993990510018568272/1044451756039491684/RG_ActionPatchesEnhance_20221122.zip</nowiki> | ||
+ | * RG_Workaholics: Force male characters to always spawn in at their jobs after a time change, ignoring day/time. <nowiki>https://github.com/bogus-things/RG_Workaholics/releases</nowiki> | ||
+ | * RG_ClothingVariation: Allow the player to select the clothes regardless of clothes type and choose the default clothes state for the female body characters. <nowiki>https://github.com/hawkeye-e/RG_ClothingVariation/releases</nowiki> |
Latest revision as of 21:22, 6 January 2023
Contents
Introduction to MODs
MODs it’s a short for "modifications", with them you can introduce new features to the game such as new functions, parameters, clothes and hairstyle.
There are several types of mods. One of them is called Plugins which can alter the game code. They are usually files with .dll extension and must be applied with extra care.
Please understand that modifying your game is risky by nature and requires some safeguards such as backing up the game data. Also always read carefully what each thing does before using it.
Difficulties on Room Girl Modding comparing to previous games
Let's start from the beginning: Games usually are made in programs called Engines, like Unreal and Unity. Illusion games uses the Unity Engine.
When making a game, game makers need to program two things in the Engine: The CPU (AKA the processor) and the GPU (AKA the video card).
In order to make Plugins, modders use "mod frameworks", such as BepInEx and MelonLoader. In the last years, Illusion modders uses BepInEx, which is specialized in Unity Engine. Plugins must follow the structure used by the mod framework, the game maker and the engine for both CPU and GPU in order to work.
Since Illusion usually use the same engine with similar settings and re-uses their code across games, many plugins can easily be ported between these games. That's why late games such as Honey Select 2 have a huge amount of mods: Because modders had time to refine their mods across several years and games, for both the CPU and the GPU programming.
But differently from previous games Room Girl changed two things: How the engine deals with CPU, and from the GPU side they not only changed the engine settings but remade all the code that program the GPU (also called shaders).
- For the CPU side, take a look on "The problem with IL2CPP" section bellow.
- For the GPU side, take a look on the HDRP section bellow.
The problem with IL2CPP
Unity uses a language called C# (reads C sharp) to make programs for the games. These programs must be converted to machine language in order to run in the computer. This conversion is made by the Scripting Backend. In recent year Unity has two types of scripting backends: Mono and IL2CPP.
- Mono is the old one. To simplify things, let’s say that it uses a virtual machine between the C# code and the hardware. With this approach, you can write the same code, and Unity can change just the virtual machine to run in many platforms, like videogames, smartphones, PC, etc. This is a mature technology and is used by BepInEx to change the game code. This is the one that previous Illusion games used.
- IL2CPP is the new one, it means “Intermediate Language to C++”. IL2CPP takes the C# code and convert directly to the C++ native language skipping the “virtual machine” part, which theoretically make the game runs faster. This is the one that Room Girl uses.
The problem with IL2CPP technology is that BepInEx support is new and unstable. Not only this but the approach for modifying the code must be different from the old thing, MAKING ALL PREVIOUS PLUGINS INCOMPATIBLE WITH ROOM GIRL.
Because of that, all the numerous and refined structure made by modders trough the years need to be ported, one by one, set by step, from the very beginning. This takes time, and by the time that everything catches up, probably the next game will already be released.
HDRP
Unity deals with the graphics part using the so-called Render Pipelines. Currently there 3 of them: the Standard Render Pipeline, the Universal Render Pipeline (URP) and the High Definition Render Pipeline (HDRP).
- The Standard Render Pipeline is the oldest and the one used in previous Illusion games. Is also set to be depreciated in the future, so someday game makers will have to choose between the other two.
- The Universal Render Pipeline (URP) will be the replacement for the Standard in the future. It’s made to be basic, lightweight and highly portable across a huge amount of platforms, from old mobile to next gen consoles.
- The High Definition Render Pipeline (HDRP) is the most advanced of all. It’s designed to make the better graphics possible and run on high performant platforms like high-end PCs and next gen consoles. Take a look on this tech demo to see what is possible with HDRP: https://www.youtube.com/watch?v=eXYUNrgqWUU
Both URP and HDRP are completely incompatible with the old Standard pipeline. For Room Girl Illusion choose the HDRP and had to remake all their graphics programming, like shaders. For modders, the change to HDRP means that the graphics plugins (such as Material Editor, DHH and Graphics mod) will not work at all and can’t even be ported: They need to be remade from scratch.
TL:DR
In a short: Room Girl bring so many changes that plugins will take a long, looooong time to catch up comparing to the previous game. It’s likely that will never reach the same level of Koikatu or Honey Select 2
Modding Room Girl
Before start, you need to be sure that the game is properly installed. See the Install Guide before start. Be sure that the game is installed in the correct folder.
After install, you will need the following:
- Extract files using 7-zip, not Winrar.
- Use the program qBittorrent to download torrent files, don’t use others like uTorrent because it may have issues with the tracker we use.
- Run the game with the internet activated, specially in the first time when the game will take several minutes to load.
HF-Patch
By far the easiest way to install mods in a vanilla game is by using HF Patch. This package includes all free illusion DLCs, the base mods and recommended plugins. Also, the experimental plugins are cautiously selected to not generate any conflicts.
To download HF Patch, copy the magnet link and paste in qBittorrent: https://github.com/ManlyMarco/RG-HF_Patch/releases/
Install in the Game Folder.
If you want to manually install each mod instead of installing HF Patch, proceed to the next section
Main Game and Studio mods
In Room Girl, the Main Game and the Studio are like complete separated entities. Because of that you need to configure BepInEx properly!!!. See the section bellow for more information.
Base Plugins
Now is time to start modding your game. First you will need the Base Mods.
These mods are the very base to all plugins to work. Be careful with them. Read carefully each site before downloading.
Installing BepInEx
BepInEx is the base of everything. All plugins rely on him to work. Install BepInEx_UnityIL2CPP_x64_6.0.0-pre.1.zip
. Link: https://github.com/BepInEx/BepInEx/releases/tag/v6.0.0-pre.1
After installing, start RoomGirl with the internet activated so the rest of the needed files are downloaded. This process may take take up to 10 minutes depending on your system and internet speeds.
After successfully started the game for the first time, close the game and open the file BepInEx.cfg
that is inside BepInEx\config
with notepad. Change the value of "UnhollowedAssembliesPath" to UnhollowedAssembliesPath = {BepInEx}/Unhollowed/{ProcessName}
.
To configure Studio, copy the files winhttp.dll
, doorstop_config.ini
and the folder mono
from the Game Folder to the Studio folder.
In the Studio folder, open doorstop_config.ini
with notepad and replace the line targetAssembly=\BepInEx\core\BepInEx.IL2CPP.dll
with targetAssembly=..\BepInEx\core\BepInEx.IL2CPP.dll
(yeah, the difference is just two dots...)
Needed Plugins
Extract those in the Game Folder:
- IllusionFixes: Fixes the issue that makes Studio hangs on startup. Download
IllusionFixes_IL2CPP
(some antivirus may report a false positive) https://github.com/IllusionMods/IllusionFixes/releases - BepInExConfigManager: Configuration menu for plugins. Download
BepInExConfigManager.Il2Cpp.zip
. https://github.com/BepInEx/BepInEx.ConfigurationManager/releases - XUnity.AutoTranslator: Translate the game texts. Uses human translations if available, otherwise use GoogleTranslator. Download the BepInEx IL2CPP version (XUnity.AutoTranslator-BepInEx-IL2CPP). https://github.com/bbepis/XUnity.AutoTranslator/releases
Translations
There is an ongoing translation project for Room Girl. Right now it have translations for English and Chinese. Read the instructions to install: https://github.com/IllusionMods/RG-Translation/releases
100% Save File
Unlock the Extra Free-H mode, including all the maps in the game, and all the different positions. Place this global.ila file in UserData\save
. https://cdn.discordapp.com/attachments/993990510018568272/1044415926541500456/global.ila
Recommended Plugins
- BepInEx Utility: Several quality-of-life improvements for BepInEx games. https://github.com/SpockBauru/SpockPlugins_BepInEx/releases
- IllusionLaunchers: English Launcher with basic configuration. Click in "Show all assets" and download https://github.com/IllusionMods/IllusionLaunchers/releases
- Gravure plugin: Press "G" in the Character Maker to see extra options to show the girl. Download the DLL (some antivirus may report a false positive) and copy in
BepInEx\plugins
. https://cdn.discordapp.com/attachments/993990510018568272/994947577965461616/Gravure.dll - Maker Screenshot Plugin: Capture screenshot in Character Creator using Room Girl's built-in screenshot function. https://github.com/kkykkykky/MakerScreenShot/releases
- Studio Chara Sort Plugin: Lets you set the default sort type and order for character and coordinate cards in Studio so the list doesn't always revert back to sort by descending name. https://github.com/kkykkykky/StudioCharaSort/releases/tag/1.1.0
- ScreenshotX Plugin: aka Watermark-Be-Gone, adds a few basic features to the built-in Studio screenshot function like upscaling and watermark removal https://github.com/kkykkykky/ScreenshotX/releases
- Hair Mesh for All: This lets you use hair mesh customization option for all hair. https://github.com/kkykkykky/HairMeshforAll/releases
- Room Girl Lock H-Menu: Adds an icon to make the left menu of sex scenes stop hiding automatically. https://github.com/SpockBauru/SpockPlugins_Illusion/releases/tag/r5
- RG_PovX: Enable PoV (first person view) on sex scenes. https://github.com/bogus-things/RG_PovX/releases
- Room Girl Cheats: Simple cheater for Room Girl. Also known as trainer. https://github.com/SpockBauru/SpockPlugins_Illusion/releases/tag/r6
- RG_HSceneCrowdReaction: Allow the Character to have different reactions based on the character status when seeing a H scene instead of just staying awkward. https://github.com/hawkeye-e/RG_HSceneCrowdReaction/releases
Experimental Plugins
These plugins are experimental and may have some issues. Be sure to backup your UserData folder.
- RG_ActionPatches: aka "modders fixing the shitty gameplay", unlocks "Talk to someone" for characters who are assigned to other "jobs". https://github.com/bogus-things/RG_ActionPatches/releases
- RG_ActionPatches MMF Enhancement: A fork of RG_ActionPatches that adds Male-Male-Female and Female-Female-Male options. https://cdn.discordapp.com/attachments/993990510018568272/1044451756039491684/RG_ActionPatchesEnhance_20221122.zip
- RG_Workaholics: Force male characters to always spawn in at their jobs after a time change, ignoring day/time. https://github.com/bogus-things/RG_Workaholics/releases
- RG_ClothingVariation: Allow the player to select the clothes regardless of clothes type and choose the default clothes state for the female body characters. https://github.com/hawkeye-e/RG_ClothingVariation/releases