MateSDK - shinyflvre/Mate-Engine GitHub Wiki
MateSDK – Mod & Model Toolkit for MateEngine
MateSDK is a tool that helps modders and model makers create and export their own mods and models for MateEngine.
It is also focused on allowing modders to customize MateEngine without the need for [BepInEx](https://github.com/BepInEx/BepInEx).
In this thread, we’ll go over a few common scenarios and how you can use MateSDK components to create your own mods.
ME Mod Components
As of MateSDK 1.X, we offer three components:
MERemover
MEManipulator
MEClothes
MERemover
The MERemover
component is used to remove systems or features from MateEngine.
Example:
Create a new GameObject and name it something like Shadow Remover
.
Find the GameObject in MateEngine responsible for shadows and drag it into one of the MERemover
fields.
If you now export this GameObject as a mod and load it into MateEngine, the shadow system will be gone.
This is useful when you want to disable specific built-in systems or features.
MEManipulator
The MEManipulator
is used to override or modify the behavior of avatar controllers.
For example, AvatarAnimatorController.cs
is responsible for controlling drag, dance, idle behavior, and animation transitions.
You can override its logic using this component.
Steps:
- Create a GameObject and name it
AvatarAnimatorManipulator
. - Add the
MEManipulator
component to it. - Create a child GameObject and name it
ManipulatorObject
.
- On
ManipulatorObject
, add your modified version ofAvatarAnimatorController.cs
.
(Tip: Copy it from theVRMModel
underModel/VRMModel
in the scene.)
- Adjust the component settings as you like.
- Make sure to link the child
ManipulatorObject
to theMEManipulator
.
Once done, export your mod — it will now apply your modified values at runtime.
MEClothes
The MEClothes
component works similarly to VRChat’s Expressions Menu.
You can assign up to 8 GameObjects to be toggleable via the in-game UI, which appears when pressing TAB
.
This is ideal for clothes, accessories, or other visuals.
You can also define 1 tag to group items and control exclusivity.
Example:
If your model has two complete outfits, assign each to a separate toggle but give them the same tag.
When you activate Outfit B, Outfit A will automatically be disabled — perfect for seamless outfit switching.
Without using tags, the toggles will still work — but nothing will be disabled automatically.
All Other Components
You can use any Unity component and any prefab in your mods or avatar setups —
except for external C# scripts, which are blocked for security reasons.