Release 3.8.1 Beta 2
Summary
Version 3.8.1-beta.2
adds Udon network events with parameters, exposes several new VRChat-specific classes to Udon (including Camera access and Network Debug Stats), and adds Build & Test for iOS. It also fixes several UI issues in the SDK Control Panel.
This is a beta version, you may encounter bugs. Please report any issues on our open-beta feedback board!
Udon Network Events with Parameters
Please read the extensive network events documentation for details! It includes several examples, network specifications for events, explanations around rate limiting, detailed notes on backward compatibility and security notes.
TL;DR: You can now specify up to 8 parameters on custom network events sent via SendCustomNetworkEvent
. All types supported by Udon Sync work. In UdonSharp, you need to use the new [NetworkCallable]
attribute. Your existing Udon scripts will continue to work without any changes.
- Added
[NetworkCallable]
attribute to UdonSharp, and extended the Udon Graph UI for theCustom Event
node to allow parameters to be added.- Optionally takes a rate limit parameter, defaulting to 5 per second, per event (max 100 per second). Check out the docs on rate-limiting.
- Added
NetworkEventTarget.Others
, which acts similarly toAll
but excludes the sender from receiving their own event. - Added
NetworkEventTarget.Self
, which bypasses rate limits and can be used to send local events with parameters. - Added functions
NetworkCalling.GetQueuedEvents
andNetworkCalling.GetAllQueuedEvents
to monitor outgoing event queues (useful when working with rate-limiting). - Added
VRCPlayerApi NetworkCalling.CallingPlayer { get; }
to get the sender of any event (including legacy ones!) while inside a function triggered remotely.- Includes
bool NetworkCalling.InNetworkCall { get; }
as a shortcut forUtilities.IsValid(NetworkCalling.CallingPlayer)
.
- Includes
New Features
- Added Build & Test support for iOS.
- This works a bit different than other platforms, so check out the documentation!
- You can now specify per-platform versions of the avatar to be used during multi-platform build & publish
- Full documentation for this feature, including public API, is available here.
- Exposed Screen & Photo Camera as well as certain Quality Settings to Udon via appropriate wrapper classes.
- Also exposes certain quality settings, including shadow distance, to Udon.
- Includes 2 new events,
OnVRCCameraSettingsChanged
andOnVRCQualitySettingsChanged
, for when the local user changes camera or quality settings, documented here.
- Added several Udon interfaces to access network debug information.
- These are meant for advanced Udon networking creators. Check the full documentation here.
Fixes & Changes
- Fixed the "Alerts" section not updating after docking the SDK Build panel and switching tabs.
- Fixed an issue where failing to build a world bundle could result in uploading a previous bundle (e.g. a bundle for a different platform).
- Slightly changed how default scale factors are assigned when adding new targets to a
VRCHeadChop
component.- The component will now copy the weight from the previous target in the list. This change has been made to improve support for user made tools that assign scale factors from code.
- Fixed VRChat aim and look-at constraints calculating incorrect offsets in some specific situations with the component active and the offset unlocked.
- The Avatar SDK no longer blocks the build button due to validation errors.
- The builds will still fail if validations do not pass after all the avatar processing callbacks finish.
- SDK no longer becomes unresponsive when encountering API issues during thumbnail and content info updates.
- SDK no longer gets stuck in a disabled state when attempting to save changes when the content name is empty.
- Includes PhysBone fixes and changes up to VRChat client
2025.2.1
, build1622
.
Fixes & Changes in 3.8.1-beta.2
- The copyright ownership confirmation modal has been moved to appear right after clicking "Build & Publish" instead of before upload.
- Clicking "Build & Publish" on an avatar that has per-platform overrides set up will now use the override even without multiple platforms being selected.
- Avatars with per-platform overrides configured now show a blue badge 🔵 near the "⋮" button of the avatar selector.
- Moved
PerPlatformOverrides
code into theVRC.SDK3A.Editor
assembly. This avoids breaking changes made in3.8.1-beta.1
.- Updated the documentation to reflect the revised API for getting and setting per-platform avatar overrides.
- See this canny for details.
- Fixed a case where the content blueprint ID could get cleared when
BuildAndUpload
is called right after switching Scenes. - Reserved layers can no longer have their culling distance modified via
VRCCameraSettings.LayerCullDistances
.
Known Issues
- In rare cases, you may see an "All pipe instances are busy" error while building. This is a Unity issue - restarting your editor and trying again should fix it.