NKD Protogen Setup Notes

I'm Macil, and this is my page of notes about working with the NKD Protogen VRChat avatar made by Nukude.

I made some public VRChat avatars based on the model, and people ask me for help with making their own avatars often, so I decided to make a webpage with information that I've found has been useful for some people. If you want to contact me, my Discord is Macil#5633 and other contact info is on my homepage.

Shaders

The store page mentions that you need to use Xiexe's Unity Shaders, but it fails to mention that you want version 2.5 specifically in order to use the pre-built materials. You may want to upgrade this on your own (or switch to the more featureful Poiyomi shader), but you may want to start with the pre-built materials to compare your new materials to.

PhysBones Configuration

The avatar is set up with components for the old Dynamic Bones system which no longer works well in VRChat instead of the new PhysBones system. You can use the "auto fix" button in the VRChat Builder window in Unity to convert the dynamic bone components to new PhysBone components, but the results will be too rigid. Here's my recommended PhysBone configuration:

Screenshot of the PhysBone configuration in Unity

Configuring the PhysBones is a delicate balance between making the bones floppy enough that they look interestingly dynamic and rigid enough that they don't spaz out distractingly when the character moves quickly. Feel free to experiment to find what works best for you. Some people may prefer the ears on the protogen to be floppier than this setup.

If you have any animations/toggles affecting the ears or tail, make sure you set the "is animated" option on that physbone.

The "allow posing" setting allows players to freeze a bone in a new position while holding it by pulling the trigger. In the above configuration, I only have it on for the tail, but you may prefer to turn it on for the ears as well, or turn it off entirely.

The TailRoot radius setting here is sized for the nuku tail variant. For the default/banded/long tail variants, you might want to bump it up a bit to 0.0011.

Expressions Configuration

In my own avatar world, all of the protogen avatars are set up so that the VRChat expressions menu can be used to control the facial expression and adjust parts of the body. If you want the same expressions menu setup on your own protogen avatar, then download this zip file and extract it into your project's Assets/NKD Protogen directory. It will overwrite some files in order to set up the expressions menu like mine.

Screenshot of the avatar in-game with the expression menu open

More screenshots of the expressions menu

Screenshot of the avatar in-game with the expression menu open

Screenshot of the avatar in-game with the expression menu open

Screenshot of the avatar in-game with the expression menu open

Note that by default, my own expressions configuration entirely moves all avatar expressions off of hand gestures and into the expressions menu. If you want my config but want hand gestures to also be able to activate expressions, then it's possible to re-enable hand gestures. There's a disabled layer in the _ProtoFX animator already configured to support hand gestures. If and only if you want to support this, then in the Project tab at the bottom of Unity, double-click the _ProtoFX file, go to the "Hand Gestures" layer, scroll out in the Animator view so you can see the gray rectangle labeled "Start", right-click on it, and pick "Set as Layer Default State". The avatar now supports the same hand gestures as the original 2.0 release of the Protogen avatar did.

Enabling hand gestures