1. As long as the device is set to "auto-switch between hands and controllers" and your application is set to use "Controllers and Hands," all you have to do is put the controllers down for a few seconds to switch. Check out the YouTube app for a good example of that implementation. This switch should be under the user's control and not the developer because you don't know the environment they're in so it should be up to them. If you want/need the user to switch input modes you can put up a dialog box and wait until the value of "OVRInput.GetConnectedControllers();" changes.
2. No. Not for current Quest devices. Controller tracking uses infrared light and hand tracking uses visible light, so the Quest's cameras need to be in different modes to track one or the other. Can't do both at the same time with current hardware.
PS: Have the avatar animated hand controllers functioning in the scene (although sadly the hands and controllers are pink in URP) and also added hand prefabs to the OVRPlayerController so that now BOTH function and automatically switch, HOWEVER the hands with controllers (avatar hands with controllers) sadly stay in the same place when the locomotion on OVRPlayerController is called seemingly. How to make the avatar hands follow?
Thanks in advance!
All I can say is you're going on the same voyage of discovery I went on over a year ago. All these issues are solvable, but I realized as soon as Facebook debuted the avatars in Facebook Horizon that the Oculus Avatar system's days were numbered and you'll save yourself a lot of headaches by not using it in its current state.