How illusionmods/koikatsumoddingtools works
1. This repository is a Unity 5.6.2 editor project, not a game runtime by itself. Its purpose is to author Koikatsu mod assets and package them into the formats the game expects, mainly asset bundles and zipmods.
2. The architecture is split into three main boundaries: editor-time tooling under Assets/Editor and Tools, reusable mod/runtime components under Assets/Scripts and Assets/AmplifyColor, and content templates/examples under Assets/Examples. The examples show the expected file layout for real mods.
3. The build pipeline is centered on Unity asset import and export. Authors place textures, meshes, prefabs, manifests, and list files inside the Assets/Mods area or base an item on one of the example folders, then use the Unity AssetBundle Browser to build bundles and zipmods. The repo is structured so only content under Mods is treated as custom output, keeping examples separate.
4. Assets/Editor contains the repo’s main automation layer. It includes asset-bundle/zipmod utilities, manifest and list-file editors, texture postprocessing, FBX postprocessing, and custom inspectors for the mod component types. These scripts are responsible for turning raw Unity assets into Koikatsu-compatible package contents.
5. Import postprocessors are important to the workflow. The repository automatically adjusts imported meshes and textures: FBX assets can have excess bones removed and layers reassigned, while normal maps are converted to the red-transparent style expected by the target game ecosystem. This is one of the key “pre-export” data transformations in the project.
6. Tools/SB3UGS is an external packaging and replacement tool bundled with the repo. It is used after asset bundles are built to swap placeholder shaders back to game shaders and to support the zipmod workflow. That makes SB3UGS part of the release pipeline even though it is not Unity code.
7. The shader architecture is layered. Assets/Shaders contains the project’s custom and placeholder shaders, including many Koikatsu-specific shader variants, while Assets/ShaderForge and Assets/AmplifyColor provide editor tooling and reusable shader assets. The README makes clear that placeholder shaders are used in edit mode and later replaced for final builds.
8. The runtime-facing mod components live in Assets/Scripts. These include character-facing components for clothes, accessories, custom hair, foreground items, particles, and item logic, plus map/scene-related components such as gates, H-points, map visibility, lighting, reflection, and mini-map support. These scripts define the data that the editor tools serialize into mod content.
9. Character and facial systems are a distinct subsystem. Scripts such as FaceBlendShape, EyeLookController, EyeLookCalc, FBSBlinkControl, and the various FBSCtrl* classes handle eye movement, blinking, eyebrows, mouth, and other face-driven behaviors. These are separate from packaging and are focused on in-game appearance/animation behavior.
10. And scene support is another major subsystem. The Assets/Scripts/Map folder includes map metadata, lighting, background parameters, H-point data, gate grouping, reflection, sun shafts, and gizmo visualization. The Assets/Examples/Map Example folder mirrors this with prefabs, lighting data, reflection probes, and map CSVs, showing the intended content model.
11. VR support is included as a self-contained group under Assets/Scripts/VR. It contains VRPoint plus a set of VRTK interaction scripts, indicating the project can author content that participates in VR interaction and snap/attach behavior. This is a separate interaction boundary from standard character or studio items.
12. Preview and visualization assets under Assets/Preview, Assets/Gizmos, and Assets/Common/H Point Selector support authoring rather than runtime delivery. They provide preview scenes, camera/light prefabs, gizmo meshes, and H-point visual markers so creators can inspect content in-editor before packaging.
13. The examples are the clearest architectural documentation in the repo. There are separate example modules for body paint, accessories, accessory hair, clothes, head types, studio items, studio filters, maps, shader editing, and asset overrides. Each example contains its own manifest, list files, textures, meshes, materials, prefabs, and readme, showing the canonical artifact graph for each mod type.
14. A notable embedded dependency is Assets/Editor/YamlDotNet, which brings a full YAML serialization library into the editor tooling. This suggests some editor-side config or manifest-related workflows rely on structured serialization rather than hand-authored text alone.
Main entry points: Map Map System · Shaders Game Shaders · Editor Import Pipeline · Scripts Character Mods
Components 20
Editor Tooling
Unity editor automation for importing, annotating, and packaging mod content.
- Import Pipeline · Asset import hooks and postprocessors for Unity content preparation.
Assets/Editor - Manifests · Manifest and list-file creation/editing for Koikatsu packaging.
Assets/Editor/ManifestCreate.cs - Postprocessors · FBX, layer, texture, and shader-placeholder preprocessing during import.
Assets/Editor/BlenderFBX_Postprocessor.cs - Bundle Build · AssetBundle Browser integration plus zipmod build helpers.
Assets/Editor/Unity.AssetBundleBrowser - YAML Core · Embedded YamlDotNet dependency used by editor-side structured serialization.
Assets/Editor/YamlDotNet
Runtime Components
Scripts and systems that define mod behavior inside Koikatsu.
- Character Mods · Accessories, clothes, hair, foreground items, particles, and item logic.
Assets/Scripts - Face System · Eye, blink, eyebrow, mouth, and face blendshape control.
Assets/Scripts/FaceBlendShape.cs - Map System · Map metadata, gates, lighting, visibility, reflections, and mini-map support.
Assets/Scripts/Map - VR Hooks · VR point and VRTK-based grab, touch, use, and snap behavior.
Assets/Scripts/VR - Render Helpers · Preview shader controls, render queue helpers, and collision helpers.
Assets/Scripts/PreviewShaders.cs
Examples
Canonical content layouts that document how mod assets are assembled.
- Mod Examples · Accessory, clothes, body paint, head type, studio, and override example layouts.
Assets/Examples - Map Example · Example map content with prefabs, lighting data, probes, and CSV metadata.
Assets/Examples/Map Example - Item Example · Studio item example showing meshes, materials, prefabs, and list files.
Assets/Examples/Studio Item Example - Shader Example · Material editor shader example with custom shader sources and presets.
Assets/Examples/MaterialEditor Shader Example
Shader Stack
Custom shaders, shader editor assets, and placeholder/final shader flow.
- Game Shaders · Custom and placeholder shaders for character, item, and studio rendering.
Assets/Shaders - ShaderForge · ShaderForge editor assets, node library, and example shader content.
Assets/ShaderForge - AmplifyColor · Amplify Color runtime/editor package and LUT/volume shader assets.
Assets/AmplifyColor
Preview & Viz
Editor-only scenes and assets for inspecting content before export.
- Preview Assets · Preview scenes, cameras, lights, ramps, and shader settings for authoring.
Assets/Preview - Gizmos · H-point gizmo meshes and selector assets used for editor visualization.
Assets/Gizmos
External Tools
Bundled third-party tooling used in the release workflow.
- SB3UGS · Bundled external tool used after bundle build to swap shaders and support zipmods.
Tools/SB3UGS
Connections 20
- Import Pipeline → Postprocessors: normalizes · Import pipeline applies postprocessing to incoming assets.
- Import Pipeline → Manifests: writes · Editor tooling generates manifest and list metadata.
- Import Pipeline → Bundle Build: exports · Prepared assets are handed to bundle/zipmod build tools.
- Manifests → Mod Examples: documents · Examples show the expected manifest and list structure.
- YAML Core → Manifests: serializes · YAML library supports structured editor-side config workflows.
- Postprocessors → Game Shaders: placeholder swap · Postprocessing prepares assets for placeholder shader workflow.
- Bundle Build → SB3UGS: hands off · Built bundles are processed by external packaging tooling.
- SB3UGS → Game Shaders: finalizes · SB3UGS supports replacing placeholders with game shaders for release.
- Character Mods → Face System: uses · Character systems include face and eye animation behavior.
- Character Mods → Render Helpers: supports · Runtime components use helper scripts for preview and rendering behavior.
- Map System → VR Hooks: interacts with · Map and scene content can include VR interaction points and snap behavior.
- Map System → Preview Assets: inspected by · Map authoring relies on preview lighting and scene assets.
- Map Example → Map System: models · Map example mirrors the runtime map component model.
- Item Example → Character Mods: models · Item/studio examples reflect the character and item component layout.
- Shader Example → ShaderForge: demonstrates · Shader example content is built on ShaderForge assets and presets.
- ShaderForge → Game Shaders: authors · ShaderForge is used to create project shader assets.
- AmplifyColor → Preview Assets: provides · Amplify Color contributes LUT and volume tooling for preview workflows.
- Gizmos → Map System: visualizes · Gizmo meshes and selectors help inspect map H-point data.
- Preview Assets → Game Shaders: configures · Preview scenes tune the appearance of project shaders.
- Mod Examples → Bundle Build: reference build · Examples act as the canonical source layout for export.