This is a custom moveset editor for Nickelodeon All-Star Brawl's BulkSerialized file format!
It runs in the Unity Editor using xNode and a fork of NASB_Parser.
Download and install Unity 2020.3.15f2
The simplest way to do this is through Unity Hub.
Once installed, create a new 3D Unity project using Unity 2020.3.15f2
You have two options to install xNode. Using Unity's Package Manager, or manual install.
Option 1: Package Manager
You need to install git and have it on your PATH for this to work.
Open the file Packages/manifest.json
in a text editor, and add the following line at the top of the dependencies list
"com.github.megalon.xnode": "https://github.com/megalon/xNode.git",
Save the file, then go back to the Unity window. It should start downloading xNode.
Option 2: Manual install
Download this zip file of my xNode git repo and extract the zip into the Assets folder of your Unity project.
Download the file NASB_Moveset_Editor_{VERSION}.unitypackage
from the releases page here.
Simply drag this file into your Unity project to import the package.
It will ask you what you want to import. Make sure to import everything!
In Unity, open the NASB Moveset Editor control panel from the top menu bar NASB -> Moveset Editor
.
You can dock this window inside unity by dragging the tab.
Nickelodeon All-Star Brawl stores moveset data in text files using a custom format, known as BulkSerialized.
The NASB Moveset Editor can read these BulkSerialized files, and split them apart so that each IdState
gets it's own Moveset Graph.
In general, each Moveset Graph is it's own "move" in the moveset!
First you need a BulkSerialized
text file.
You can extract these files from within the game using a tool like Asset Studio.
These may change with each update, so make sure you have the latest files!
The movesets for characters are typically named by their ID. For example, char_rival.txt
for Helga. You can tell if you have a correct file if you open it in a text editor, and it starts with BulkSerialize
followed by a bunch of numbers on each line.
Once you have a BulkSerialized file
Click the Import TextAsset
button in the NASB Moveset Editor window to import the BulkSerialized text file.
This will create a folder at the path Assets/Editor/Moveset Graphs/{filename}
. Here you can find the Moveset Graphs for this moveset.
Double click on one of these files in the Unity Inspector to open it in the NASB Moveset Editor!
Notice how some things seem to be missing. What about idle? Falling? EdgeGrab?
These are contained within the characterBase.txt
BulkSerialized file. Each character overrides these moves, but only if they need to.
Import that file if you want to see all of the base moves that each character can overwrite. There's over 200!
characterBase isn't the only file that characters inherit moveset information from. Here is the full heiarchy.
blastzoneKOBase
grabbableBase
launchableBase
characterBase
char_x
You can create a nearly blank moveset graph by clicking the "Create New Moveset Graph" button.
This will open a new window requesting some basic information about the graph!
Click "Create Moveset Graph" and it will open the graph in the editor.
You probably want to copy and paste from an existing move in a different moveset to get started.
Select the moveset you want to export from the dropdown, then click on the Export TextAsset button.
This will convert the collection of graphs in the selected folder back into a BulkSerialized text file for you to use in the game.
Bobbie has made a moveset swapper mod in the NASB Discord.
It looks for a moveset file in BepInEx/Movesets
that matches the name of the text asset in the game.
For example, Spongebob's moveset would be char_apple.txt
. You can also use char_apple_new.txt
Keybind | Action |
---|---|
Left Click | Select nodes. Click on a "port" and drag it to another port to connect two nodes. Right click while dragging to create a re-route point. |
Right Click | Context Menu. Right click in empty space within the editor to add a new node from the drop-down menu. |
Middle Click | Move the viewport in the editor window. |
Right Click + Drag | Alternative to Middle Click. Move the viewport in the editor window. |
Scroll Wheel | Zoom. You can define the min / max zoom level in the Preferences. |
F | Focus selected. If no node is selected, it returns the viewport to (0, 0) |
A | Select all |
CTRL + Z | Undo (This uses Unity's undo system) |
CTRL + Y | Redo (This uses Unity's undo system) |