Mod Download | Latest Version |
Website | SaberFactory.com |
To get more content and help with the mod or creation of content
join the the Saber Factory Discord server.
Or if you want to help the project grow:
❤️ Donate |
---|
Simply said: An all-rounder when it comes to sabers.
Combine different saber parts like lego pieces.
Everything is built around customization.
Change the shape, shaders, material properties, textures and more of parts and sabers.
You can use and customize both parts and custom sabers in saber factory
- Download the first zip from Here
- Unpack it in your Beat Saber directory
I highly recommend watching this tutorial.
The unity project can be found here
You can add a "_customSaber" prop to your beatmap data that tells Saber Factory to use a specific saber for this map like this:
"_customData": {
"_customSaber": "Plasma Katana"
}
Make sure to use the actual name of the saber not the file name. Best is to look in-game at the saber to see what the actual name is.
By default if the player moves in a noodle map the trail behaves like a real trail and becomes longer the faster the player moves.
Sometimes you might have a different vission for your map or the map is less playable with such a long trail.
If you don't know what I'm talking about, take a look at this comparison: https://www.youtube.com/watch?v=UP0SqtMcr1g
You can enable "relative movement of the trail to the player" by using a settable settings in your map like this:
"_difficultyBeatmaps": [
{
"_difficulty": "Expert",
...
"_customData": {
"_requirements": [
"Chroma",
"Noodle Extensions"
],
"_settings": {
"_saberFactory": {
"_relativeTrailMode": true
}
},
}
}
]
The settings group is _saberFactory
and the field is _relativeTrailMode
(which can be either true
or false
)
If you want to create sabers in a song see https://github.com/Auros/SiraUtil#sabers
If you want to create sabers in the menu (like Custom Menu Pointers does)
you can request the MenuSaberProvider
and create sabers with it like this:
public class MyMenuManager : IInitializable
{
private readonly MenuSaberProvider _menuSaberProvider;
public MyMenuManager(MenuSaberProvider menuSaberProvider)
{
_menuSaberProvider = menuSaberProvider;
}
public async void Initialize()
{
var myLeftSaber = await _menuSaberProvider.CreateSaber(parent:null, saberType:SaberType.SaberA, color:Color.red, createTrail:true);
}
}