Skip to main content
Version: 10.0
ThryEditor Placeholder Logo

Authored by Thryrallo, Thry Editor (short for "Thryrallo Editor") is the underlying framework that powers the User Interface of the Shader. It serves as the core Shader Inspector and Editor for all the features used across Poiyomi Shaders.

Not only does it serve as the primary framework for the Material User Interface, there are also a few other features under the hood that are worth knowing about. This page will cover all the known features included with Thry Editor, with extended information on some larger features found on the sidebar.

User Interface

Filters the properties by name, indicated by the exposed text field on the top header. Start typing in the field to begin searching.

When typing in a keyword, the UI will only show headers or properties with the searched name. The user interface will filter out any modules that do not match the keyword you search.

Search Feature

Example of the Search feature, showing only the headers that match the word "matcap"

Presets

Left click opens the presets UI. Here you can select a number of presets and see live how they change your material. Afterwards you can either apply the presets or discard the changes.

Presets Feature

Click the Presets button to open the Presets List.

Right Clicking opens the Quick Presets context menu. Here you can only select one preset, which is applied immediately.

Quick Presets Feature

Right-Click the Presets button to quickly select a Preset.

You can also create your own Presets using this feature. See the Documentation Page to learn more.

Global Linking

A spiritual successor to the former Material Linker, Global Linking follows the same principles but is tuned into a more refined, reliable array system.

Global Linking allows linking multiple Materials together to follow the same consistent properties using a JSON string, allowing for non-destructive and repeatable configurations. This eliminates the requirement of hard-linking materials together.

To use Global Linking:

  1. Press the new Global Link icon in the Material Section
  2. Create a new link by typing in a name, and click Add.
  3. The Global Link has been created.

You can then apply your Global Link to other materials from the following:

  1. On the other Material, press the new Global Link icon.
  2. Click the link you created from the list of Available Links.
  3. A prompt will ask you to either,
    1. Apply Properties from the link (Recommended)
    2. Override Properties on the link with the values on your material (Not Recommended)
  4. The Global Link has been added.

Now whenever you make changes to the Globally Linked section, the values will be instantly updated for all other materials that are linked as well. The Global Link icon will be indicated with Green color to show you that the properties have been globally linked.

Unbound Properties

Materials are a collection of properties. When you change shaders the properties used by the old shader are still saved to the material. This the benefit that when swapping back to the old shader your settings are still there. However this can also have unwanted side effects like increased material file size.

Using the Tools icon you get options for unbound properties.

  1. Unbound textures: Textures that are saved to your material but not used by the shader.
  2. Unused textures: Textures that are used by your shader, but inside a disabled section.
  3. Unbound properties: Properties that are saved to your material but not used by the shader.

For all these options you can either list them in the output console or remove them from the material.

Unbound Properties

VRAM Estimated Consumption

In each Texture Slot, a number will appear on the right-hand side of the Texture Slot field. It shows a value in either KB (Kilobytes) or MB (Megabytes).

This number informs the user on how much Texture Memory (VRAM) that the assigned Texture is expected to consume. The amount indicated can greatly impact how other users load your Avatar's texture when it is being rendered on their end.

To learn more about how Texture Memory impacts performance, see this page.

Estimated VRAM on the assigned Texture

Asterisk Indicator

Configurable in ThryEditor Settings, an asterisk (*) will appear next to a Material Property that has deviated away from it's default value. This is useful to see which values are not at it's default, and can assist with debugging issues in the Editor.

VRChat Fallback Shader

The Fallback Shader option generates a tag for the material that informs VRChat which shader to use when your shaders are hidden. See Rendering: VRChat Fallback Shader for more details.

VRC Fallback Selector

Texture Packer

The Texture Packer is a builtin tool to combine multiple textures into one or rearrange its channels, and is integrated into many Data Texture Slots in Poiyomi Shaders.

Shaders can specify which textures should be represented by a texture packer. So under some textures (mostly masks) you will find shown dropdown with texture slots for source textures, a Confirm button and a Revert button. While configuring, you can see a preview of the result in realtime. However your changes will not be correctly applied until you click the Confirm button.

Options per texture slot:

  • Texture Slot: Source texture
  • Fallback: Value to use if the source texture is not set
  • Inverted: Invert the value
  • Channel: Select the channel to use. The Max channel uses the max value of RGB channels.
Texture Packer

Notes

Notes is a basic feature allowing the user to add text to the Shader's module. This can be useful to help you remember what you are using the module for. The Note is only applied per Material.

To add or edit a Note, press the Context Menu (3 dots icon) and click Set Note.

Material Text Serializer

The Material Text Serializer allows for basic Copy/Paste of Material Settings from in and outside of Unity Editor.

Press the Context Menu (3 dots icon) and click Copy as Text to copy the material settings from the affected section(s) to your computer's clipboard in a JSON format. If there are settings shared with you, use Paste as Text to apply the JSON from your clipboard into the material.

Due to limitations, only Material Properties such as Toggles, Sliders, Floats, Ints and Vectors, can be used in the JSON. Texture GUIDs are not supported.

Cross Shader Editor

The Cross Shader Editor is a panel that allows you to mass-edit your Poiyomi Materials, all at once. Anything you edit or change in this panel will be applied to all Materials that are referenced.

Learn more about the Cross Shader Editor.

Settings

The Settings window can be opened via the Gear icon in the top left corner of a material inspector. Or using the menu item of the top bar Thry -> Shader UI -> Settings. This includes Localization, Auto-Set Anchor, and a few more settings.

Learn more about Thry Editor Settings.

Tools

There are a few tools integrated into Unity for assistance on using certain Shader features. A few examples include Fix Keywords, Unlocked Material List, Flipbooks Creator, and more.

Learn more about Thry Editor's Integrated Tools.

Unity Integrations

Thry Editor integrates itself within the Unity Project from the Menu Bar and in context menus. Here are some of the hidden features you can find.

Lock / Unlock All

You can quickly and efficiently Lock or Unlock ALL Poiyomi Materials found within an Avatar with just a few clicks. This can be helpful when ensuring things are properly locked prior to uploading.

To access it, Right-Click on your Avatar. In the context menu, hover over Thry -> Materials, then click either Lock All or Unlock All.

  • Lock All will lock all materials and referenced materials in Animators, while Lock Renderers will lock only materials on Mesh Renderer components.

You can also do the same thing to Folders in your Unity Project by Right-Clicking on a Folder that contains Poiyomi Materials as well.