Sb3utility Tutorial -
sb3utiliy tutorial
sb3utility is a Windows program for browsing, extracting, and editing files from Nintendo Switch game backups (.nsp, .xci) and their contents (ROMFS, ExeFS, tickets, saves). Below is a concise tutorial to get started.
Goal: Replace a sprite’s costume with a 4K PNG.
Steps:
- Select the target sprite in the left tree.
- In the Costumes tab, select the costume you want to replace.
- Right-click → Replace.
- Choose your high-resolution PNG (or SVG).
- Click Apply.
- Check the console log: It will say "Replaced costume with new MD5: ..."
- Save your project: File → Save As →
my_4k_project.sb3.
Result: When you load this into Scratch, the costume will be displayed crisp, though Scratch may scale it down in the editor—it will retain the original data when exported.
Abstract
SB3Utility is an essential modding tool for several 3D games developed by Illusion, including Honey Select, PlayHome, and AI Shoujo. This paper provides a step-by-step tutorial for using SB3Utility to extract, replace, and manage game assets such as textures, meshes, and animation data. It covers installation, basic operations, common workflows, and troubleshooting tips, aimed at beginner-to-intermediate modders. sb3utility tutorial
Step 1: Download the Latest Release
- Go to the official GitHub repository (search "sb3utility" on GitHub).
- Download the latest
.exefile for Windows or the.jarfile for macOS/Linux (requires Java Runtime Environment).
Installation
To use sb3utility, you'll need to install it first. Run the following command in your terminal:
pip install sb3utility
Step 3: Launch the Tool
- Double-click
SB3Utility.exeor runjava -jar SB3Utility.jar. - You will see a window with four main panels: File Explorer, Asset List, Preview, and Console Log.
Part 3: Workflow — Exporting Assets (Ripping)
Let’s say you want to export a character or an outfit to edit in Blender or simply view the textures.
1. Opening a File
- Go to File > Open.
- Navigate to your game's
abdatafolder (orcharafolder depending on the game). - Select a
.unity3dfile. (e.g.,cf_top_00.unity3dfor a top outfit). - Note: The bottom left window will populate with the file contents.
2. Navigating the "Object Tree"
- You will see a list of containers (often named
p_cf_body_00or similar). - Double-click a container to expand it.
- Look for Renderers. This is what draws the object on screen.
- Expand a Renderer to see the Mesh and Materials inside.
3. Exporting a Mesh (3D Model)
- Click on the Meshes tab at the top.
- You will see a list of mesh names (e.g.,
MeshRenderer). - Select the mesh you want.
- Click Export Mesh (usually to
.objor.fbx). - Tip: FBX is better for preserving bones/rigging if you plan to edit and re-import.
4. Exporting Textures
- Click the Texture tab.
- You will see a list of textures (often labeled
_MainTex,_NormalMap, etc.). - Select the texture.
- Click Export Texture.
- You can now edit this PNG/BMP in Photoshop.
Basic Python example using sb3utils (or manual handling):
import zipfile
import json
import shutil
import os
def extract_sb3(sb3_path, output_dir):
with zipfile.ZipFile(sb3_path, 'r') as zip_ref:
zip_ref.extractall(output_dir)
print(f"Extracted to output_dir")
def repack_sb3(source_dir, output_sb3):
with zipfile.ZipFile(output_sb3, 'w', zipfile.ZIP_DEFLATED) as zipf:
for root, dirs, files in os.walk(source_dir):
for file in files:
zipf.write(os.path.join(root, file),
arcname=os.path.relpath(os.path.join(root, file), source_dir))
print(f"Created output_sb3")
Example Use Case: Modifying a Project
Let's say you want to modify a project to change the background color of the stage. Here's how you can do it: sb3utiliy tutorial sb3utility is a Windows program for
import sb3utility
# Load a Scratch project
project = sb3utility.Project('path/to/project.sb3')
# Get the stage
stage = project.stage
# Change the background color
stage.bgd = sb3utility.Color(255, 0, 0) # red
# Save the modified project
project.save('path/to/modified_project.sb3')