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.

image


ME Mod Components

As of MateSDK 1.X, we offer three components:

  • MERemover
  • MEManipulator
  • MEClothes

MERemover

image

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

image

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:

  1. Create a GameObject and name it AvatarAnimatorManipulator.
  2. Add the MEManipulator component to it.
  3. Create a child GameObject and name it ManipulatorObject.

image

  1. On ManipulatorObject, add your modified version of AvatarAnimatorController.cs.
    (Tip: Copy it from the VRMModel under Model/VRMModel in the scene.)

image

  1. Adjust the component settings as you like.
  2. Make sure to link the child ManipulatorObject to the MEManipulator.

image

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.

image

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.