Welcome to the Developer Update for 23 February 2023! This is the sixth Developer Update of 2023.
Thank you to DAGINATSUKO for their gorgeous world Studio 11, featured in our thumbnail this week!! If you’re looking for a place for a professional avatar photoshoot (or just to hang with some buddies), this is a great spot. Please don’t touch the car.
If you’d like to catch up, you can read our previous Developer Update from February 16.
Creator Companion Reminder
We’re making our final preparations to the new “Web Creator Companion”, which uses tech that is much faster and easier to maintain, in addition to working across platforms! This version will replace the current VCC, which is a Unity application.
We’ve recently updated the SDK to 3.1.11, and as noted in previous Dev Updates, we have also removed the older UnityPackages. However, you can still download new VPM-compatible UnityPackages. These new UnityPackages extract into your
Packages folder. These packages are meant to support users who cannot use the VCC due to platform or other limitations. They can only be used on new projects.
WARNING: These new UnityPackages CANNOT be used to upgrade non-VCC-migrated projects. They can ONLY be used on NEW projects. Importing one of these new UnityPackages to a project with the old non-VCC SDK will break that project.
In those cases, please migrate your project using the VCC instead.
As previously announced, SDK2 UnityPackages are no longer available for download. At a future date (undetermined, but on the scale of “months away”), SDK2 worlds and avatars will no longer be permitted for upload. We will support existing SDK2 content within VRChat for as long as possible.
If you are maintaining an SDK2 world project and want to migrate, CyanLaser maintains CyanTrigger, which provides an SDK2-like interface for Udon. He also has created a SDK2 migrator, which can auto-convert SDK2 to SDK3, including complicated assets like the Standard Assets package that was supported with SDK2.
Unity Version Upload Blocking
We are now actively blocking uploads from Unity versions older than 2019. This has affected an extremely low number of creators!
Users will see a message in their Unity console if their SDK is too old and they’ve been blocked:
Any users still on a version before 2019 should follow the below upgrade guides, and work their way up to the Currently Supported Unity Version.
VRChat SDK 3.11.1 Release
We released SDK 3.11.1 yesterday! It includes a ton of new features, improvements, a few fixes, and marks a critical step in our continued upgrade of the SDK and its framework.
Grab the latest update via the Creator Companion! Simply open up the VCC and hit “Update” on the Base and Worlds/Avatar SDKs. Done!
Let’s talk about some of the new features:
Udon can now load remote images! We talked about this feature in previous Dev Updates. You can use this feature in a lot of ways, like creating a dynamic art gallery that changes from day to day, or loading in posters that update for your latest event without having to update your world.
Similarly, Udon can now load remote strings! We also talked about this feature in past dev updates. For some examples, you could show event schedules, high-score listings, or change the weather in a world based on real-world data!
Udon can now play back MIDI data! You can use MIDI files to play back sequences instead of having to rely on inputting it yourself! You can see some examples of this in previous dev updates, too.
There are also a couple of other new features:
Udon can now access the simulation time of players, Game objects with networking components, and
OnDeserialization with the newly introduced
DeserializationResult Using these will help a ton with accommodating for latency as well as a ton of other things. (honestly, this is a little out of my wheelhouse but i’ve been assured its really cool and useful)
There are also a few other improvements we’ve made to the SDK, such as improving the Editor UI for VRCUrlInputFields to help catch common errors early on.
Image Loader Example
Now that creators can download remote strings and images in their worlds, we expect to see all sorts of fun prefabs and implementations. We’ve created an example world with a Picture Frame that loads remote images and captions and displays them as a slideshow!
The project is hosted on GitHub, and includes a GitHub Action which publishes your images and captions to a free website whenever you upload new versions! This makes it easy to swap out the content without needing to re-upload your world.
Download Prioritization is on the way!
Avatars will now load in series, ordered first by distance and second by size. The total time it’ll take to load all the avatars will stay the same (same amount of data, after all) but the average time will drop enormously – whether you’re on a slow connection or a fast one. Loading bars have been tweaked a bit to show you the ‘total download before this one loads’ so it doesn’t look like nearby avatars are stuck.
In testing with a fast connection, this results in half the avatars in view loading before you even fade in! Priority range can be configured as well, defaulting to 20 meters (roughly the entryway size in most indoor worlds, e.g. those avatars will load first before the next batch begins).
Optionally, this system can also be configured to prioritize manually-shown avatars and friends first.
We’ll have some more previews of this next week, it still has a few bugs being worked out so a video didn’t work out this week. :S
We now have a screen for unblocking a group that was blocked via an invite! You can find it on the VRChat Home site:
We’re also going to be implementing a quick button to block a group without getting an invite first, but waiting on some server-side work for that. Probably happening next week, most likely!
That’s all for this week! It’s a little thin, as we’ve been working on a bunch of things that aren’t quite ready yet. You’ll see more next week, probably.
We’re also working on a ton of other things that aren’t in a show-off state yet, like new Groups features and REDACTED, and REDACTED, and you can’t forget about REDACTED…
We’ll see you next week