Developer Update - 19 January 2023

yeah you can’t make VRCUrls at runtime. Only way to do that at runtime is through VRCUrlInputField (which almost every video player uses), which is read-only in udon (input has to come from the user)

Where’s the Pico 4 update? =(

The whole point of this is to stop you from being able to do stuff like that. It’s sad that we can’t dynamically create URLs and load stuff with that, but the reason behind it is security. People could log what you do in their world, how you move, who you are and so on which is why you aren’t able to do this.

The Pico 4 requires OpenXR which requires Unity 2020 or newer. VRChat is currently using Unity 2019 so supporting the Pico 4 would require them to implement OpenXR and to update to Unity 2020 or newer. Unity 2020 would break most shaders though as there are some changes to how stuff is rendered in VR.
So yeah VRChat probably won’t come to the Pico 4 anytime soon.

Design driven limitations vs limitation driven design.

By pulling strings from elsewhere, can change a playlist without a world update. But that is only so so. How about a library? Dynamically load the text for a book when the user opens it. Moby Dick is 1.2mb of text. Reading books in VR is probably a silly idea at this point but being able to flip through would be nice.

I’m confident that people will have better ideas.

Have a VR location and update weather based on a real location. Virtual Tokyo with authentically rainy days.

1 Like

Very excited for avatar scaling to be implemented in 2023

I understand preventing writing to a URL field to store data, especially since many types of data that can be used for tracking users can be compressed well within the URL query parameters or path name (Amazon and many other sites already do this).

But what I would wish to see is whitelisted types. For example, whitelisting UserID or something, and it being able to be used as a variable in a VRCUrl. At least with this, I would be able to load user-specific data if the user went out of their way to copy a string of text into a website that I make.

I guess, granted, I only really wanted to use this feature to have persistent world save settings. But then that just shows that persistent world settings would be a groundbreaking feature that would solve the user experience of many users, and it should have a higher priority than it currently does. Would it be that difficult to store some Udon variable data in a JSON or other text file?

Oh? Interesting… If VRCUrlInputField can be used to do a request, then this solution could work then. I could have users copy a generated URL from an input field and paste it into another, and then press “save” for their settings.

I really hope this works, because it would keep the whole user experience in-game but also allow for explicit consent anytime that data is sent to my API. I think this would be the best compromise if this can work.

How i imagine remote string loading:

  1. VRChat allows any urls but proxies them by itself for users (with serious limitations ofc)
  2. URLs are static, but allows to pass unique id of user for each world. For example:{unique_userid_for_this_world}/saves

I know that’s not what the vrc devs want to make, but it will open many possibilities for world creators

I think that due holding persistent data, might need a way for the player to throw out data for particular world, and world creator to throw out data for everyone. I guess for world creator can embed version information, and conditionally throw out data if it’s too old or looks invalid.

But I suspect users might need a way to clear thier preserved data in the event of an error. Like getting soft lock in video game.

1 Like

Hey ive seen many bots that are Crashing lobbys. Please FiX that.
Users Like Quest-Smoke / White / Asta are Using Bots that tarn themselfs as Quest users to trick the EAC-System and are Spaming Udon Requests until the Lobby Crashes/Disconnects. They use everytime like over 20 Bots and are using Multiaccounts to do so. Please Fix it that People like them cant use that anymore.

For sure. Though this should be trivial.

VRChat already caches information, notably your user settings and the expressions menu settings for countless avatars. They just need:

  1. World settings file in an existing cache location
  2. Local API interface to write and delete world settings, which Udon can use
  3. UI button for “Clear This World Data” on the world page view
  4. “Clear This World Data” and “Clear All World Data” probably next to the cache clear section
  5. Probably also a “size limit” that has a default value, but is configurable, just like the avatar download size

If they set the size limit to a default of 8 KB, you could have 131,072 world save settings files before you hit 1 GB (assuming they all max it out). 8 KB should also allow game worlds to store a significant amount of game state save information (like an insane amount). This would be enough for a pretty sizable JSON file. For example, this is 7.94 KB and ~400 lines and not even minified: example JSON · GitHub

The feature should not be that difficult. It’s just a matter of development time. I think it’s a good idea to prioritize this feature so world creators can take advantage of it ASAP. It would drastically change how worlds can be used.

(feedback if y’all could so kindly upvote it: Canny)

Hi, please submit all moderation reports to the support team please. The forums aren’t the place to report malicious users.

1 Like

New Dev Update is up! Developer Update - 26 January 2023