Common issues and solutions

## Oculus Rift HMD doesn't turn on or display when loading world in VRChat

Make sure if your scene has fog enabled, that you have a value specified higher than 0, or turn off fog. You can find fog settings under your scene lighting.

## Unity3D crashes when building a scene

This is known to occur when a reference camera is assigned in the scene descriptor (such as when adding post processing effects), and a water object is added to the scene that uses its own camera to produce reflections. Either remove the reference camera, or remove the water.

It is also useful to know that you can figure out what causes a crash by a process of elimination by way of disabling half the objects in your scene (except those you need to be able to build) and then building to see what happens. Keep disabling more and more until the crash goes away, and you've found the offending object.

## Model/Avatar is see through from the front, or seems like the visible faces of the model is inside out

You need to flip the 'normals' of any polygon that is not facing the right direction so that Unity knows the correct side of a polygon is never seen and thus shouldn't be drawn (culled).

Either try click 'recalculate normals' in Unity in the inspector window when the model is selected in the project window, and pray... or you will have to manually 'flip' the normal in a 3D modeling program such as Maya or Blender.

## Model/Avatar has blinking white dots in VRChat

In Unity try removing any specular map or setting the material from Standard (Specular) to just Standard.

## Model tears apart during animation, polygons are not connected

Open the model in a 3D Modeling studio such as Maya or Blender and make sure that you remove doubles for vertices to force nearby vertices to combine, thus joining nearby polygons.

You may need to combine multiple mesh objects (if available) into one single mesh object before removing doubles.

## Some parts of the model stretch weirdly or do not move at all during animating

Some bones may need to be manually rotated in Unity's bone assignment configuration screen. For instance the fingers of your model may be malformed, due to the bones assigned to the fingers having a bad rotation applied.

You may need to manually fix some of the rigging weights (which vertices of your models polygons are influenced by the motions of which bones, and how strong that influence may be) and in the case of polygons that don't move, make sure their vertices have been weighted to the required bone. Sometimes you may also have vertices that are weighted too strongly or simply to the wrong bone. This requires a 3D modeling studio to repair such as Maya or Blender.

## My model/avatar looks far too flat, I can see all the polygons

Try applying a smooth shader operation in the 3D modeling studio of your choice. Make sure you understand how to mark edges as 'sharp' or how to manually shade only the polygon faces that need it.

## My avatar causes everyone in VR Chat to have severely reduced frame rate

In general, try to make sure your avatar has less than 20,000 polygons. Use a 3D modeling studio to reduce the polygon count. In particular you may use the 'Decimate' modifier in Blender to easily reduce the polygon count to below 20,000 polygons with only a few clicks.

Additionally, ensure your model has as few materials as possible, preferably only one(Less than 5 if you don't know how to texture atlas). A technique to do this is called "Texture Atlasing" and can be done either automatically through a tool like CATS Blender tool, or manually (for significantly better results)

Having more than 1 mesh will also cause an decrease in performance due to render times.

Particle effects can also lead to performance issues if set too high or too dense.

Certain types of shaders that change textures into a more 3 dimensional shape or cause a lot of render times will also cause performance issues.

## My avatar appears partially in the ground

You need to make sure the feet of your avatar are at the x,y and z 0 location in the 3d modeling program before it is exported as an FBX, etc. Alternatively, you can make your avatar a child of an empty gameobject and apply any rotations to the gameobject instead, however it is better to fix the orientations on the model itself than to work around it using empty parents, as using empties for various models will eventually clutter and get your scene messy.

## My avatar does not appear/I am a stuck as a blue transparent person

Make sure you set the models animation type to humanoid and applied the change before you compile the .vrca file.

## The bump/normal map on my Avatar looks weird, or slightly off

If Unity warns you that the texture hasn't been marked as a normal map, navigate to the normal map section of the selected material and select the "Fix This" button. It is recommended that you manually alter the many settings to get it to look just right. An example of this being particular imported game models from other game engines may implement normal maps inverted, however "CrazyBump" allows you to reverse this by simply setting the strength modifier to the opposite parity, example being going from 50 strength, to -50 strength.

It may also be useful to remove any other textures such as height maps and occlusion maps, and instead leave only the albedo and normal map when evaluating your model to make sure the other maps aren't obscuring your objective view of the normal maps influence.

## Spawn on top of a grey block in custom map that has no grey block in the Unity Editor

If you spawn in your world and a grey block appears below you, usually this indicates an issue with your player spawn location objects. Make sure you have properly configured and added your spawns, and that they are children of the map root object.

## Room based key events won't trigger

If you have keys that are supposed to trigger something for anyone that hits the key in the room, and it does not work.. make sure you do NOT have the event handler and key events on the root object of your scene. Instead you will want to add a child object to the root, and place all your scripts on this child object. Adding a 3D cube as a child of the root and turning off the mesh visibility works really well as an object to hold these scripts.

## Custom DLL isn't working

Make sure the domain hosting your DLL is whitelisted by the VRChat developers if you are testing it online. If it does not work offline, and you are running your room directly from Unity's Build and Run feature, make sure you have a copy of the DLL in BOTH the Plugins folder AND the same location where you save the room .vrcs file. In all cases, the DLL should physically exist in the same location as the .vrcs file and the .vrcs file name should be the same as the DLL.

## My Avatars Mouth Stays Open

Added new section in the Avatar Import You can find the solution here

## VRChat crashes when trying to enter my world and I don't know the cause?

If you experience issues loading world or avatar it may be beneficial to check the output\_log.txt as you may find addition information on what went wrong! Find the .txt file at C:/Program Files(x86)/VRChat/VRChat\_Data/output\_log.txt

## My static objects in the scene have a bunch of VRC Static Reference components that increase in number with every build

```
[MenuItem("VRChat/Clean Excess References")]
       static void CleanExcessReferences()
       {
        VRCSDK2.VRC_ReflectionReference[] reflectionReferences = GameObject.FindObjectsOfType<VRCSDK2.VRC_ReflectionReference> ();
        foreach (VRCSDK2.VRC_ReflectionReference rr in reflectionReferences)
         DestroyImmediate(rr);
         VRCSDK2.VRC_LightmapReference[] lightMapReferences = GameObject.FindObjectsOfType<VRCSDK2.VRC_LightmapReference> ();
         foreach (VRCSDK2.VRC_LightmapReference lmr in lightMapReferences)
          DestroyImmediate(lmr);

        VRCSDK2.VRC_StaticReference[] staticReferences = GameObject.FindObjectsOfType<VRCSDK2.VRC_StaticReference> ();
        foreach (VRCSDK2.VRC_StaticReference sr in staticReferences)
         DestroyImmediate(sr);
       }

```

## Mixamo animations do not work right in Unity, animation stuck half in floor or makes my avatar preview look like it is in a fetal position or stuck in T-pose

Make sure when you save animations from Mixamo that you pick the option that also uses the skin. Now make sure you set your model to type 'Humanoid' and then just duplicate animations out of your model in the Unity project view by expanding the caret on the model, selecting the animation and pressing Control + D.

## I can only see a few avatars in the game. The rest of them a invisible. I can only see their shadows

You are probably using a AMD RX400 or RX500 GPU. There is currently a bug in the Flat Lit Toon shader many avatars are using (Bugreport). There is nothing you can do in that case.

## World and avatar loading gets stuck or is very slow

If you are using an IPv6 connection you might check out this tutorial. Revert these changes, if it didn't help.

## In blender my avatar looks fine but when I bring it into unity its hair is transparent

Make sure that you set the materials rendering mode from transparent to opaque.