Skip to main content

✨ Lightbox Viewer V2.4.0

  • Add Collections of lightboxes. Users may now switch from the default six lightboxes to other more specialized ones.
    • Add special lightboxes specifically for Light Volumes. This requires the Light Volumes package to be installed.
    • Expose the Spotlight Cookie lightbox that was previously hidden.
  • Previously, lights inside the object being viewed were disabled. This is no longer the case by default.
  • Add option to disable lights inside the object being viewed.
  • Add option to support shaders that require a Depth Texture.
    • This uses Poiyomi's DepthGet light settings, but repackaged with a different GUID to avoid installation conflicts.
  • The Advanced menu is now a sidebar.
  • Some settings are now saved editor-wide, instead of being reset when the Lightbox Viewer window is closed.
    • This includes Counter Rotate, Post Processing, Vertical Displacement, Mute Lights Inside Object, Support Depth Texture.

Unity_a6UfNnk6f1.png

✨ Lightbox Viewer V2.3.0

Add support for Light Volumes if it is installed in the project.

The lightboxes themselves do not change, so the differences are subtle. The Pink scene is the most notable because the left hand will be lit pink and the right hand will be lit purple.

warning

If you want the previews to use light volumes, please understand that unlike avatar uploads, is it not sufficient to have a compatible shader like lilToon 1.10; you need the actual Light Volumes package installed in your avatar project.

lightvolume-Unity_jqyphEGfvy.png

⚙️ Prefabulous Universal V2.2.0-alpha.0 / PPC V2.1.0-alpha.0 / FaceTra compatibility patch

This update is targeted specifically at Modular Avatar for Resonite users.

This update enables all Prefabulous Universal components to execute during builds targeting the Resonite app.

If you use Modular Avatar for Resonite, it is very likely you already have prerelease packages enabled in ALCOM, meaning you may update Prefabulous Universal to V2.2.0-alpha.0 using ALCOM.

If you use FaceTra Shape Creator, you need to download a patch linked here, no log-in required.

Prefabulous Universal 2.2.0-alpha.0

Support Modular Avatar for Resonite:

  • Add support for cross-application build compatibility being introduced in NDMF 1.8.
  • Conditionally compiled when NDMF 1.8.0-alpha.0 is installed:
    • Prefabulous Universal still needs to be compatible with VNyan (Unity 2020) and Warudo (Unity 2021), meaning we still need to support NDMF 1.4 (last known working version in Unity 2020).

Prefabulous for Platform Conversions 2.1.0-alpha.0

  • Fix ConvertVRCConstraintsToUnityConstraints should run after Modular Avatar creates constraints:
    • Run after Modular Avatar, because MA Convert Constraints and MA World Fixed Object create VRCConstraint.
    • Also, remove this component during the build to help missing script issues (e.g. better handles CVR).
    • The above changes have been contributed by Narazaka (first contribution).
  • Integrate with NDMF 1.8 cross-application builds:
    • Add support for cross-application build compatibility being introduced in NDMF 1.8.
    • MA/NDMF for Resonite does not support Unity constraints at this time of writing, but as far as I am aware there is no harm done enabling this conversion plugin pass for all platforms.
    • Conditionally compiled when NDMF 1.8.0-alpha.0 is installed:
      • Prefabulous for Platform Conversions still needs to be compatible with VNyan (Unity 2020) and Warudo (Unity 2021), meaning we still need to support NDMF 1.4 (last known working version in Unity 2020).

✨ Activate with Skinned Offsets (Constraint Tools V1)

A new menu option named Activate with Skinned Offsets is added in the inspector of the Parent Constraint and VRC Parent Constraint components.

Pressing this menu option will behave similarly to the Activate button on the Parent constraint, but calculates different offsets: These offsets will make the Parent constraint behave more like weight painting/mesh skinning.

This is the same algorithm that is used by the Skinned Mesh Constraint Builder component. If you are already using this component, you do not need to use this.

mspaint_US2AvDUNAt.png

🗒️ Open documentation

⚠️ Advance notice for VRChat Creator Companion changes

Starting from the 1st of February 2025, my repository listing will no longer officially support the VRChat Creator Companion package manager. Instead, it will support the ALCOM package manager.

What happens if I continue using the VRChat Creator Companion to install this repository?

In many cases you might still be able to install the packages from the VRChat Creator Companion.

However, if there are any issues occuring within the VRChat Creator Companion during the installation process, then it will be considered to be an issue within the VRChat Creator Companion software itself, and workarounds will no longer be provided.

What should I do if I still use the VRChat Creator Companion, and an error occurs in VCC?

If you still use the VRChat Creator Companion, and an error occurs in VCC during the installation of some packages from this repository, then:

Install the ALCOM package manager

I recommend that you install the ALCOM package manager.

ALCOM (GitHub) is a community-created package manager. It is functionally equivalent to the VRChat Creator Companion, but contains fixes to many bugs that had been reported in the VRChat Creator Companion for years.

Report the VCC bugs to VRChat

Report the bugs you have encountered in VCC directly to VRChat Inc. through either the feedback forum, or the GitHub issues.

The bug you have encountered has most likely been reported already in 2022 or 2023.

What if I already use ALCOM?

There is no action to do if you already use ALCOM. Check out anatawa12's GitHub page.

✨ Transfer Blendshape (Starmesh V1.7.0)

✨ New component: Transfer Blendshape

The Starmesh Op. Transfer Blendshape component attempts to create a blendshape on a costume that mimics the movement of a blendshape from another mesh.

Try using this to transfer nail deformations, chest deformations, or hip deformations (i.e. Hip_big) from a base mesh to a costume.

Combine it with other Selectors to limit the areas affected by the transferred deformations.

warning

This component may not always produce good results.

In addition, if you use other tools that attempt to fit a costume on an avatar it was not designed for (i.e. fitting a costume made for Manuka on a Lime base body), it will probably not work as this operator expects the mesh data to overlap, regardless of how bones are arranged in the scene.

🗒️ Open documentation

⚙️ ComboGestureExpressions V3.3.0

  • Add "Ignore Analog Fist" option in the compiler. When enabled, the Fist animations play without having to press the trigger.
  • ComboGestureExpressions now requires Animator As Code V1.1.0 minimum, and accepts any version above that.

⚙️ Prefabulous for VRChat V2.2.0-beta.1

  • Now requires Animator As Code 1.2.0-beta.1 or above, in order to use the asset container provider API.
  • If NDMF 1.6.0 is installed, Prefabulous for VRChat will use the new APIs in NDMF to save generated assets.

⚙️ Animator As Code V1.2.0-beta.1

The Animator As Code V1 API has been updated to improve support for third-party asset container management.

  • There are no additional dependencies introduced.
  • By default, the behaviour of Animator As Code is the same as V1.1.0.
  • Add new optional field AacConfiguration.AssetContainerProvider to specify an asset container provider.
  • Add new interface IAacAssetContainerProvider to abstract asset container management.

This change has been contributed by kb10uy (KOBAYASHI Yū) (first contribution).

The NDMF example in the Getting started page has been updated to demonstrate integration with this new API.

As specified in the changelog for the official release of Animator As Code V1, the breaking changes that were planned for V1.2.0 have been applied.

These breaking changes are meant to be the last breaking changes for the lifetime of Animator As Code V1.

For more details, see the full changelog.

🔍 View changelog

⚙️ Starmesh V1.6.0

A new version of Starmesh has been released.

Starmesh now has code that is shared with FaceTra Shape Creator under the MeshLib package; this is the main reason this update has been published.

This update contains fixes in the order Selectors and Operators are processed, so that Op. Paint New Bone does not interfere with operators that use Select Bones.

🔍 View changelog

✨ FaceTra Shape Creator V0.9.0

A new version of FaceTra Shape Creator has been released.

There are a lot of changes, described in full in the changelog.

In summary:

  • The performance of the application in Edit mode has been significantly improved.
  • Improvements in tailoring:
    • You can now enable Tailoring and override push and pulling vertices per-shape.
    • The result of tailoring can now be exported into a new file.
    • Tailoring can now optionally use the same blendshapes as those from Adaptive file.
  • Improvements in shapes:
    • Most mouth shapes can now have blendshapes added to them. They will use the Mouth Divider.
    • The functionality to push and pull vertices is now optional per-shape, and can be turned off entirely.
    • Upper teeth can now be included in the deformation of Jaw Open, Jaw Left/Right, and Jaw Forward.
  • Improvements in the calibration process:
    • You can now define a position offset (i.e. when a model has been re-saved with high heels).
    • You can now explicitly define base blendshapes that will serve as the rest pose of the face.
    • Vertex selection UI has been improved.
    • The blendshape used in the calibration process to define Mouth, Teeth, and Tongue vertices is now separate from the blendshape used in Jaw Open.
    • Add a new construction line "Eye Visualization", used to visualize the Eye divider.
  • Add new shape: Nose Sneer Left/Right.
warning

FaceTra now shares code with Starmesh under the MeshLib package, which is included in both products.

If you use Starmesh, please update Starmesh to V1.6.0.

🔍 View changelog

🌃 Summary

Hello!

I've gone through a lot of projects lately, and here's a summary of what has been happening.

My development time is divided between the maintenance of Free tools, Patreon exclusive tools, and the continuation of research.

(This page is a clone of the post published on Patreon)

Free tool updates 🌊

☀️ Animator As Code V1 has been released. This update brings Sub-State Machines, Blend Trees, support for non-VRChat projects, better integration with non-destructive workflows, integration with Modular Avatar, support for VRCAnimatorPlayAudio, and prettier support for VRCParameterDriver. The V1 API is now considered stable, and there will be no more breaking changes. (Read more)

☀️ Last month, I've released LetMeSee, a new tool that lets you see your content in VR, with the Unity Editor in Edit Mode. I had initially created this tool so that I could test VR toon shaders on a non-VRChat Unity project that uses the Universal Render Pipeline, but it works just as well for more traditional projects. (Read more)

⚙️ In Prefabulous Universal, Generate Twist Bones now creates VRC Constraints if the VRChat SDK is installed. In addition, Delete Polygons, Assign UV Tile, and Replace Textures should now run before VRCFury.

☀️ It is almost guaranteed that in the next few months, some complex clothing (i.e. kimonos and yukatas) will be sold with VRC Constraints directly in them. For this reason I've added a new component Convert VRC Constraints to Unity Constraints in order to provide options for users who wish to use avatars for other Unity applications, VTubing apps, or social VR platforms.

Animation Viewer now supports CTRL-K, the Unity Search window. (Read more)

Patreon exclusive updates ⭐

Double Hip Tracker is receiving an update in V1.3.0 that changes the behaviour of the double trackers. It's an option, default ON.

In short, we will measure the distance that separates the two trackers. If that distance changes too much, one of the trackers probably flew off. We will now try to detect that, in addition to the usual method. (Read more)

Also, when both trackers are lost, the double tracker will now freeze in place, instead of flying off.

There are other changes described in the full update post.

Vixen is receiving a small update in V1.3.0 so that you can change the boundary values of PhysBones, Contacts, and OSC. This is especially useful to change the range of activation for a PhysBone angle, the range of a PhysBone squish, or permit using two different ranges using one proximity Contact. That, along with a few fixes. (Read more)

✨ In IconGen V1.1.0, you can now export all of your decorated icons to PNG, so that you can redistribute decorated icons to other users. (Learn how)

If you're a Patreon supporter, you should download them now!

More updates are currently being worked on for FaceTra Shape Creator, Starmesh, and Vixen.

Research 🧪

🧪 Project H-View: I have shared on GitHub a personal project of an ImGui.NET application capable of displaying the entire Expressions Menu into a compact layout, and makes extensive use of OSCQuery. (Read more) (GitHub)

It also has an early implementation of that ImGui application being rendered directly into a SteamVR Overlay! (Video)

I've always wanted to try controlling tools like VRCLens and VirtualLens2 as an OSC application, and also learn how to build an ImGui overlay using the OpenVR API, so I'm happy having finally taken the time to do this.

If you are a C# developer, you may be able to make use of that project (it's under the MIT License).

🧪 Project Nochat: UdonSharp has been mainstream for so long, we may have forgotten that C# files (.cs) were never intended to be executed directly inside VRChat worlds. The ability to write C#, and have it work on VRChat worlds, is a feature that is entirely community-driven.

Therefore, VRChat prefabs that use UdonSharp do not depend on any of VRChat's intellectual property at all.

I've taken the opportunity to try running UdonSharp prefabs in a plain Unity project with VR controls, without VRChat. It works! Zero lines of executable code from VRChat needed, as Udon is completely unnecessary. (Video)

The fact that UdonSharp prefabs do not require VRChat to run is relevant as I want to create and enable experiences outside the limitations of the VRChat platform, so porting content could make it possible to experience content we're already familiar with, but with different virtual environment capabilities. I hope I'll be able to share more with you on this subject. (Read more)

🧪 Project Myrddin: This project is very similar to Project Nochat, however, this one is an attempt to run the VRChat SDK without Udon, with the option to run ClientSim with VR controls. UdonSharp components would run as C#, without the Udon VM. This way, one may be able to use traditional IDE debugging features directly on UdonSharp content (breakpoints, instruction stepping, hot code reload without leaving Play mode, etc.).

VR controls in-editor would let you grab world pickups with actual VR controllers and interact with them, opening the possibility of iterating faster on VR content just like a normal Unity game developer would. (Video)

Thank you ⭐

Your support makes it sustainable to continue the development of all these projects as a full-time occupation. Thank you so much! ⭐

✨ Vixen V1.3.0

Custom bounds

You can now customize the bounds in OSC Floats, Contacts, and PhysBones.

  • By default, it is always between 0.0 and 1.0
  • This can be used to change the range of activation for a PhysBone angle, the range of a PhysBone squish, or permit using two different ranges using one proximity Contact.
  • To use it, enable Use Custom Bounds in the control settings.

Fixes

  • Prevents the editor from hanging up when the user mistakenly pastes a page long of unrelated content in the search field.
    • The search query is now limited to 100 characters max.
  • The Vixen icon will no longer show up in the Scene view.
  • User-created Modular Avatar Menu Installer components can now be properly added directly to a Vixen Control.
  • Existing Modular Avatar Menu Installer components can now be properly detected even if it is inactive in the hierarchy.
  • Vixen Control should no longer cause Modular Avatar Menu Item to print harmless error messages when it is deleted during a build.
  • Vixen used to add a Vixen BSG phase to NDMF. This has been removed as it was never used.
    • Vixen BSG (BlendShapeGenerator) was what is now known as Starmesh.
  • Changed the way Vixen detects how VRChat SDK is installed.

✨ IconGen V1.1.0

  • Added a button to export all icons to PNG.
    • In the IconGen asset file, go to Show Advanced > Export all to PNG...

✨ Double Hip Tracker V1.3.0

This update introduces two changes in the behaviour of the double trackers:

Changes:

  • Add "Freeze when both trackers are lost" checkbox: If both trackers of any given double tracker are lost, then the tracker will freeze in place.
    • This new behaviour may be more in line with VRChat's current handling of single trackers being lost. The previous behaviour used to be that the tracker would fall back to the degraded data of the last known working tracker.
    • On previous versions, this checkbox would be effectively OFF. The default behavior is now for this checkbox to be ON.
  • Add a new method to detect when trackers are flying off, even when SteamVR hardware trackers are reporting themselves as healthy.
    • In short, a new option called Detect Separation (default ON), will measure the distance that separates the two trackers. If that distance changes too much, one of the trackers probably flew off. We will now try to detect that, in addition to the usual method.
    • There is a dedicated page that explains this new option, and when to turn this off.
  • Add Auto-detect hip trackers checkbox: You can now disable automatic detection of hip trackers.
    • When you disable automatic detection, it works identically to the Double Chest Tracker.
    • You can use this if you want to always use the same two hip tracker serial numbers without needing to shake your hips, but beware, you may have to press the "Realign Trackers" button if you happen to wear your double hip tracker belt after starting the application.
  • The UI is now organized across tabs.
    • Align trackers tab: For normal use. It has the buttons to realign trackers.
    • Edit trackers tab: Configure which Double Trackers are enabled, and their configuration.
    • Other tab: Provides rarely used options.
  • Add Send HMD position to VRChat (default OFF).
  • Add vertical offset options: Some users have been having issues with the OSC tracker having some sort of vertical offset.
    • No solution had been found for this, so the option to offset the tracker vertically stays.
    • This option will be used during support requests to troubleshoot mismatching tracking space issues.

☀️ Convert VRC Constraints to Unity Constraints (Prefabulous for Platform Conversions V2.0)

☀️ New component: Convert VRC Constraints to Unity Constraints

A new component, Convert VRC Constraints to Unity Constraints, has been added to Prefabulous for Platform Conversions.

It converts VRC Constraint components back to native Unity Constraints, to the extent applicable.

  • VRC-specific features (local axis, freeze to world) are not supported.
  • The VRChat SDK assemblies and DLLs do not need to be installed in the project, as long as the types exist, so they could be mere stubs.

⚙️ Prefabulous Universal V2.1

  • Modify the behaviour of Generate Twist Bones on VRChat projects:
    • If VRChat 3.7.0 or above is installed in the project, we will generate a VRC Aim Constraint component instead of a Unity Aim Constraint.
  • To try resolving an execution ordering issue with VRCFury, Delete Polygons, Assign UV Tile, and Replace Textures no longer run in the Optimizing phase.