A practical guide to the Unstable TFU effect on Crystal Focus X, including heat buildup, burst-and-cool cycles, diffusion, ignition density, color behavior, audio reactivity, and ready-to-use recipes for classic TFU instability, slow burn, rapid flicker, scattered embers, and chaotic surge.
lcoolhcool, sparkf, sparkdmapb, mapc, mapping_color, ecolor, mapping_unstableThe Unstable TFU effect (unstable=6) is inspired by the crackling, barely contained crystal energy from Star Wars: The Force Unleashed. It simulates individual spots on the blade that slowly build up heat, then burst and cool down, like pockets of instability inside a damaged kyber crystal.
This effect returns to the heat-based simulation used in earlier unstable modes, but with an important twist: every part of the blade is either currently heating up or cooling down. Areas heat gradually, then eventually burst and begin cooling rapidly. Cold areas can be re-ignited at random, restarting the cycle.
The result is an organic, slow-burning instability with bright spots that swell, flash, and fade back into the blade.
| Feature | Classic Unstable (1) | Fire (2) | Unstable TFU (6) |
|---|---|---|---|
| Heat direction | Random everywhere | Bottom-up drift | No directional travel, only sideways spreading |
| Spark ignition | Random uniform | Base only | Random uniform, but only cold spots can restart |
| Cell behavior | Single heat value | Single heat value | Heating phase and cooling phase |
| Main look | Constant unstable flicker | Flame growth and drift | Slow swell, burst, fade, then reignite |
| Color output | Heat-based color rendering | Heat-based color rendering | Heat-based color rendering |
In your blade profile section, set:
unstable=6
Each part of the blade has two internal behaviors: a current heat value and a current phase. A section can either be heating up or cooling down.
Each frame runs through these main stages:
If a heating area becomes hot enough, it can suddenly burst and switch into cooling mode. Some areas burst early, while others hang on longer before finally snapping. This randomness gives the effect its spontaneous feel.
Once an area is cooling, it loses heat every frame. The cooling speed is influenced by hcool.
Heat from active hot spots spreads sideways into neighboring pixels. Unlike Fire, there is no upward drift. The spread is symmetrical, which makes hot regions grow outward into soft zones before they burst.
The width of that spread is controlled by lcool.
With a probability controlled by sparkf, the effect tries to re-ignite cold cooling areas at random positions across the blade. The number of attempted ignition points is controlled by sparkd.
All reignited areas then begin heating again. With drift=0, they heat at a fixed moderate rate. With drift=1, they heat faster and more erratically.
Finally, the heat values are turned into visible color using your mapping_color, mapb, mapc, and ecolor settings.
lcool — Diffusion RangeDefault: 20
This controls how far heat spreads sideways from each heating area.
The diffusion range in pixels is:
range = (lcool × blade_length) / 220
For a 144-pixel blade:
lcool | Diffusion Range | Visual Result |
|---|---|---|
0 | 0 px | No diffusion, fully isolated spots |
10 | ~7 px | Narrow spread, small clusters |
20 | ~13 px | Default, moderate zones of heat |
50 | ~33 px | Wide spread, large soft hot zones |
100 | ~65 px | Very wide, roughly half the blade |
200 | ~131 px | Nearly the entire blade heats together |
Tip: Lowlcoolgives scattered pinpoint activity. Highlcoolcreates broad, slow-building waves of heat that burst in larger regions.
hcool — Cooling RateDefault: 70
This controls how quickly cooling areas lose heat after they burst. Higher values make bursts fade faster.
| Value | Character |
|---|---|
30–50 | Slow cooling, bursts linger longer |
70 | Balanced default cooling |
150–255 | Fast cooling, bursts fade quickly |
Note: Fast cooling plus slow sparking gives a mostly dark blade with brief flashes. Slow cooling plus fast sparking keeps much more of the blade lit at once.
sparkf — Ignition ProbabilityDefault: 120
This controls how often the effect tries to re-ignite cold areas each frame.
| Value | Approx. Chance | Visual Result |
|---|---|---|
0 | 0% | No new ignition, blade eventually dies out |
30 | ~12% | Very rare reignition |
60 | ~24% | Occasional activity |
120 | ~47% | Default, steady activity |
200 | ~78% | Frequent reignition |
255 | Nearly every frame | Very active, constant restarts |
sparkd — Ignition DensityDefault: 10
This controls how many positions are checked during each ignition attempt.
The number of checks per event is:
MaxSparks = (sparkd × blade_length) / 100
For a 144-pixel blade:
sparkd | Checks per Event | Visual Result |
|---|---|---|
1 | 1 | Very sparse reignition |
5 | 7 | A few scattered sites |
10 | 14 | Default, moderate ignition spread |
25 | 36 | Many re-ignition points |
50 | 72 | Dense activity |
100 | 144 | Every pixel is a candidate |
Tip:sparkfis the “how often” control.sparkdis the “how many” control. Both matter.
drift — Heating Rate ModeDefault: 0
In TFU, drift does not control movement direction. There is no directional drift. Instead, it changes how areas heat up.
drift=0 Fixed, moderate heating rate
drift=1 Faster, more variable heating rate
With drift=1, areas reach their burst point faster and less predictably, which makes the effect more chaotic.
Unstable TFU uses the same heat-based color behavior as the earlier simulation-style unstable effects.
mapping_color — Color ModeDefault: 0
mapping_color=0 Legacy mode
mapping_color=1 Heat mode
Legacy mode keeps cold pixels near the blade base color and blends hotter pixels toward ecolor.
Heat mode adds a more thermal progression before reaching the effect color, which often looks richer and more dramatic.
ecolor — Effect ColorThis is the target color used for the hottest burst regions.
ecolor=1023,1023,1023,0 # white
ecolor=1023,320,0,0 # orange
ecolor=400,600,1023,0 # pale blue
On CFX, color channel values can go up to 1023.
mapb — Brightness MappingDefault: 50
This controls how strongly heat changes pixel brightness.
| Value | Visual Result |
|---|---|
0 | No brightness response, only color changes |
50 | Default moderate brightness change |
128 | Strong brightness difference between hot and cold |
255 | Maximum brightness swings |
mapc — Color Mapping IntensityDefault: 50
This controls how strongly heat shifts color toward ecolor.
| Value | Visual Result |
|---|---|
0 | No color response, only brightness changes |
50 | Default moderate color change |
128 | Strong color shift in hot areas |
255 | Maximum color response |
Tip: In TFU,mapbcontrols how bright the bursts feel, whilemapccontrols how colorful they feel.
mapping_unstable — Reactivity SourceDefault: 1
mapping_unstable=0 — NoneThe effect is fully self-contained. Sound does not change the simulation.
mapping_unstable=1 — AudioTwo main things happen when the sound gets louder:
The result is that quiet moments look sparser and more controlled, while loud moments create more activity and longer-lasting bursts.
Note: Unlike some other unstable modes, TFU respects your mapping_audio sensitivity settings for the audio response.
refreshfx — Effect Refresh IntervalDefault: 12 ms
This controls how quickly the whole simulation advances. Since TFU is all about buildup, bursting, and fading, refresh rate strongly affects the overall pacing.
| Value | Character |
|---|---|
8 | Fast buildup and frequent bursts |
12 | Balanced default timing |
20 | Slower, more deliberate instability |
30+ | Heavy, ponderous rise-and-burst behavior |
The signature barely-holding-together look with scattered hot spots that build, burst, and fade.
unstable=6
lcool=15
hcool=80
sparkf=100
sparkd=8
drift=0
mapb=150
mapc=180
mapping_color=1
mapping_unstable=1
ecolor=1023,1023,1023,0
Very slow, wide zones of heat that build and burst together.
unstable=6
lcool=60
hcool=50
sparkf=60
sparkd=5
drift=0
mapb=200
mapc=200
mapping_color=1
mapping_unstable=1
ecolor=1023,480,0,0
refreshfx=25
Fast-heating cells with quick cooling and lots of short flashes.
unstable=6
lcool=5
hcool=200
sparkf=200
sparkd=20
drift=1
mapb=220
mapc=150
mapping_color=0
mapping_unstable=1
ecolor=1023,1023,800,0
refreshfx=8
Pinpoint spots with no diffusion that glow and fade independently.
unstable=6
lcool=0
hcool=100
sparkf=80
sparkd=15
drift=0
mapb=180
mapc=120
mapping_color=1
mapping_unstable=0
ecolor=1023,320,80,0
Wide diffusion and slow ignition so large sections glow and dim together.
unstable=6
lcool=100
hcool=60
sparkf=40
sparkd=3
drift=0
mapb=100
mapc=200
mapping_color=1
mapping_unstable=1
ecolor=800,720,1023,0
refreshfx=20
Fast heating, dense sparking, and narrow diffusion for constant eruptions.
unstable=6
lcool=10
hcool=120
sparkf=220
sparkd=30
drift=1
mapb=255
mapc=255
mapping_color=0
mapping_unstable=1
ecolor=1023,1023,1023,0
refreshfx=10
| Key | TFU Role | Default | Range / Notes |
|---|---|---|---|
unstable | Effect mode | 0 | 0–18 |
lcool | Diffusion range | 20 | 0–220; range = (lcool × length) / 220 px |
hcool | Cooling rate | 70 | 0–255; higher = faster fading |
sparkf | Ignition probability | 120 | 0–255 |
sparkd | Ignition density | 10 | 0–100; percentage of blade length |
drift | Heating rate mode | 0 | 0 = fixed, 1 = faster variable |
mapb | Brightness response | 50 | 0–255 |
mapc | Color response | 50 | 0–255 |
mapping_color | Color mode | 0 | 0 = legacy, 1 = heat mode |
ecolor | Target burst color | — | 0–1023 per channel |
mapping_unstable | Audio reactivity | 1 | 0 = none, 1 = cooling down + ignition up during loud audio |
refreshfx | Refresh interval in ms | 12 | 1–255 |
lcool is the character-defining parameter. Zero diffusion gives isolated spots. High diffusion gives broad connected zones that heat and burst together.sparkf and sparkd set the activity level together. Think of sparkf as how often, and sparkd as how many.drift=1 makes the effect more chaotic. Use drift=0 for measured instability and drift=1 for rapid-fire bursts.mapb and mapc are rendering controls, not pattern controls. They decide how clearly the heat simulation shows up in brightness and color.mapping_color=1 if you want more thermal complexity in the hot spots.sparkf can create a dying-crystal look where the blade stays mostly dark with rare isolated bursts.