Speaking of the canny, please vote on this:

https://vrchat.canny.io/open-beta/p/whitelist-constraints

tl;dr VRchat is about to upgrade to 2018 Unity. In 2018, objects can use a new "Constraints" component to inherit transforms (position, rotation, scale) from an object other than their own parent. It also allows you to freeze axis and change how much of that transform's weight they inherit, so they don't have to move 1:1. This is really useful for unusual avatars and extremely useful for game worlds because you can use offset transforms and matching colliders to perform game logic.

This can sort of be done at the moment with rigid bodies and fixed joints, but there's all kinds of problems and limits with that. Video related is the old method, joints can only be weighted 1:1, that's one of the problems. The old method is also used for most of the functional enemies, pickups and doors in VRchat Doom (and other game worlds) and why you might have noticed things like keys sometimes seem to break for no reason.

Currently in the vrchat beta Constraints aren't whitelisted, despite being a standard part of 2018 Unity. It's under review, so the devs are aware and listening to the votes and your voice matters. Please help.