What To Do When Bones Won't Symmetrize
If you're making your own rig, it can save a lot of time to make just one side and then symmetrize the bones. If everything is set up correctly, the Symmetrize operate will perfectly mirror all the bones. Sometimes it doesn't- how come?
Most of the time, this is because of how your bones are named. The Blender documentation explains this:
This operator will mirror the selected bones along the X axis based on Blender’s bone naming convention for symmetrical armatures, either from left to right or right to left, depending on the selection. If the side of the bone cannot be determined, it will be ignored.
In other words, you need to mark the bones as being on the left or the right before Symmetrizing. The Blender bone naming convention is pretty straight-forward, so I'm not going to paraphrase it.BLENDER BONE NAMING CONVENTION
Another problem that can affect if the Symmetrize operator works or not is the Axis you are mirroring across. The operator works on the X axis- so your viewport should have Y in front:
Using Symmetrized Bones with a Mirrored Mesh
It's pretty common to model one side and mirror both the bones and the mesh attached to them. There is a potential hiccup with this method that you may run into. Sometimes a mirrored mesh will interact wrong with the rig; both sides of the rig will be controlling one side of the mesh.
The solution is to change the orders of the modifiers on the mesh. There will be an Armature modifier, connecting the mesh to the Rig, and a Mirror modifier. The mirror modifier needs to be dragged above the Armature modifier, and this will solve the problem. Generally speaking, the Armature modifier should always be the last on the modifier list. This way, all the other modifiers will be applied before the Armature.