Feature Requests

Please check out the following guidelines before suggesting a feature! Off-topic posts will be deleted.
Implement custom "global" physbone colliders
Currently physbone colliders have a fairly rudimentary implementation that is rather restrictive. Considering that prior to the introduction of EAC dynamic bones had a third party patch to allow cross-avatar interactions, you should finish this feature. Contact system is already there. Right now "global" colliders are only referenced from hands and fingers, as per the documentation, but avatars can have more objects that may need to collide: from anatomy to props and VFX. This is needlessly restrictive, and there exists no viable solution. Thus, here's a draft of requirements: Implement the ability to mark a physbone collider as a global contributor: use a separate property to define global contribution status If current implementation allows for it, implement runtime property updates to allow colliders to be promoted to (and demoted from) global status outside of build process "Global" colliders' permission model should follow that of the ones already implemented in hands and fingers Add a safety option that'd allow users to disable (or limit total count of) custom colliders on a per-user and/or global scales; the feature should be enabled by default, the limit is up to you to decide If count limiter is implemented, also implement a uint8 (single byte) priority property in colliders, which essentially would copy AudioSource's priority's behaviour (same priority objects can be non-deterministic, based on client's stack), starting at 255 (lowest) Add a boolean "{parameter}_Colliding" animator parameter to physbones themselves that is set upon a collision with any collider, global or listed Add a boolean "{parameter}_CollidingWithListed" animator parameter to physbones themselves that is set upon a collision only with colliders listed in the component's collider whitelist
4
·
available in future release
Allow world creators to enable Distance Shadowmasks
I've encountered a serious problem with the lighting in my world. I want baked lights, but I also want avatars to cast shadows, and for them to be dark when they go inside away from the sun. The usual solution to this would be to mix realtime and baked lighting, and enable Distance Shadowmasking but I can't do this because it must be enabled in the project settings (Quality Settings -> ShadowMask Mode), and it appears the VRChat client doesn't enable this feature, and doesn't make it available to be enabled via the world descriptor. Allowing it to be enabled by the world creator would be easy. You can adjust this setting in a script like so: QualitySettings.shadowmaskMode = ShadowmaskMode.DistanceShadowmask; Without distance shadowmasking, when avatars go indoors they are still lit up bright as day from the realtime directional light I use for my sun. Now you may be thinking light probes might solve this problem, but they don't, and I already have them in my world. The reason light probes don't help here is because they can't dim realtime lights shining on an avatar. They only add light to them. With this setup, light probes simply act to add ambient light to characters in shadow, but the characters aren't in shadow unless there are dynamic objects between them and the light source. "Aha!" you exclaim, "Why not create some invisible dynamic objects to shadow the objects behind them!" Unfortunately, I tried this as well, but I found shadows cast this way don't line up precisely with the polygons beneath them even if I set the light's shadow offsets to 0, so I end up with speckles from fully lit pixels along the edges that aren't shadowed.
14
·
available in future release
Load More