Skip to main content

⚙️ Prefabulous Universal V2.0.3

  • Compilation should no longer fail in non-VRChat projects that still have the VRC_SDK_VRCSDK3 scripting define around.
    • Components now extend VRChat's IEditorOnly class only if the VRChat Avatars SDK is installed.
  • Delete Polygons should now run before AAO.

⚙️ Blendshape Viewer V2.1.2

  • Fix layout errors should no longer be produced when the search returns 0 results.
  • 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.

⚙️ Property Finder V2.0.4

  • 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.

✨ Animation Viewer V2.1

  • Add support for CTRL-K Unity Search window.
  • The "Animation Viewer" search provider must be enabled in that CTRL-K search window (three dots at the top right).
  • Animation clips will show up in double in that Search window, as this version does not modify the stock Project search provider.
  • The prefix anim:<your search query> may be used in your search query to only show Animation Viewer results.

⚙️ LetMeSee V1.1.3

  • Continue rendering when Play Mode is paused:
    • When the Editor is paused, continue rendering in the HMD as if it was not paused.
    • This allows the user to continue viewing the scene in VR while objects are frozen in place (i.e. physically simulated hair).

⚙️ LetMeSee V1.1.2

  • Add language selector.
  • Add machine-translated Japanese localization file, translated using ChatGPT.
  • Add machine-translated Korean localization file, translated using ChatGPT.

Versions 1.1.0 and 1.1.1 contain errors.

⚙️ Animation Viewer V2.0.4

  • Fix null dereference when multiple Project tabs are open:
    • Check for a null value in listArea, which may happen when multiple Project tabs are open.
  • Fix inconsistent use of GUILayout ScrollView:
    • Change EditorGUILayout to GUILayout for ScrollView.

The above changes have been contributed by mekanyanko (めかにゃんこ) (first contribution).

☀️ LetMeSee (LMS)

🌊 Any Platform

I am releasing LetMeSee (LMS), a tool that lets you see your content in VR, with the Unity Editor in Edit Mode.

The Scene tab is used as the camera viewpoint. You can use this to fly through avatars and worlds.

This product is released for free.

🗒️ Open documentation

Using LMS for worlds and level design.

Using LMS for avatars.

⚠️ Advance notice for Animator As Code V1

Hello,

In February 2022, I had released Animator As Code version 0 (V0).

During 2023, I had started to move towards Animator As Code to version 1 (V1), in order to do the following breaking changes:

  • Pull major contributions from @galister which:
    • Adds support for sub-state machines, which is important because it enables the creation of states that evaluate multiple transitions within one frame, which is not possible to do without sub-state machines (with one exception).
      • This trait is already extensively used in ComboGestureExpressions V2 and above.
    • Share functionality of state and sub-state machines.
    • Share functionality of Int and Float parameters together.
  • Make it usable in non-VRChat avatar projects.
    • VRChat-related functionality is now exposed as extension functions in a separate package.
    • Also, separate destructive functions and non-destructive functions.
    • Since this no longer requires a VRChat project, this also means it may now be usable in VRChat world projects.
  • Make it more usable in non-destructive components.
    • It is already in use in Prefabulous and Vixen.
  • Move to packages, for distribution using VCC (and now, ALCOM).

My own projects, such as ComboGestureExpressions V3, Vixen, and Prefabulous for VRChat, already use Animator As Code V1.

The project has stalled for long enough, I think it's finally time to give it the last push for release.

V0 and V1 can be installed in the same project

One of the goals of Animator As Code V1 is to preserve the ability for V0 and V1 to be installed in the same project, as Animator As Code V0 is currently being used in the wild.

Therefore, installing Animator As Code V1 will not interfere with Animator As Code V0.

Even then, Animator As Code V0 and V1 are almost identical in syntax, so migrating from V0 and V1 should not be a challenge.

There may be some breaking changes during the beta

Animator As Code V1 will be entering a beta phase before release, which should ideally last a month.

Beta versions of Animator As Code V1 will only be available as pre-release packages, and they may contain breaking changes between two beta versions.

The objective of the Beta is to capture the last inconsistencies in the API, including naming conventions, method signatures, exposed functions and classes, public fields vs public properties, etc. It will also be to complete the documentation, both on this site, and inline documentation.

After Animator As Code V1 comes out of beta in 1.1.0, there should not be any more breaking changes.

Features

⚙️ Lightbox Viewer V2.2.0

This update tries to improve Lightbox Viewer speed in Edit mode, especially in avatar setups where there may be a lot of non-destructive components which have code that runs when that component is destroyed.

There are no speed improvements in Play mode.

🔍 View changelog

⚙️ ComboGestureExpressions V3.2.0

  • Allow installation with VRChat Avatars SDK 3.6.x
  • Remove the Beta label.
  • Attempt to fix "The script class couldn't be found" when adding curve keys.
  • Fix Eye Tracking toggle now uses Write Defaults setting.

☀️ Prefabulous V2.0

🌊 Any Platform

I am releasing Prefabulous V2. This update makes it so Prefabulous components can be used in other social VR platforms, apps, and VTubing apps. VRChat is no longer required.

Users who use the VCC/ALCOM package manager will not need to take special actions to update to V2. If you don't use VCC/ALCOM, see below.

Prefabulous has been split into two packages, and I am introducing a new package:

Updating from V1 to V2 for users who don't use VCC

If you don't use VCC, you will need to follow special upgrade instructions from V1 to V2:

  • If you use VCC/ALCOM, do not do this.
  • Open Unity.
  • Create a new empty scene.
  • Remove the Prefabulous package.
  • Add the new Prefabulous Universal package.
  • Add the new Prefabulous for VRChat package.

☀️ New component: Add ARKit to BlendShapeAvatar

A new component, Add ARKit to BlendShapeAvatar, has been added to Prefabulous for VRM.

This component automatically links all blendshapes found in your meshes as ARKit-named BlendShapeClips for use by VRM apps.

API Changes

Prefabulous is not meant to have any public API, but there has been changes that could affect other plugins.

In essence:

  • NDMF plugin qualified names have been changed,
  • class names have been changed,
  • namespaces have been changed,
  • assembly definitions have been changed,
  • internal classes have been changed.

Prefabulous Universal name changes

  • Component namespace: Prefabulous.Universal.Common.Runtime
Component classNDMF Plugin
PrefabulousAssignUVTiledev.hai-vr.prefabulous.universal.AssignUVTile
PrefabulousConvertBlendshapeConventionsdev.hai-vr.prefabulous.universal.ConvertBlendshapeConventions
PrefabulousDeletePolygonsdev.hai-vr.prefabulous.universal.DeletePolygons
PrefabulousEditAllMeshAnchorOverridedev.hai-vr.prefabulous.universal.EditAllMeshAnchorOverride
PrefabulousEditAllMeshBoundsdev.hai-vr.prefabulous.universal.EditAllMeshBounds
PrefabulousGenerateBlendshapesFTEdev.hai-vr.prefabulous.universal.GenerateBlendshapesFTE
PrefabulousGenerateTwistBonesdev.hai-vr.prefabulous.universal.GenerateTwistBones
PrefabulousRecalculateNormalsdev.hai-vr.prefabulous.universal.RecalculateNormals
PrefabulousReplaceTexturesdev.hai-vr.prefabulous.universal.ReplaceTextures
PrefabulousChangeAvatarScale-

Prefabulous for VRChat name changes

  • Component namespace: Prefabulous.VRC.Runtime
Component classNDMF Plugin
PrefabulousAccurateEyeTrackingdev.hai-vr.prefabulous.vrc.AccurateEyeTracking
PrefabulousBlankExpressionsdev.hai-vr.prefabulous.vrc.BlankExpressions
PrefabulousBlankFXAnimatordev.hai-vr.prefabulous.vrc.ReplaceAnimators
PrefabulousBlankGestureAnimatordev.hai-vr.prefabulous.vrc.ReplaceAnimators
PrefabulousReplaceActionAnimatordev.hai-vr.prefabulous.vrc.ReplaceAnimators
PrefabulousReplaceLocomotionAnimatordev.hai-vr.prefabulous.vrc.ReplaceAnimators
PrefabulousFaceTrackingExtensionsdev.hai-vr.prefabulous.vrc.FaceTrackingExtensions
PrefabulousImportExpressionParametersdev.hai-vr.prefabulous.vrc.ImportExpressionParameters
PrefabulousLockLocomotionMenuItemdev.hai-vr.prefabulous.vrc.LockLocomotionMenuItem
PrefabulousMassBlendshapeSyncdev.hai-vr.prefabulous.vrc.MassBlendshapeSync
(Universal)
PrefabulousChangeAvatarScale
dev.hai-vr.prefabulous.vrc.ChangeAvatarScaleForVRChat

Prefabulous for VRM and VTubing name changes

  • Component namespace: Prefabulous.VRM.Runtime
Component classNDMF Plugin
PrefabulousAddARKitToBlendShapeAvatardev.hai-vr.prefabulous.vrm.AddARKitToBlendShapeAvatar

🗒️ Open documentation

✨ Vixen V1.2.0

You can now add arbitrary blendshape properties on a SkinnedMeshRenderer, even if they don't exist in Edit mode.

This feature was added to support the upcoming release of Starmesh.

⚙️ Prefabulous Avatar V1.11.2

Fix Prefabulous was not able to compile because it was using a deprecated define VRC_SDK_VRCSDK3 that was missing on some users' projects.

☀️ Denormalized Avatar Exporter

Compatible with VSeeFace
Compatible with VNyan
Compatible with Warudo

I am releasing "Denormalized Avatar Exporter", a Unity Editor tool that lets you export avatars normally designed for use in VRChat into VTubing apps, without the disruptive pre-processing steps that would normally be needed:

You don't have to normalize your avatar bones, and you don't have to export your avatar to VRM and import that VRM back into Unity.

Normalization is done when the avatar is being exported, so that you can keep editing the original avatar model file or prefabs just like anyone would normally do for a VRChat avatar.

It will also permit the use of some non-destructive avatar tools initially created for VRChat that are based on NDMF (Non-Destructive Modular Framework).

🗒️ Open documentation