This version should still work. But I'm no longer supporting this project. You can find VRLab's version of late sync Here. If I get more time in the future I'll reopen and redo this project for VRCConstraints. However, in its current state the auto conversion should still work.
Requirements:
6 Bools
1 Float
3 Contact Senders
12 Contact Receivers
2 Phys bones
1 Phys bone collider
This Prefab keeps your world drops synced from your avatar with no external programs.
- (Required) Install Modular Avatar or VRCFury.
- Place the given Prefab/World Constraint compatible with either Modular Avatar or VRCFury on your avatar.
- Unpack the World Constraint prefab completely.
- Open the prefab and select the ResetTarget. You can drag this onto your ARMATURE Hips is the minimum depth. If youd like to have your position and rotation separate. (for example position on hands and rotation on hips.) You can open the ResetTarget and select the individual PositionTarget and RotationTarget and place them in their relative positions. With VRCFury there is an optional prefab "Hips Linked" that you can use. If so you can opt to skip this step if you are okay with it dropping at your feet relative to your hips be default. (This uses the Armature link)
- Replace the Cube under World Constraint/Container/Toggle with your own object. Make sure to 0 it out or set whatever offset you would like.
You're done.
Upload.
When you drop the object. It should drop instantly, then after a few seconds it will swap to the remote version which should stay synced for everyone involved. It may disappear for a frame, it shouldn't but it may.
This supports worlds of size +-1000,+-1000,+-1000.
Example Video for set up:
Unity_aL3UtcjLIH.mp4
Example video for placing on Avatar Pill (so it drops at the floor at the same height every time)
Unity_MZ7cCqjrfS.mp4
Example video for placing on hand
Unity_PSY1FmiHcJ.mp4
Example video for putting rotation on hip while keeping position on hand
Unity_Nes6Me1FbG.mp4
Update:
Added forceLocal variable. If you wish to override the sync with a local drop (if it breaks in an sdk2 world for example) you can toggle it on.
Compiled by Juzo
Shoutouts to the Razgriz for their help on theory and the VRLabs team especially Lin. Thank you for your help on this project.
Version 6.15.2024