Release 3.10.4-beta.3
Summary
SDK Version 3.10.4-beta.3 brings VRCTween, box-shaped Contacts, and global PhysBone colliders.
These features are currently in Open Beta!
New Udon APIs and components require client version 2026.2.2 or higher.
Please report any issues you encounter on our open-beta feedback board.
Features
-
Added VRCTween, which exposes select functionality from the powerful DOTween library to Udon.
- You can now animate positions, rotations, scales, and more with a few lines of code.
- Virtual tweens provide advanced interpolation functionality and more for experienced creators.
- Includes cancelable delayed calls.
VRCTween.DelayedCallworks likeSendCustomEventDelayedSeconds, but returns a handle you canKill()to cancel. - All functionality is compatible with UdonSharp and Graph.
-
In avatar projects, you can now mark PhysBone colliders as global. This allows them to collide with PhysBones in worlds or other avatars (if they also allow collision against avatars).
- This is the same system that already powers your finger and hand colliders for
headpattingtouching PhysBones. - You can mark up to four additional PhysBone colliders as global per avatar.
- This is the same system that already powers your finger and hand colliders for
-
Contact senders and contact receivers on avatars and worlds can now be box shaped.
- You can adjust the width, height and depth of the box shape independently.
- Proximity can be calculated as either distance from the center like other contact types, or distance from a face of the box.
-
Exposed PhysBone colliders in worlds to Udon, allowing their properties to be changed dynamically via Udon scripts.
- After modifying a
VRCPhysBoneCollider, you need to callApplyConfigurationChanges()on it to apply the changes, similar to how PhysBone components behave.
- After modifying a
Fixes & Changes
- Gizmo previews for avatar fingers in the SDK should now exactly match the shapes in the client.
- Previously, the capsules shown in the SDK were from tip-to-tip. They're now correctly shown as center-to-center.
- The SDK now highlights that plane-shaped physbone colliders don't support global collision.
- All SDK projects now enforce shader chunking at a size of 4 MB each.
- This allows content to be loaded more efficiently, especially for shaders with many variants.
- Updates to VRChat Data Containers:
VRCDataListandVRCDataDictionarycan now be constructed with a custom capacity.VRCDataDictionarynow exposes anEnsureCapacity()method that ensures the dictionary can hold at least the specified number of elements.
- GameObjects are now automatically moved to the
Pickuplayer again when adding aVRCPickupcomponent to them. - Fixed an issue where UdonSharp could miscompile enum usage with a specific amount of members.
UdonSharpBehaviournow implementsIUdonEventReceiver, saving you some type casting.
Fixes in 3.10.4-beta.2
- Fixed VRCTween's integration into the Worlds SDK.
Fixes in 3.10.4-beta.3
- Added
DelayedSetActiveto VRCTween, enabling you to set a targetGameObjectas active/inactive after a given delay. - Added
TweenPitchfor AudioSources, enabling you to animate the pitch of audio playback. - You can now create paused, zero-duration tweens for reuse.
- In avatar projects, when you have multiple avatars in the same scene, the
Allow SelfandAllow Othersproperties on Contacts and PhysBones now behave as if each avatar is its own player while the project is in play mode. - Fixed a regression preventing the sample scene from being created in new world projects if the UDON scripting define was set at first launch.
- Avatar performance rankings now correctly ignore VRCRaycast components on game objects tagged as
EditorOnly.
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.
