Home

Awesome

Deprecated!

Want to see it in action? Visit the Demo world

Want to upload automated membership lists from your Discord server? Invite bot to your Server

<div>

AvatarImageReader GitHub GitHub Repo stars GitHub all releases GitHub tag (latest SemVer)

</div>

Allows you to encode text into images and then read it in VRChat. Uses Avatar Thumbnail Images to store and load images. Works on both PC and Quest.

image

Made by: @GlitchyDev, @Miner28, @BocuD and @Varneon

Special help: @lox9973 for Quest support

Special Thanks: @Merlin for making UdonSharp making any of this possible

Installation

<details><summary>

Import with VRChat Creator Companion:</summary>

  1. Download the the repository's .zip here
  2. Unpack the .zip somewhere
  3. In VRChat Creator Companion, navigate to Settings > User Packages > Add
  4. Navigate to the unpacked folder, com.miner28.avatar-image-reader and click Select Folder
  5. Avatar Image Reader should now be visible under Local User Packages in the project view in VRChat Creator Companion
  6. Click Add
</details><details><summary>

Import with Unity Package Manager (git):</summary>

  1. In the Unity toolbar, select Window > Package Manager > [+] > Add package from git URL...
  2. Paste the following link: https://github.com/Miner28/AvatarImageReader.git
</details><details><summary>

Import from Unitypackage:</summary>

  1. Download latest Avatar Image Reader from here
  2. Import the downloaded .unitypackage into your Unity project
</details>

Update 3.0

Update 2.0

Example use cases

Requirements

Documentation

Setup

To set up a new AvatarImageReader, use the menu item Tools/AvatarImageReader/Create Image Reader. For easy testing you should probably pick the option with a TMP. The next step is linking an avatar to the system. To do so, click Set Avatar. This will open up a window from where you can select an avatar to use. Keep in mind that the avatar should be uploaded at least once. To encode text for your pedestal, use the inspector tool and click Encode. Using the Upload Image to Avatar button will upload your changes to the avatar. If you now launch a local test client, your text should load in game.

Updating text

The easiest way to update the text contents is to just use the inspector for an existing pedestal. You can change the text in here, reencode and then reupload. The menu item Tools/Avatar Image Encoder can also be used. Alternatively you can also use a discord bot that will provide you with avatar-id and automatically update the avatar image periodically with latest data. To create your own custom encoder system, you can use AvatarImageReader/C# Encoder/AvatarImageEncoder.cs as reference. As an alternative a python encoder is also provided.

Getting decoded text

RuntimeDecoder contains a public variable outputString that will contain the encoded text once it has been decoded. To be sure that decoding has been completed you should use the option Send Custom Event on finish and send an event to whatever UdonBehaviour you want to access the output string with.

Max Image Size by Platform

PlatformResolutionBytesSizeCharacters (UTF-8)
PC1200 x 9004,320,0004.3MB1,080,000 - 4,320,000
Android128 x 9649,15249.2KB12,288 - 49,152

Chaining avatars has theoretically unlimited capacity, but will lead to increased CPU load upon joining the world