Player Calibration Script for VRChat Worlds [SDK3]
- UdonSharp-Script Version¥ 650
- [DEPRECATED] UdonAssembly Version¥ 650
This script calibrates your VRChat SDK3 world to the height and bone setup of the player in your world. When the player switches avatar, an update is made if the height changes and specified objects can be adjusted in height, e.g. buttons, so all players can easily reach them. It is recommended to get this asset if you use any of my other scripts like the keyboard, piano, button & slider asset, etc. since they all need to calibrate to the player for an optimal experience. This also allows players to use those features that don't have all bones which is a common issue. This script works without an update loop! A clever update queue eliminates frame time spikes, especially in a world where a lot of items need to be calibrated. When used with any of my assets, this script will automatically fetch all needed components when you put it into your scene, since all tags and names are already set. This also works for your own assets when you set a tag on them. The object height adjusting even works with multifloor worlds. You can define the min/max height and the ground height for each object or for object groups, relative to a floor height that you can define per object or group. By simply assigning a tag to a GameObject in your scene, you have the following options: AOP - set the object to a comfortable height for the player SPH - send the player height to the UdonBehaviour/UdonSharpBehaviour on that object SFB - send the main (index) finger bones to the UdonBehaviour/UdonSharpBehaviour on that object (not all avatars have the same bones, the script looks for the best alternative on each avatar rig) SAC - call "OnAvatarChanged()" on the script attached to that object after setting the height/fingerbones to allow the script to make additional adjustments based on that information To make your life as easy as possible, an editor script is provided that assigns the objects automatically. All you need to do is set the tag "PlayerCalibration" and then add the needed options to the name (e.g. "YourObjectName_SPH_SFB_SAC"). Then you click a button and all tagged objects in your scene are automatically checked and assigned to the PlayerCalibration-Script. This feature can be experienced in this world: https://vrchat.com/home/world/wrld_b155ff30-0bbf-486c-afc5-e7a05145387b Assembly Version: This version is deprecated, so you should not buy or use it anymore. Buy the script version instead. It is recommended to test this out in the world linked above before you purchase. As always, if you find that a certain feature is missing, please let me know. I can add more features on-demand as I did for my other products as long as it makes sense for multiple people. Your world needs to be SDK3 to use this. Documentation is included, and the setup should be as easy as copy-pasting the provided setup. I also included contact options in case you need help setting this up after purchase. All my products are designed to be easy to use without programming knowledge. There is a guide included on how to set it up and what each setting does. Please let me know if there is a feature missing so that I can add it to this product. New feature since V3.0: An optional drop-in replacement for the VRChat world settings script is included now as well. This allows you to make movement parameters based on avatar height, so small avatars move slower, have a smaller jump height, etc. in your world. You can also control how big/small avatars are allowed to be in your world, enforce a certain height when players join your world, and so on. This was added later based on customer demand. LICENSE: See https://reimajo.booth.pm/ -------------------------------------------------- Join the ReimajoBoothAssets Discord if you own any of my assets to receive update notifications, help & support: https://discord.gg/ZgsxQr5JNC --------------------------------------------------