A practical guide to the Classic Unstable effect on Crystal Focus X, including how it works, what each tuning parameter does, and ready-to-use recipes for subtle shimmer, Kylo-style crackle, volcanic glow, and full chaos.
hcool, lcoolsparkf, sparkdmapping_color, mapc, mapb, mapping_unstableThe Classic Unstable effect (unstable=1) simulates a crackling, volatile blade that looks like it could fall apart at any moment. Think of a saber that constantly boils with energy across its full length rather than flickering from one particular end.
Unlike the Fire effect (unstable=2), which concentrates its activity at the base and drifts upward, Classic Unstable distributes sparks uniformly across the whole blade. That gives it a chaotic, full-blade instability look instead of an organic flame-like movement.
Under the hood, the effect works like a cellular heat simulation. Random sparks inject heat into the blade, while a continuous cooling process tries to pull it back down. That tug-of-war creates the unstable flicker.
In your blade profile, set:
unstable=1
That is enough to activate the effect. Everything else in this guide is optional tuning.
These four parameters are the backbone of the Classic Unstable look. They decide how hot the blade gets, how quickly it cools, and how often new sparks appear.
hcool — High CoolingDefault: 70
This is the maximum amount of heat that can be removed from a pixel each frame. Higher values cool the blade faster and make the flicker shorter and sharper.
| Value | Visual Result |
|---|---|
30–50 | Slow cooling, long lingering bright patches |
70 | Balanced default flicker |
100–150 | Fast cooling, rapid sharp pops of brightness |
200+ | Very aggressive cooling, sparks barely stay visible |
lcool — Low CoolingDefault: 20
This is the minimum cooling applied each frame. Each pixel loses a random amount of heat between lcool and hcool. A bigger gap creates more uneven fade-out behavior across the blade.
| Combination | Character |
|---|---|
lcool=5 / hcool=70 | Wide range, some spots linger while others vanish quickly |
lcool=50 / hcool=70 | Narrow range, more uniform flickering |
lcool=1 / hcool=200 | Extreme range, very wild and unpredictable |
Tip: Keepinglcoollow, usually between5and20, is an easy way to preserve character while you tune the effect’s aggressiveness withhcool.
sparkf — Sparking ForceDefault: 120
This controls the probability that new sparks ignite on a given frame. Higher values mean sparks appear more often.
| Value | Visual Result |
|---|---|
30–60 | Rare sparks, relatively calm blade |
120 | Steady default crackling |
180–220 | Frequent sparks, busy energetic blade |
250 | Near-constant activity, blade is almost always bright |
sparkd — Spark DensityDefault: 10
This defines what percentage of the blade length can receive new sparks when a spark event occurs. A value of 10 means up to 10% of the blade’s pixels can be sparked in one frame.
| Value | Visual Result |
|---|---|
1–5 | Sparse, isolated hot spots |
10 | Default, small clusters of bright regions |
25–40 | Dense, large sections light up together |
50–100 | Very dense, most of the blade participates |
Note: Even at sparkd=1, the firmware still guarantees at least one spark per event, so the blade never stays completely dark on a spark cycle.
drift — Heat DriftDefault: 0
When drift is off, heat stays where it appeared and fades in place. When drift is enabled with drift=1, heat moves along the blade in a random direction each frame. That makes the blade feel more like it is roiling and boiling instead of just fizzing in place.
drift=0 # sparks stay where they appear
drift=1 # heat drifts randomly up or down each frame
This is one of the main differences between Classic Unstable and Fire. Fire uses a directional drift, while Classic Unstable uses a random one, so the motion feels more chaotic.
The unstable effect builds a heat map internally. These settings decide how that heat map becomes visible color on the blade.
ecolor — Effect ColorThis is the effect color used by the unstable effect, also known as the wet color. It appears in the hot areas of the blade.
ecolor=1023,320,0,0
This example gives a warm orange effect color. The channels are Red, Green, Blue, and White, and on CFX they can go up to 1023.
mapping_color — Color Mapping ModeDefault: 0
| Value | Mode | Description |
|---|---|---|
0 | Legacy Mode | Hot pixels shift toward ecolor, cool pixels stay near the base blade color |
1 | Heat Map Mode | Hot pixels follow a heat-style palette, cool pixels dim toward the base blade color |
Legacy Mode is great for two-tone unstable blades, such as a blue blade with red or orange unstable flickers.
Heat Map Mode is better when you want a thermal, fiery, or lava-like progression.
mapc — Color Mapping StrengthDefault: 50
This controls how strongly the effect color influences the blade.
| Value | Visual Result |
|---|---|
0 | No color effect, only brightness changes |
50 | Moderate default blending |
128 | Strong effect color presence |
255 | Maximum, hot areas are fully saturated |
mapb — Brightness Mapping StrengthDefault: 50
This controls how strongly the heat value affects brightness.
| Value | Visual Result |
|---|---|
0 | No brightness flicker, only color shifting |
50 | Moderate default brightness variation |
128 | Strong contrast between hot and cool areas |
255 | Maximum, hot spots get very bright and cool spots go very dark |
Tip:mapcandmapbare independent. You can build a blade with strong color change but subtle brightness motion, or the other way around.
mapping_unstable — Reactivity SourceDefault: 1 (Audio)
| Value | Source | Description |
|---|---|---|
0 | None | No external reactivity |
1 | Audio | Effect intensity responds to sound volume |
2 | Angular | Effect responds to blade tilt angle |
3 | Move | Effect responds to movement speed |
4 | Angular reversed | Inverted tilt response |
5 | Grow | Effect grows from the base |
With audio reactivity enabled, louder sounds make the blade more active. Cooling is reduced, sparking is boosted, and the unstable effect intensifies during swings, clashes, and lockups.
mapping_audio — Audio Sensitivity RangeThis setting fine-tunes the audio response range.
mapping_audio=low,high
A narrower range makes the effect respond more aggressively to small changes in sound volume. A wider range makes the effect react more gradually.
refreshfx — Effect Refresh RateDefault: 12
This is the effect update interval in milliseconds. Lower values update the effect more often, making it smoother and more alive.
| Value | Approx. FPS | Character |
|---|---|---|
8 | ~125 | Very smooth, fast bubbling |
12 | ~83 | Good balance of smoothness and performance |
20 | ~50 | Slightly choppier, more visible stepping |
30+ | ~33 | Slow, deliberate pulsing |
A gentle unstable blade that mostly looks solid with occasional flickers.
unstable=1
sparkf=50
sparkd=5
hcool=100
lcool=10
drift=0
mapping_color=0
mapc=30
mapb=40
mapping_unstable=1
A very active unstable blade with strong color shifting and visible chaos. Works especially well with a red base color and a bright orange or yellow ecolor.
unstable=1
sparkf=180
sparkd=20
hcool=60
lcool=5
drift=1
mapping_color=1
mapc=180
mapb=200
mapping_unstable=1
ecolor=1023,800,0,0
A slower, deeper unstable look with more glowing than crackling.
unstable=1
sparkf=80
sparkd=8
hcool=40
lcool=5
drift=0
mapping_color=1
mapc=120
mapb=100
mapping_unstable=0
refreshfx=25
Maximum instability for a blade that looks completely out of control.
unstable=1
sparkf=220
sparkd=40
hcool=50
lcool=2
drift=1
mapping_color=1
mapc=255
mapb=255
mapping_unstable=1
refreshfx=8
| Key | Description | Default | Range |
|---|---|---|---|
unstable | Effect mode selection | 0 | 0–18 |
hcool | Maximum cooling per frame | 70 | 1–255 |
lcool | Minimum cooling per frame | 20 | 1–255 |
sparkf | Spark probability | 120 | 1–255 |
sparkd | Spark density percentage | 10 | 1–100 |
drift | Enable heat drift | 0 | 0 or 1 |
mapping_color | Color mapping mode | 0 | 0 or 1 |
mapc | Color mapping strength | 50 | 0–255 |
mapb | Brightness mapping strength | 50 | 0–255 |
ecolor | Effect color | — | 0–1023 per channel |
mapping_unstable | Reactivity source | 1 | 0–5 |
mapping_audio | Audio sensitivity range | — | low,high |
refreshfx | Effect refresh interval in ms | 12 | 1–255 |
mapc and raise mapb. For color change without deep dark spots, do the opposite.sparkf or raise hcool if needed.ecolor is chosen deliberately.refreshfx is subtle but useful. A higher value can give the blade a slower, heavier unstable pulse.