A collection of simple Unity scripts to automate tedious tasks for creating VRChat Avatars.
These scripts are not failsafe and don't check for possible errors. Use at your own risk.
Source control/Backup your projects before running any of these
- The VRChat SDK must be imported
The tools can be found in the "Tools" menu in Unity
Copies / Pastes the selected GameObjects skinned mesh renderers blendshapes between avatars
Applies the Parent Constraint Component to a cloth item.
The cloth items Armature bones must have the same hierarchy and must contain the actual bone name in its own name
- Avatar
- Armature
- Hips
- Spine
- Hips
- Clothes
- Armature
- FancySocks_Hips (will parent to Armature/Hips)
- FancySocks_Spine (will parent to Armature/Hips/Spine)
- FancySocks_Hips (will parent to Armature/Hips)
- Armature
- Armature
Creates an item toggle for the selected item.
It will
- Add the parameter to the VRC Parameter list
- Create Animation Clips with On/Off state
- Add the parameter to the FX Controller
- Create a layer in the FX Controller with the correct states and transitions
The toggle in the menu itself has to be created manually
Searches all animation clips and add a second keyframe if they only have one.
This used to be necessary for VRChat and might be no longer needed.
Basic setup to automatically create animations for face tracking to be used with VRCFT Standalone based on a template matching VRCFT Parameters and model blendshapes
At the top of the file is a template for a lip tracking setup for the Rexouium
It will
- Add the parameter to the VRC Parameter list
- Create Animation Clips for each blendshape specified
- Add the parameter to the FX Controller
- Create a layer in the FX Controller with a blendtree
new TrackingSetup("JawOpen") {
Single = "MouthOpen"
}
Will create the JawOpen
parameter and create a 1D blendtree animating the MouthOpen
blendshape from 0 to 1.
new TrackingSetup("JawX") {
Left = "JawLeft",
Right = "JawRight"
}
Will create the JawX
parameter and create a 1D blendtree animating the JawLeft
blendshape from -1 to 0 and the JawRight
blendshape from 0 to 1
A neutral state with an animation clip with both blendshapes being 0 will be between them.
new TrackingSetup("TongueX", "TongueY") {
Top = "TongueUp",
TopRight = "TongueUpRight",
Right = "TongueRight",
BottomRight = "TongueDownRight",
Bottom = "TongueDown",
BottomLeft = "TongueDownLeft",
Left = "TongueLeft",
TopLeft = "TongueUpLeft"
}
Will create the TongueX
and TongueY
parameter and create a 2D blendtree animating the given blendshapes based on their position.
The properties are based on the position on a 2D blendtree
Uploads all selected avatars in one go.
They must have been already uploaded at least once and have a valid blueprint id attached.