Open Beta

Post about the current Open Beta. Post logs to Gist/Pastebin! One item per post!
Non-constructive and off-topic posts will be moved or deleted.
[VRCSDK 3.9.1-beta.2] PermissionFilter behavioral breaking changes in contentTypes due to default value
VRCSDK 3.9.1-beta.x introduced the 'contentTypes' property to the PermissionFilter struct, and it must be -1 to preserve behavior from previous versions. However, the default value for 'contentTypes' is 0, which changes how PermissionFilters behave with the default value. This breaks tools that assign PermissionFilter struct with default values. Simplified code that reproduces the issue // With this processor, all VRCPhysBoneBase components will only allow self-collision with VRCSDK 3.9.0. // However, with VRCSDK 3.9.1-beta.x and later, because collisionFilter.contentTypes defaults to 0, it will not allow any global collisions including self-collision and world collisions. // // In real-world usage, we can except component to configure collisionFilter and others properties globally. class AllowSelfOnly : IVRCSDKPreprocessAvatarCallback { public int callbackOrder => -8192; public bool OnPreprocessAvatar(GameObject avatarGameObject) { foreach (var physBone in avatarGameObject.GetComponentsInChildren<VRCPhysBoneBase>(true)) { physBone.allowCollision = VRCPhysBoneBase.AdvancedBool.Other; physBone.collisionFilter = new VRCPhysBoneBase.PermissionFilter { allowSelf = true, allowOthers = false, }; } return true; } } Minimum Reproducible Example I created a simple avatar to test the behavior. The following two builds are build from exactly the same project with only changing the VRCSDK version. The first one is built with VRCSDK 3.9.0, and global collision completely works, including self-collision. The second one is built with VRCSDK 3.9.1-beta.2, and no global collision works, including self-collision. The GitHub link is the assets used to build both avatars. The asset includes simple processor to change allowCollision, allowPosing and allowGrabbing globally to test the behavior. https://github.com/anatawa12/TestAvatars/tree/c6afd24a156d233d2775d3dc03b2d72ac4ad2d18/VRCSDK3.9.1-beta.2-contentTypes https://vrchat.com/home/avatar/avtr_bddc440d-9e9a-49e9-b76f-ad5cdc11fa54 https://vrchat.com/home/avatar/avtr_81f49585-23d0-493a-a0e8-9b995623ca40
1
Load More