Since people are still having trouble with making custom sabers, we think that it's best to update our current tutorial. Thank you to angeliod0103 for making the previous guide. Additional contributions to this guide made by Bobbie and Mdot.
A 3d model file of the saber of your choice. The most common and acceptable file formats are .obj and .fbx files. You can download your saber from 3d model hosting/showcase sites like Sketchfab or turbosquid.
3d modeling software: Blender is a good free option, or 3dsmax if you have a license for it (educational license is fine)
Image editor: Photoshop or GIMP work if you want to make your own saber texture
To import the model into unity, simply drag and drop it into the Assets window. Afterwards, line the saber up with the TemplateSaber. Video example:
https://www.youtube.com/watch?v=mphD87zOer4 is not a valid YouTube URL!
Next, you need to add Beat Saber compatible materials to your sabers.
The custom sabers unity project comes with 4 different beat saber compatible shaders. Here are the main differences between them:
Lit glow is lit and has shadows. You can change the direction the light comes from and how strong it is
Metallic makes the material slightly darker and allows you to add a metallic reflection
Unlit glow is similar to lit glow but it doesn't have any lighting effects.
Unlit glow cutout dither is the same as unlit glow but allows you to add transparency to your material.
The materials you use will depend on what traits you're looking for.
Make sure you ONLY use shaders that are compatible with beat saber. If you use a shader that isn't compatible (the Unity Standard shader, for example) your material will simply show up as white in-game.
For more information on shader compatibility, visit the Advanced Shaders Properties section of this guide.
Video example of applying materials:
https://www.youtube.com/watch?v=zKFCNJoQOWk is not a valid YouTube URL!
You can add a texture to a material by dragging an image file in the texture slot.
The Glow slider modifies how bright the saber glows. Additionally, when the glow is above 0, that material will be affected by the player's custom colors.
Once you've completed all of this, you can export your saber. Open up the Saber Exporter in the Window tab and then fill in the saber's name and author.
Put your sabers in your CustomSabers folder and test them out in game. If they look good ingame, you're all done!
Now your materials should have a nice Custom Colors checkbox instead of custom color support depending on the currently set glow.
Similarly, if you want to import a non-beatsaber shader to use it on a saber and want it to display correctly ingame, you need to strip the Alpha channel out.
Each shader is different, so there's no universal approach to doing this. If you're not sure exactly how to do this, feel free to discuss the process in #pc-3d-modeling in the Beat Saber Modding Group.