Skip to main content

Resonite support

Modular Avatar has experimental support for building avatars for Resonite.

Getting started, and your first avatar build

Installing Modular Avatar - Resonite support

Building avatars for Resonite requires installing the VCC package Modular Avatar - Resonite support. To install this package:

  1. Add pre-release repository.
  2. Afterward, open "Manage Project" for your project, click the + next to Modular Avatar - Resonite support, and then click APPLY.

After installing it, enable experimental features.

Build

Follow the steps below to build an avatar for Resonite.

  1. Open the NDMF console (Tools -> NDM Framework -> NDMF Console)
  2. Select the avatar at the top of the window
  3. Select Resonite under Avatar platform at the bottom of the window
  4. Click Build

Resonite Build Howto

When the build is completed successfully, the message Build finished! appears at the bottom of the NDMF Console.

Resonite Build Success

tip

If you get an error, click on the Console tab and look at the bottom for a red exclamation mark.

Once the build is complete, install it into Resonite. There are two ways to install it:

  1. Click "Copy to Clipboard" and then click Paste content from clipboard from the Resonite dash menu.
  2. Click "Save as..." to save the avatar file as a Resonite Package, then drag and drop it into Resonite.

Supported features

The resonite build process will automatically copy certain avatar features, such as visemes, eye position, and physbones/dynamic bones to the Resonite avatar. If you've already set up your avatar for VRChat, no additional configuration on your avatar is needed. If your avatar is not set up for VRChat, or if you don't have the VRCSDK installed, refer to the documentation on portable avatar components for more information on how to set up your avatar.

FeatureSupportedLimitations
Avatar viewpointNone
VisemesPartialBlendshape visemes only
Dynamic bonesPartialSee below
Reactive ComponentsPlanned
Unity ConstraintsPlanned
Protection against showing partially-loaded avatarsNone

Supported MA components

ComponentSupportedLimitations
Blendshape SyncPlanned
Bone ProxyNone
Convert ConstraintsVRChat only
Menu GroupPlanned
Menu Install TargetPlanned
Menu InstallerPlanned
Menu ItemPlanned
Merge AnimatorVRChat only
Merge ArmatureNone
Merge Blend TreeVRChat only
Mesh SettingsPlanned
MMD Layer ControlVRChat only
Move IndependentlyNone
ParametersPlanned (will be converted to DynVars)
Physbone BlockerNone
Remove Vertex ColorNone
Replace ObjectNone
Scale AdjusterNone
Sync Parameter SequenceVRChat only
Visible Head AccessoryPlanned
VRChat SettingsVRChat only
World Fixed ObjectPlanned
World Scale ObjectPlanned

Dynamic bones

Modular Avatar will detect dynamic bones created using either Portable Dynamic Bones or VRChat's PhysBones, and attempt to convert them to Resonite's dynamic bones, including any colliders.

Since Resonite has its own dynamic bone system, most configuration options are not converted. However, exclusions (including Physbone Blockers), colliders, collision radius, and grabbability are converted.

Modular Avatar will group Dynamic Bones into a number of named "templates" based on their bone names. You can override the template name by either adding a portable dynamic bone component with a group name specified. Alternately, in resonite, you can create a new template by cloning an object under the Avatar Settings -> Dynamic Bone Settings Slot, setting its name to the new template name, and then changing the name found on the Template Name slot underneath the slot that defined the dynamic bone.

All dynamic bones under the same template will share the same settings for Inertia, InertiaForce, Damping, Elasticity, and Stiffness; you can change these settings on any of the dynamic bones in question,and any changes will be reflected on all of them.

Avatar Settings copier

Modular Avatar will set up a system for copying avatar settings between different versions of your Resonite avatar. This lets you set resonite-specific settings, such as dynamic bone settings, and then copy them to a new version of your avatar after reimporting from unity.

This feature will specifically copy all Slots underneath the Avatar Settings slot, overwriting any existing slots with the same name. You can add your own slots to the Avatar Settings slot, and they will be copied as well.

To copy settings, wear your old avatar in resonite, and pick up your new avatar with your laser. From the context menu, select MA Settings Copier -> Copy To Avatar. This will copy the settings from your old avatar to your new avatar. You can then wear the new avatar, and the settings will be applied.

Default DynVars

Modular Avatar defines a number of default Dynamic Variables that can be used by avatar systems.

Some of these dynvars are still somewhat experimental, and may change in the future.

NameTypeDescription
modular_avatar/AvatarRootSlotThe root slot of the avatar (parent of CenteredRoot)
modular_avatar/AvatarWornboolWhether the avatar is currently worn (detected by the avatar being a direct child of the User slot)
modular_avatar/AvatarSettingsRootSlotThe Avatar Settings object
modular_avatar/AvatarPoseNode.[type]SlotThe Slot containing the AvatarPoseNode component for node [type] (e.g. Head Proxy)
modular_avatar/MeshNotLoadedboolFalse if there are any unloaded meshes in the avatar, missing otherwise. This dynvar is subject to change in the future.
modular_avatar/HumanBone.[name]SlotReferences a humanoid bone by name. Name is subject to change in the future.
modular_avatar/HumanBonePose.[name]float4x4The initial pose of the bone referenced by BoneRef_[name]. Name is subject to change in the future. Values might not be quite correct yet.

Additionally, an Avatar Dynamic Variable Space is created on the avatar root for use by other gimmicks.