Some avatars have no head tracking data
Guribo
Some avatars have no head tracking data. It simply returns the world origin.
I had expected to get at least the camera position/rotation.
Test world: https://vrchat.com/i/fusl-pythondeclan-b4cf1
Log In
Guribo
Additionally: on avatars simply the bone rotation is returned which in this case is not facing forward but backward, effectively making my script believe Rod is facing away from me when we face each other. I believe the head position/rotation is available under the hood as it might be used for example the player voice position (this is just an assumption) and thus could be exposed as tracking data.
With the current implementation it is difficult to reliably determine the direction a remote player is looking/facing without analysing the bone structure or frequently sending bone-tracking-data offsets just so you can recreate the actual tracking data...
Phasedragon
That is a generic avatar, so there is no need to sync the position of the head. That would be a waste of bandwidth for vrchat to sync it on the off chance that some udon script might need it. The same reasoning applies to the tracking data of a remote player. The same problem occurs for a humanoid avatar that is missing some bones, since some bones are optional. If it is humanoid however, the head is not optional.
This is a situation where you should probably make your own udon script to sync the values if you want other players to see them.
Guribo
Phasedragon: In that case the API is misleading. "Tracking data" does not suggest any relation to a specific avatar. Also there is no API call that allows checking the type of avatar you are using. You'd need to check for missing bones etc to figure that out. The argument of not syncing the head tracking data when it is generic is also not a very strong argument as you are already saving a lot as there is no humanoid IK that needs to be synced...