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.
Do not delete or replace editor files until you know which installed shader expects them.
- Select an affected material and record its assigned shader.
- Identify whether that shader came from a managed package or a legacy Assets import.
- Follow that shader's official update or removal instructions, then retest the material and avatar.
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
.unitypackagecopied editor files into the project'sAssetstree. - 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:
- Record the material asset path.
- Record the exact shader selected at the top of the material Inspector.
- Note whether the Inspector renders correctly.
- Check Unity's Console for compile errors.
- 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:
- Finish the material's visual settings.
- List every property animated by the avatar.
- Confirm those properties remain configured for animation according to the shader documentation.
- Back up the unlocked material.
- Lock through the shader's supported Inspector action.
- 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.
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:
- The VRChat SDK build report.
- VRChat's Avatar Performance Rank.
- A private in-client upload test.
- 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
- ThryEditor website
- ThryEditor source repository
- Thryrallo Avatar Performance Tools
- Poiyomi Shaders documentation
- VRChat Avatar Performance Ranks
- VRChat Avatar Optimization Tips
- VRChat Android Content Limitations
Related Avatar Guides
- Set Up a VRChat Avatar Project
- Animate a Hue Shift
- Swap Avatar Materials
- VRChat Avatar Optimization Checklist
- VRChat Quest Compatibility Checklist
Topics: ThryEditor, VRChat avatar shaders, Poiyomi, material Inspector, avatar optimization