How to Make a Custom Moveset in JJS Skill Builder
A custom moveset in JJS Skill Builder lets you combine hitboxes, animations, sounds, velocity, and timeline logic to build your own attacks in Jujutsu Shenanigans.
This guide explains how to make a simple custom move in JJS Skill Builder, which nodes matter most, and how to structure your timeline so the move actually feels good in-game.
If you are completely new to the system, start with our How to Use JJS Skill Builder guide first. Or if you prefer to learn by example, check out our JJS codes collection where you can copy working Jujutsu Shenanigans codes and study how they're built.
What Counts as a Custom Move in JJS Skill Builder
In JJS Skill Builder, a custom move is usually made from a sequence of nodes inside the timeline. The document's core framework defines the timeline as the ordered node flow where actions trigger from top to bottom, with short default buffering between nodes.
A basic custom move often includes:
- a startup animation
- a short delay
- a hitbox
- a sound effect
- optional knockback or follow-up logic
That means you are not just choosing one ability. You are building a timed sequence.
Start With the Right Block
The first decision is whether you are making a full character setup or a single move.
The tutorial document explains that Character Blocks are used to customize much more of a character, including skills, special, melee, and awakening, while Moveset Blocks are mainly for replacing or adding a single skill.
For most beginners, a single move is easier to test first.
Best choice for beginners
- Use a Moveset Block if you only want to test one custom skill.
- Use a Character Block later when you want to build a more complete character.
Understand the Timeline First
Every custom move in JJS Skill Builder is built inside the timeline. The document describes the timeline as the menu where nodes activate in order from top to bottom.

A very simple move structure looks like this:
This is the easiest way to think about move building: one action after another.
The 5 Main Nodes You Need for a First Custom Move
Animation
Animation controls what the move looks like. The tutorial notes that animation nodes can play character animations during the move and support options like loop, speed, fade in, fade out, and targeting.
Use this for:
- startup pose
- strike animation
- finish pose
Wait
Wait is your timing control. The document explains that Wait creates a buffer and stops the timeline from progressing until the selected time passes.
Use this to:
- delay impact
- line up animation timing
- create windup
Hitbox
Hitbox is the real damage part of most custom moves. The document lists detailed controls for hitbox position, size, stun, damage, blockability, ragdoll interaction, and branch behavior.
Use this to:
- apply damage
- stun the enemy
- make the move blockable or unblockable
Sound
Sound makes the move feel much better. The document explains that you can add a Roblox sound ID and control speed, volume, start, and end timing.
Use this for:
- slash sounds
- impact sounds
- aura or charge audio
Velocity
Velocity handles movement and knockback. The tutorial says it can launch, reposition, or ragdoll the user or last-hit enemy using force, time, fade, track, and ragdoll settings.
Use this for:
- knockback
- slam effects
- dash attacks
- movement-based moves
How to Make a Basic Custom Move Step by Step
Step 1: Create a Test Move
Open your builder and make one test move slot.
Do not start with a full advanced combo. A simple strike move is much easier to debug.
Suggested test name:
- Basic Slash
- Test Hitbox
- Custom Punch
Step 2: Add an Animation Node
Choose an animation that clearly shows the move starting.
A good first test animation should be:
- short
- readable
- not too flashy
The goal is to match the animation timing to the actual hitbox later.
Step 3: Add a Wait Node
Add a small Wait after the animation starts.
A beginner-friendly range is:
- 0.1 to 0.25 seconds for quick moves
- 0.3 to 0.5 seconds for slower moves
This creates a windup before the impact.
Step 4: Add the Hitbox
Now add the hitbox.
The document explains that hitboxes are highly configurable, including position, size, stun, damage, blockability, whether they cancel enemy moves, and whether they can branch on hit.
For a first move, keep it simple:
- medium forward position
- not too large
- moderate damage
- short stun
Step 5: Add Sound
Place a sound node near the hit moment.
Use this to make the impact feel clearer. Even a simple hit sound improves the move immediately.
Step 6: Add Velocity for Knockback
If you want the move to push enemies away, add a velocity node after the hitbox.
A small knockback is easier to test than a huge launch.
Step 7: Test in Game
Now test:
- does the hitbox line up with the animation?
- does the move trigger too early?
- is the hitbox too large?
- does the enemy get pushed too far?
Adjust only one variable at a time.
How to Make the Move Feel Better
A move that works is not always a move that feels good.
Match timing to animation
If the hitbox lands before the swing looks finished, the move feels wrong.
Keep the hitbox reasonable
The document shows how flexible hitbox size and position are, but bigger is not always better. Oversized hitboxes often feel cheap.
Use sound for feedback
A clean impact sound makes weak moves feel better.
Use velocity carefully
Too much force can make a move annoying or difficult to combo from.
Common Beginner Mistakes
The move looks fine but never hits
Usually this means the hitbox timing or position is wrong.
The move hits, but feels delayed
Usually the Wait is too long or the animation is mismatched.
The move does damage but feels weak
Usually it needs better sound, knockback, or animation feedback.
The move is too strong
Usually the hitbox is too large or the stun is too long.
What to Learn Next
Once you can make one simple custom move, the next things to learn are:
- branch logic
- hit cancel
- loops
- variants
- counters
The original tutorial covers these advanced systems too, especially Hit Cancel, Branch, Flip, and Loop for conditional move logic.
That is where the builder starts to feel much more powerful.
Helpful Resources
To build better custom moves faster, use these together:
- Browse JJS codes — study working movesets from the community to learn move structure and timing
- Animation & Sound IDs to improve polish
- JJS Boombox IDs for community-reported music and audio IDs
- JJS Mesh & Texture IDs for visual effects
- JJS Image, Decal & Billboard IDs for overlays, move icons, and domain visuals
- Planner (Beta) to map out your move before rebuilding it in game
Pro tip: Before building your first custom move, check out our JJS codes collection. You can copy a working moveset, test it in-game, then study how it's built to understand node timing and structure.

FAQ
What is the easiest custom move to make in JJS Skill Builder?
A simple strike move with animation, wait, hitbox, and sound is the easiest place to start.
Should beginners use Character Block or Moveset Block?
Moveset Block is usually easier for a first test move. Character Block is better when building a full custom character. This matches the tutorial's distinction between the two systems.
Do I need Animation IDs and Sound IDs?
Not always, but they make custom moves look and feel much better.
What should I learn after basic custom moves?
Branches, hit cancel, and variants are the best next step.
Conclusion
If you want to make custom moves in JJS Skill Builder, the best approach is to start simple. Learn how timing works, line up one animation with one hitbox, then improve the move with sound and velocity. Once that basic structure feels natural, you can move into branches, variants, and advanced combo logic.
Need inspiration or want to see how experienced builders structure their moves? Browse our JJS codes library to find working examples. You can copy any JJS code, import it in-game, and study the node structure to understand advanced techniques. Check out our Animation and Sound IDs to add polish to your custom moves.
