As the title says, this is with a model i made myself
For the first issue: Your Avatar’s origin must be at the feet and not the waist. Make sure that all transforms have been applied in blender on your meshes and rig (ctrl-A → All Transforms). Make sure your avatar is ‘standing’ on the floor grid in Blender.
Second issue: This is either a rig issue (make sure your bone hierarchy is set up correctly in blender) or an import issue with the Mecanim Avatar. To fix the latter, select your fbx file in Unity, select the “Rig” tab in the inspector, and click “Configure” under “Avatar Definition”. Ensure that that is all set up correctly.
There’s a good chance that the third issue is being caused by the first and will go away when that is fixed. Your avatar is 2.93 metres tall, but the VRChat SDK may be measuring the height of your avatar from the floor to your head, whereas the client is measuring from feet to head.
So I managed to clear the “shorter than average” warning but it’s still way too small and the camera is screwed up (forgot to mention this in the initial post). Do I select every single piece of the avatar in blender and set the origin to the world origin? Note that I only did the set origin thing with the armature, if I select everything it’ll make animating parts harder
The avatar looks correct, but it should not have transforms applied to it. The avatar should be standing on the origin with the transform and rotation set to 0, and the scale set to 1.
You can fix this by selecting your armature and applying the transform (ctrl+a → All Transforms). This will modify your armature bone’s transforms so that they remain in the same visual position (what you see in that screenshot), but the origin will be the world centre (which is correctly placed at its feet).
I think you should be able to get away with just doing that to the armature and leaving all the other pieces of your avatar untouched.
So I’ve done that and the issue still persist for some reason. I still have the messed camera and scale.