Required to for Mod Organizer 2 to detect inZOI. (If you're using MO2, you need this.)
Permissions and credits
Credits and distribution permission
Other user's assetsAll the assets in this file belong to the author, or are from free-to-use modder's resources
Upload permissionYou are not allowed to upload this file to other sites under any circumstances
Modification permissionYou are allowed to modify my files and release bug fixes or improve on the features so long as you credit me as the original creator
Conversion permissionYou can convert this file to work with other games as long as you credit me as the creator of the file
Asset use permissionYou must get permission from me before you are allowed to use any of the assets in this file
Asset use permission in mods/files that are being soldYou are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms
Asset use permission in mods/files that earn donation pointsYou are not allowed to earn Donation Points for your mods if they use my assets
Author notes
This author has not provided any additional notes regarding file permissions
File credits
A big thanks to ThaumicP: https://www.nexusmods.com/inzoi/users/66358566 for inspiring me to create an Advanced Mod Organizer 2 support plugin. I likely never would have been inspired to create this plugin if it weren't for his original base plugin.
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
Changelogs
Version 3.0
Added functionality for MySites mods
Version 2.9
Bugfix: Ensures all MD5 folders for My3DPrinter and MyAIMotions mods are deployed on launch.
Bugfix: Ensures all MD5 folders for My3DPrinter and MyAIMotions mods are deployed when enabled/disabled if using symlink deployment on mod enable..
Version 2.8
Further logic handling for MyAIMotion mods
Renamed "Deploy 3DPrinter mods on launch" to "Deploy Symlinks on Launch". Deploy Symlinks on Launch now handles deployment for both My3DPrinter and MyAIMotion mods
Changed "Deploy Symlinks on Launch" default value to true. (Ensures for better symlink handling and cleanup of residual symlinks that may not be removed if mods are not disabled)
Added setting for LogLevel so the value can be changed. (This is really just for my purposes and to cleanup the log output)
Bug Fix: My3DPrinter and MyAIMotion mods that have multiple MD5 folders within them were not all being handled
Version 2.7
Added initial handling for MyAIMotions mods. (Never uploaded to Nexus version skipped)
Version 2.6
Enhanced handling of incorrectly packaged 3D printer mods: MO2 now repackages root-level 3D printer mods and renames folders to match the .GLB's MD5 if mismatched.
Version 2.5
Added additional checks for incorrectly packaged sub directory mods.
Added checks for root packaged 3DPrinter mods
Version 2.4
Added Deploy 3DPrinter mods on launch setting. You can enable this in MO2 > Plugin Settings > inZOI Support Plugin > set Deploy 3DPrinter mods on launch to true. (This will instead deploy 3DPrinter mods on launch, rather than when they're enabled)
Version 2.3
Bugfix: corrected invalid removal of directory when disabling 3D printer mods.
Version 2.2
Added symlinking for inZOI Mod Enabler's bitfix folder and dsound.dll > Unfortunately, normal DLL injection did not suffice.
Version 2.1
Updated for better sub-directory handling.
Version 2.0
Initial plugin creation allowing for handling of most BlueClient and My3DPrinter mods.
Place the file inzoi.py into {MO2 install dir}/plugins/basic_games/games/
Creating an Instance
Launch MO2 after installing the plugin
Create a global instance for inZOI and select a dedicated directory for storing your mod downloads and installations
Installing Mods
You will want to ensure the mod you're installing has the correct directory structure. For example, most mods should be mapped as follows: BlueClient/<ModContent>
3DPrinter mods must be mapped as follows: My3DPrinter/<ModContent>
AIMotion mods must be mapped as follows: MyAIMotions/<ModContent>
If you need to adjust a mod's directory structure you can right-click the <inzoi> directory, select "Create Directory", name it as required for the mod type, then move the mod files into the new folder
The plugin provides some automatic handling/packaging for .pak, .ucas and .utoc mods and some mods within sub-directories, so you may not need to re-package all mods.
Features
Compatible with 3DPrinter, AIMotion and MySites mods VIA two methods. Symlink creation when the mod is enabled, or symlink creation on game launch. (The default method is symlink creation on launch.) - 3DPrinter/AIMotion/MySites symlinks on Launch: (This method is slightly cleaner as the symlinks are removed when you close the game but your 3DPrinter mods will be inaccessible without launching inZOI VIA MO2) - 3DPrinter/AIMotion/MySites symlinks on Enable: (You can enable this setting in MO2 > Plugin Settings > inZOI Support Plugin > set Deploy Symlinks on launch to false. With this setting changed 3DPrinter, AIMotion and MySites mods will get symlinked when they're enabled. Deploying them from the mod data directory to the appropriate folder in %USERPROFILE%/Documents/inZOI this means even if you run inZOI without MO2 your 3DPrinter/AIMotion/MySites mods will be accessible. Symlinks are removed ONLY after disabling the 3DPrinter mod)
Automatic handling for some incorrectly packaged 3DPrinter mods and renames the mod folder to match the .GLB file's MD5 hash if it does not already.
Automatic handling for some incorrectly packaged AIMotion mods
Automatic handling for some incorrectly packaged MySites mods
Automatic handling for some incorrectly packaged .pak, .ucas and .utoc mods. They will get structured to live in: {inZOI game dir}/BlueClient/Content/Paks/~mods/
Second level sub-directory handling for some incorrectly packaged mods.
MO2 will let you know if the mod is incorrectly packaged even after install, so you can do something about it.
Automatic cleanup of the following files in the root of a mod directory: *.txt, *.md, README, icon.png, license, LICENCE, manifest.json, *.dll.mdb, *.pdb. None of these files should be required and will be purged to save you space.
Ensures UE4SS dwmapi.dll is correctly placed in {inZOI game dir}/BlueClient/Binaries/Win64
Automatic configuration of force load library settings, ensuring dwmapi.dll is injected into inZOI-Win64-Shipping.exe
Symlink handling for dsound.dll and bitfix folder of inZOI Mod Enabler. (The dsound.dll cannot be injected VIA force load library settings, so this was a necessary solution.)