ThryEditor in VRChat Avatar Projects

ThryEditor is a general Unity shader inspector and editor with a focus on VRChat shaders. It provides shader-author tooling for richer material interfaces and features such as presets, gradient editing, localization, and render-queue shader workflows.

It is not the VRChat SDK, an avatar shader, or an optimization score. A shader package may use or include ThryEditor features, while Thryrallo's Avatar Performance Tools are a separate package with different responsibilities.

Identify the Package Owner First

Do not delete or replace editor files until you know which installed shader expects them.

  1. Select an affected material and record its assigned shader.
  2. Identify whether that shader came from a managed package or a legacy Assets import.
  3. Follow that shader's official update or removal instructions, then retest the material and avatar.
Editor dependency versus uploaded content

ThryEditor runs inside Unity to present and manage shader settings. VRChat evaluates the built avatar, its materials, supported platform shaders, components, and performance data—not the usefulness of the custom Inspector that authored them.

Separate the Tools

Name What it is What it is not
ThryEditor General Unity shader Inspector/editor framework A VRChat avatar shader
Poiyomi Shaders Avatar shader package with an advanced material interface and ThryEditor features The VRChat SDK
Thryrallo Avatar Performance Tools Separate evaluator for additional avatar metrics A replacement for SDK validation
VRChat SDK Builds, validates, tests, and uploads VRChat content A third-party material editor

This distinction matters during troubleshooting. Reinstalling an evaluator will not repair a missing shader, and deleting an Inspector dependency can make otherwise present shader materials difficult or impossible to edit correctly.

Why ThryEditor Appears

ThryEditor may appear because:

  • A shader package installed it as part of its editor interface.
  • A legacy .unitypackage copied editor files into the project's Assets tree.
  • An avatar package included a shader dependency.
  • A previous project migration copied shader and editor folders together.
  • More than one installation method introduced overlapping copies.

The folder name alone does not identify the owning package or correct version. Determine the assigned material shader and the installation source before changing files.

1. Identify the Affected Shader

Select a material with the custom Inspector:

  1. Record the material asset path.
  2. Record the exact shader selected at the top of the material Inspector.
  3. Note whether the Inspector renders correctly.
  4. Check Unity's Console for compile errors.
  5. Find the shader package in the Creator Companion or the project's Assets and Packages views.

Use a short inventory:

Material: Assets/Avatar/Materials/Body.mat
Shader:   exact shader name shown in Unity
Source:   VCC package, Package Manager, or Assets import
Console:  clean / errors present

Do not change the material's shader merely to silence a broken Inspector. First determine whether the expected shader package or its editor dependency failed to compile.

2. Identify the Installation Channel

Installation channel Where to inspect Safe update direction
VRChat Creator Companion repository VCC project package list Update through the same repository
Unity Package Manager Window → Package Manager Update or remove the listed package
Legacy .unitypackage import Project Assets folders Follow the shader author's legacy cleanup instructions
Files copied from another project Project Assets folders with uncertain ownership Restore a backup or reinstall the owning package cleanly

Avoid maintaining the same shader or editor dependency through two channels at once. A managed package plus an older copied Assets folder can compile duplicate types or load an unexpected Inspector.

3. Decide Whether to Keep, Update, or Remove It

Situation Action
Materials render and the owning shader expects ThryEditor Keep it
Shader documentation includes ThryEditor features Manage it through that shader's supported workflow
Console shows duplicate editor types after a second install Back up, identify both sources, and remove only the obsolete installation
Shader package is being replaced Follow that package's official removal order
No material uses the suspected shader Confirm package dependencies before removal
Ownership is unknown Stop and restore or inspect a known-good project copy

Deleting an editor folder at random is not a diagnostic step. It changes the project before establishing which package is broken.

4. Back Up Before Package Changes

Capture:

  • The entire Unity project or a version-control checkpoint.
  • The avatar prefab and scene.
  • Materials and textures.
  • Animation Clips that target material properties.
  • The current VCC or Package Manager package list.
  • Screenshots of critical material settings.

Then close any material Inspectors and let Unity finish importing and compiling before judging the result.

5. Validate the Material Inspector

After installing or updating the owning shader package:

Check Expected result
Unity Console No red compile errors
Shader field Expected shader is assigned
Material Inspector Custom sections render and respond
Textures Existing texture assignments remain present
Rendering mode Opaque, cutout, or transparent mode remains intentional
Render queue Matches the shader workflow
Presets Applied only to intended materials
Scene view Avatar surface matches the expected material

ThryEditor advertises presets and render-queue shader tooling, but the exact controls are defined by the shader using it. Follow the shader's own documentation for the labels and values in its Inspector.

6. Handle Shader Locking and Animation

Poiyomi lists Locking and Animation as part of its documented workflow. Locking behavior is shader-specific, so use the instructions for the installed shader version.

Before locking:

  1. Finish the material's visual settings.
  2. List every property animated by the avatar.
  3. Confirm those properties remain configured for animation according to the shader documentation.
  4. Back up the unlocked material.
  5. Lock through the shader's supported Inspector action.
  6. Preview every material animation after locking.

After locking:

  • Confirm the avatar still renders in the Scene view.
  • Test material-property animations and hue controls.
  • Check material swaps for correct shader and texture assignments.
  • Review the Console for compilation errors.
  • Build a private avatar test.

Do not assume that a successful lock proves every animated property survived. Test the actual FX and Expressions Menu controls.

Mobile avatar shaders are different

VRChat restricts Android and Quest avatar shaders to the mobile shaders included with the current SDK. A PC avatar using a third-party shader needs separate mobile-compatible materials for its mobile version.

7. Keep PC and Mobile Materials Separate

Item PC avatar Mobile avatar
Shader Supported PC avatar shader VRChat/Mobile shader supplied by the SDK
Material Inspector May use ThryEditor-powered features Uses the selected mobile shader's controls
Animated properties PC shader bindings Equivalent mobile bindings only when available
Visual target Full PC appearance Deliberate mobile-compatible approximation

Do not copy a PC-only shader binding into a mobile Animation Clip and expect it to work. Re-record platform-specific clips against properties the mobile shader actually exposes.

8. Use Avatar Performance Tools Separately

Thryrallo's Avatar Performance Tools repository documents an evaluator for metrics including:

  • Texture and mesh VRAM estimates.
  • GrabPass use.
  • Blendshape counts.
  • Any State transition counts.
  • Write Defaults checks.
  • Empty Animator states.

It also provides a VRAM checker that includes textures referenced by animations.

Install and manage this evaluator as its own package. Use it alongside:

  1. The VRChat SDK build report.
  2. VRChat's Avatar Performance Rank.
  3. A private in-client upload test.
  4. PC and mobile platform checks.

VRChat states that its performance rank is a general guide rather than a complete measurement of every possible avatar cost. A third-party evaluator can expose additional review data, but it does not override SDK limits or platform behavior.

Package Change Checklist

Run this after any shader or ThryEditor-related update:

Test Expected result
Unity finishes compilation No red Console errors
Affected materials open Expected custom Inspector appears
Avatar scene loads No missing scripts or missing shaders
Materials render No pink surfaces
Texture assignments Required textures remain connected
Material animations preview Every animated property still responds
Shader locking completes No compile failure; animations still work
SDK build validation runs No new blocking errors
Private PC upload Materials match the Unity setup
Mobile avatar build Uses only supported mobile shaders
Avatar Performance Tools run Results are reviewed separately from SDK rank

Troubleshooting

Help! The material Inspector is blank or broken.

Check the Unity Console first. Record the material's assigned shader, then verify that the owning shader package and its editor dependency are installed through one supported channel without an older duplicate Assets copy.

Help! Unity reports duplicate ThryEditor classes.

The project may contain more than one installation. Back up the project, identify the managed package and legacy Assets copies, then follow the owning shader's cleanup instructions to remove only the obsolete source.

Help! Materials turned pink after an update.

Pink usually means the assigned shader is missing or failed to compile. Fix Console errors, restore the expected shader package, and confirm the material's shader assignment before changing its visual settings.

Help! Should I delete the ThryEditor folder?

Not until you identify which shader package owns or depends on it. Remove or update the dependency through that package's documented workflow after creating a recoverable backup.

Help! A locked material no longer responds to an animation.

Unlock or restore the backed-up material according to the shader documentation, mark the required property for animation using that shader's workflow, lock again, and preview the affected Animation Clip before uploading.

Help! The avatar works in Unity but fails to build.

Read the first relevant Console or SDK validation error rather than treating the material preview as proof of a valid build. Resolve compile errors, missing scripts, and unsupported components before retrying.

Help! The PC material is missing on Quest or Android.

Third-party PC shaders are not permitted on mobile avatars. Create a separate mobile material using a shader under VRChat/Mobile, then rebuild any platform-specific material animations.

Help! Avatar Performance Tools and the SDK show different concerns.

Review both reports according to their scope. The third-party evaluator includes additional metrics, while the SDK and VRChat performance system control platform validation and display behavior.

Official References

Related Avatar Guides

Topics: ThryEditor, VRChat avatar shaders, Poiyomi, material Inspector, avatar optimization