DEVLOG · UNITY DOTS CLIENT + .NET SERVER

Tree of Savior,
rebuilt.

The 2022 game, rebuilt from its own shipped data and source. Nothing is approximated: every capture below is evidence from a test run.

93
videos
61
stills
7
sounds
8
chapters
Start watching ↓
01

UI

Login, the family name, the barrack's lodge and pub, the field HUD. Every window is the 2022 client's own, run by its own scripts and drawn by its own draw code, ported.

24 captures
0:04
Every control state, in motion2026-10-12
0:23
Typing, hovering and clicking through the ported input2026-10-12
0:06
The live UI host: clicks, Korean IME, a chat balloon2026-10-12
0:06
The 2022 login title, animated by our own Spine runtime2026-10-12
0:05
Login and family name through the client's own frames2026-10-12
0:15
Creating and choosing a character2026-10-12
0:14
The field HUD after the first kill2026-10-12
0:22
Chatting from the field2026-10-12
0:48
The lodge and pub in 3D, characters picked by clicking them2026-10-13
1:02
From the login screen to the first kill, in 62 seconds2026-10-15
0:08
The login screen with its art loaded ahead2026-10-15
0:11
Login to barrack, with no frozen frame2026-10-15
The family-name window, drawn by the client's own draw code
The family-name window, drawn by the client's own draw code2026-10-12
Tooltips, menus and message boxes, in draw order
Tooltips, menus and message boxes, in draw order2026-10-12
Chat balloon layouts
Chat balloon layouts2026-10-12
All eight goal screens, drawn live
All eight goal screens, drawn live2026-10-12
The barrack's character list
The barrack's character list2026-10-12
The field HUD over Siauliai West
The field HUD over Siauliai West2026-10-12
The chat window, drawn by the client's own frame
The chat window, drawn by the client's own frame2026-10-12
Head portraits in the character list
Head portraits in the character list2026-10-13
Changing hair in the pub
Changing hair in the pub2026-10-13
The inventory, geared
The inventory, geared2026-10-14
The inventory, after unequipping
The inventory, after unequipping2026-10-14
The lodge after a character is deleted
The lodge after a character is deleted2026-10-14
02

Quests

NPC dialogs, the quest window and tracker, the postbox, and the first quest's cutscene with its speech balloons.

5 captures
0:33
The first quest's cutscene, both guards talking2026-10-22
0:15
Talking to NPCs: boards, choices, text input2026-10-24
1:38
NPCs appearing as the quest moves on2026-10-24
0:57
The quest window and tracker following the server2026-10-24
0:29
The postbox: reading mail and taking items2026-10-24
03

Combat

Target rings, the arrow in flight, the hit flash, the damage number, the kill's camera shake. Every timing comes from the client's own animation and effect data.

34 captures
0:14
The target ring and distance dots2026-10-23
0:08
The target frame with a live HP gauge2026-10-23
0:02
The hit flash and the kill's camera shake2026-10-23
0:27
The release build fighting on the home server2026-10-24
0:02
Oblique Shot, bouncing to a second target2026-10-24
0:15
Stand, walk, shoot: the client's own timing2026-10-28
0:04
Multishot2026-10-28
0:03
Full Draw2026-10-28
0:05
Full Draw from the keyboard2026-10-29
0:16
The bow shot, driven by the skill's own script2026-10-29
0:02
Grade-1 skills: Oblique Shot2026-10-29
0:03
Grade-1 skills: Full Draw2026-10-29
0:04
Grade-1 skills: Multishot2026-10-29
0:02
Grade-1 skills: Swift Step2026-10-29
0:03
An Onion fights back2026-10-30
0:09
Buff icons coming and going2026-10-30
0:04¼ speed
Nock and release, quarter speed2026-10-23
0:12¼ speed
Facing held on the shot's target2026-10-23
0:41¼ speed
The walk, camera and head on one frame2026-10-23
0:09¼ speed
The bow, from her back to her hands2026-10-23
0:06¼ speed
The bow in hand, turned2026-10-23
0:07¼ speed
The hit flash, close up, quarter speed2026-10-23
0:09¼ speed
Monsters playing the server's behaviour-tree animations2026-10-23
0:09¼ speed
The arrow in flight2026-10-23
0:06¼ speed
The damage number rising from the target2026-10-23
0:08¼ speed
Oblique Shot at quarter speed2026-10-24
0:60¼ speed
Stepped animation timing, as the client plays it2026-10-28
0:12¼ speed
An Onion without a blend, as the client plays it2026-10-28
0:15¼ speed
Multishot at quarter speed2026-10-28
0:12¼ speed
Full Draw at quarter speed2026-10-28
0:13¼ speed
An Onion fights back, quarter speed2026-10-30
The arrow mid-flight
The arrow mid-flight2026-10-24
Swift Step's buff, held
Swift Step's buff, held2026-10-30
0:41¼ speedcontrol
Control: the head one frame behind2026-10-23
04

Sfx

Decoded from the game's own sound banks with the engine's own codec setup, and played back by the original rules.

9 captures
0:11sound
A kill and Oblique Shot, with sound2026-10-28
0:10sound
Three kills with sound2026-10-28
Arrow draw2026-10-28
Arrow shot2026-10-28
The archer's attack voice2026-10-28
An Onion, hit2026-10-28
Arrow impact2026-10-28
A basic-attack kill2026-10-28
Oblique Shot2026-10-28
05

Vfx

The ForkParticle simulation ported to Burst and checked side by side against an independent reference renderer.

13 captures
0:10
Earthquake in four renderers2026-11-01
0:08
The particle simulation against the reference2026-11-01
0:14
Seven effects, reference against DOTS2026-11-05
0:04
Soft particles meeting the ground2026-11-05
0:41¼ speed
Earthquake in four renderers, quarter speed2026-11-01
Caltrop explosion: reference and three runtimes
Caltrop explosion: reference and three runtimes2026-10-31
Fire: reference and three runtimes
Fire: reference and three runtimes2026-10-31
Earthquake stills, four renderers
Earthquake stills, four renderers2026-11-01
Earthquake against the real client
Earthquake against the real client2026-11-01
Earthquake after the fix, with the old defect alongside
Earthquake after the fix, with the old defect alongside2026-11-01
Simulation contact sheet
Simulation contact sheet2026-11-01
Rendering contact sheet
Rendering contact sheet2026-11-05
Soft particles contact sheet
Soft particles contact sheet2026-11-05
06

Skills

A showcase NPC casts every class's skills on a target while the client draws the result. Each video shows the fix next to a deliberately broken control.

32 captures
1:42
Before: a haze that would not clear2026-11-08
0:21
After: the wizard's attacks, clear2026-11-08
0:18
Swordsman showcase2026-11-09
0:24
Cleric showcase2026-11-09
0:26
Swordsman: all eight skills2026-11-09
0:26
Swordsman: every cast pose2026-11-09
0:32
Wizard: every cast pose2026-11-09
0:40
Effects named # and @, now drawn2026-11-09
0:33
Full Draw cancelled by the server2026-11-09
0:57
Moving pads2026-11-09
0:43
Sleep and Stun poses2026-11-10
0:18
Shinobi Bunshin's clone2026-11-10
0:23
Buff body colours2026-11-10
0:42
Swordsman: hits land on the swing2026-11-10
0:54
Wizard: hits land on the spell2026-11-10
0:42
Ice Wall, cast from the client's own grid2026-11-11
0:34
Helmets, hiding hair and face2026-11-11
0:24
Telekinesis: grab and throw2026-11-11
2:34
A controlled Onion, attacking on command2026-11-11
0:34
Held by an Ice Wall2026-11-11
1:40¼ speed
Archer showcase, quarter speed2026-11-09
2:05¼ speed
Wizard showcase, quarter speed2026-11-09
1:40¼ speed
Archer showcase, quarter speed, after the fixes2026-11-09
2:49¼ speed
A thrown sword turning in flight2026-11-11
The performance overlay
The performance overlay2026-11-10
0:20control
Control: the haze, brought back on purpose2026-11-08
0:39control
Control: # and @ effects missing2026-11-09
0:33control
Control: Full Draw stuck after a cancel2026-11-09
0:43control
Control: no buff poses2026-11-10
0:23control
Control: no buff colour2026-11-10
Energy Bolt's first cast, with and without the preload
control
Energy Bolt's first cast, with and without the preload2026-11-10
Thrust's first cast, with and without the preload
control
Thrust's first cast, with and without the preload2026-11-10
07

Social

Parties, crossing warps between maps, trading items and keeping friends. In each video, the client plays with a bot connected to the same server.

13 captures
0:32
A party with a bot2026-11-11
0:53
Walking Siauliai West → Klaipeda → Siauliai West2026-11-13
0:43
Trading with a bot2026-11-14
0:43
Making friends with a bot2026-11-14
0:43
Buying from a bot on the market2026-11-14
0:44
Selling on the market to a bot2026-11-14
The market window
The market window2026-11-14
A search finds the bot's listing
A search finds the bot's listing2026-11-14
The cabinet holds the purchase
The cabinet holds the purchase2026-11-14
Collected from the cabinet
Collected from the cabinet2026-11-14
A listing registered
A listing registered2026-11-14
The sold notice
The sold notice2026-11-14
Proceeds and a cancelled listing in the cabinet
Proceeds and a cancelled listing in the cabinet2026-11-14
08

Manager

One web dashboard that edits the world table and starts and stops every server role. It replaces the original's desktop management tool.

31 captures
0:17
Creating a zone daemon and starting it2026-11-12
0:30
Health, stop and delete2026-11-12
Overview, desktop, dark
Overview, desktop, dark2026-11-12
Topology, desktop, light
Topology, desktop, light2026-11-12
Health, desktop, light
Health, desktop, light2026-11-12
Health, desktop, dark
Health, desktop, dark2026-11-12
Health, phone, dark
Health, phone, dark2026-11-12
Health, phone, light
Health, phone, light2026-11-12
Health, light and dark side by side
Health, light and dark side by side2026-11-12
A channel added to a running zone
A channel added to a running zone2026-11-12
A channel removed from a running zone
A channel removed from a running zone2026-11-12
Logs, desktop, dark
Logs, desktop, dark2026-11-12
Logs, desktop, light
Logs, desktop, light2026-11-12
Logs, phone, dark
Logs, phone, dark2026-11-12
Logs, phone, light
Logs, phone, light2026-11-12
Overview, desktop, light
Overview, desktop, light2026-11-12
Overview, phone, dark
Overview, phone, dark2026-11-12
Overview, phone, light
Overview, phone, light2026-11-12
Overview: every role running
Overview: every role running2026-11-12
Overview: confirming a stop
Overview: confirming a stop2026-11-12
Overview: a role stopped
Overview: a role stopped2026-11-12
Settings: automatic channels
Settings: automatic channels2026-11-12
Settings, desktop, dark
Settings, desktop, dark2026-11-12
Settings, desktop, light
Settings, desktop, light2026-11-12
Settings, phone, dark
Settings, phone, dark2026-11-12
Settings, phone, light
Settings, phone, light2026-11-12
Topology: a new zone daemon
Topology: a new zone daemon2026-11-12
Topology: confirming a delete
Topology: confirming a delete2026-11-12
Topology, desktop, dark
Topology, desktop, dark2026-11-12
Topology, phone, dark
Topology, phone, dark2026-11-12
Topology, phone, light
Topology, phone, light2026-11-12