World Utilities / Guides
Remote image board
Show an image from a URL that one player enters and everybody sees.
A poster board where any player can paste an image link and the picture appears for everyone in the instance.
[ URL Input Field ] ─▶ [ Synchronized URL ] ─▶ [ Synchronized Texture2D Loader ] ─▶ [ Local Texture2D ] ─▶ [ Raw Image ]
player types shared by all runs on every client per client on the canvas
Only the URL travels over the network; every client downloads the image itself.
Steps
- Add a
Synchronized URL(Runtime/Prefabs/Synchronized Values) to yourGlobal Settingsgroup and give it a unique name such asPoster URL. Optionally set a Default Value - e.g. your world’s logo - so the board isn’t empty. - Add a
Local Texture2DnamedPoster ImagetoLocal Settings/Derived- its state is computed by the loader. - Add the
Synchronized Values/Converters/Image Loaderprefab and reference both values. The prefab already uses the package’s loading and error placeholder textures. - On your canvas add
Local Values/UI/Raw Imageand reference theLocal Texture2D. - Add
Synchronized Values/UI/URL Input Fieldand reference theSynchronized URL.
Players can now paste a link into the input field; the image appears on everybody’s board.
Polish
- Clear button: a UI button calling
SendCustomEvent("_Clear")on the synchronized URL resets the board to the loader’sDefault Texture. - Curated images: replace the free input with a few URL Presets - one button per image.
- Show the link: add a URL label under the picture.
VRChat only loads images from trusted hosts unless a player enabled Allow Untrusted URLs, and limits how often images can be downloaded. Set an
Access Denied Error Textureon the loader that tells players what went wrong. See VRChat’s image loading documentation.