I have wanted to see my custom avatar in my game since day one... Instead, whenever I turn on the ShowThirdPerson boolean I either see the default blue character or nothing at all but in both cases I get 999+ NullFerenceException errors and it turns out they are all related to trying to use the materials that are supposed to be in that prefab.
The first two (Surface Shader and Surface Shader self Occluding) are set and the rest are empty. I get so much slack from that it's not even funny. So I eventually decided that I would manually fix up the prefab that Oculus included in the latest update for Unity. Apparently installing that package into a new project starts you off with a broken prefab? Huh? So which materials to use? I noticed that the first missing shader has PBS in it's name and all the rest have PBSV2 in it's name and so I dragged in AvatarSurfaceShaderPBS and AvatarSurfaceShaderPBSV2 respectively.
This successfully removed all the NullReferenceException errors... and also now leaves me with no avatar.
I recently read that the avatar now uses a string id instead of an unsigned int and yet all the documentation I can find on here and via Google all still say to copy the game id as the avatar id. Just today I was following a tutorial on how to properly load your custom avatar and copy pasted the code from here into my project. Before I changed the shaders I was getting those errors all the time but noticed that something was different with my avatar. It was still the generic head but it was now brown. Interesting.... Now that I have replaced the shaders it is missing completely...
By copy pasting the code that I got from the documentation, though, it gave me an error saying it can't convert the numeric value to a string like the avatar ID requires so I had to convert the ID to a string to make it compile. I now believe strongly that I am using the wrong value there but can't seem to find ANY documentation relating to where to get the string id of the avatar. So, by me loading the wrong avatar id, am I not receiving any avatar now? Or is it not showing because I picked wrong materials for the OvrAvatar component?
Should I go break each one of the materials one by one and replace it with one shader after another until I have tried all combinations of the 4 available shaders into each of the 5 available slots? That's what... 5 to the power of 4 is 625 possible combinations isn't it? And that is while using the app id as avatar id and not using the app id as avatar id so that gives me a total of 1250 possible combinations to try to get this avatar to show up.
That is just plan ridiculous. Can someone just tell me what materials are supposed to go into that broken LocalAvatar prefab, please? Also, where in the world can I get info on the new string id the avatar requires to load the correct avatar to try and show?
Thanks to anyone who can shed some light on this for me.