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
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.
Made by: @GlitchyDev, @Miner28, @BocuD and @Varneon
Special help: @lox9973 for Quest support
Special Thanks: @Merlin for making UdonSharp making any of this possible
- Download the the repository's .zip here
- Unpack the .zip somewhere
- In VRChat Creator Companion, navigate to
Settings
>User Packages
>Add
- Navigate to the unpacked folder,
com.miner28.avatar-image-reader
and clickSelect Folder
Avatar Image Reader
should now be visible underLocal User Packages
in the project view in VRChat Creator Companion- Click
Add
- In the Unity toolbar, select
Window
>Package Manager
>[+]
>Add package from git URL...
- Paste the following link:
https://github.com/Miner28/AvatarImageReader.git
- Download latest Avatar Image Reader from here
- Import the downloaded .unitypackage into your Unity project
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.
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.
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.
Platform | Resolution | Bytes | Size | Characters (UTF-8) |
---|---|---|---|---|
PC | 1200 x 900 | 4,320,000 | 4.3MB | 1,080,000 - 4,320,000 |
Android | 128 x 96 | 49,152 | 49.2KB | 12,288 - 49,152 |
Chaining avatars has theoretically unlimited capacity, but will lead to increased CPU load upon joining the world