DEV Community

dev game
dev game

Posted on

Why Hollow Knight Bet on Unity and PlayMaker: The Visual-Scripting Shortcut Behind a 15-Million-Copy Metroidvania

Why Hollow Knight Bet on Unity and PlayMaker: The Visual-Scripting Shortcut Behind a 15-Million-Copy Metroidvania

Three developers from Adelaide shipped one of the tightest Soulslike platformers ever made without writing most of its gameplay in code. Team Cherry built Hollow Knight on Unity and built all of its enemies and interactive elements with PlayMaker, a visual-scripting state-machine tool — then sold more than 15 million copies.

That is the short answer to "what engine does Hollow Knight use?" Unity for rendering, physics and ports. PlayMaker for behavior. A handful of custom C# scripts for the parts where feel lives — movement above all.

Most retellings stop at "artists used no-code and won." That misses why the bet worked and where it hurt. My read after digging through Unity's Team Cherry case study, PlayMaker docs, Steam and the official site: Hollow Knight did not succeed despite visual scripting. It succeeded because finite-state machines are a better design language for readable bosses than most code architectures, and because refusing to build engine tech forced Team Cherry to over-invest in the one thing players remember — hand-placed Hallownest.

The team and the constraint

Team Cherry formed in Adelaide in 2012 around Ari Gibson (artist), William Pellen (designer with some coding experience) and later David Kazi (technical director). Unity's retrospective says the three bonded over Zelda II: The Adventure of Link and came out of game jams, then ran a successful Kickstarter in 2014-15 before releasing Hollow Knight in February 2017 for Windows, with Linux and macOS following in April 2017 and Switch, PS4 and Xbox One in 2018. Unity's Made with Unity retrospective tells that origin story and, crucially, frames the technical choice as art-first.

Wikipedia's development history fills in the numbers: the Kickstarter goal was A$35,000 and closed at more than A$57,000 from 2,158 backers, which paid for Kazi plus composer Christopher Larkin. Hollow Knight's Wikipedia history also lists Gibson as artist, Pellen and Kazi among programmers, and Unity as engine, with inspirations from Faxanadu, Metroid, Zelda II and Mega Man X.

That staffing matters. One full-time artist. One designer who could code a little. One technical hire. No engine team. In that shape, every week spent on a custom renderer or custom tools is a week Hallownest does not get bigger. Unity plus Asset Store extensions was not laziness. It was scope protection.

By October 2026 the game is listed at more than 15 million copies sold, with a sequel, Hollow Knight: Silksong, released in September 2025. The same Wikipedia overview carries the 15-million figure and the Silksong date, while Team Cherry's own blog in late 2025 and early 2026 is all Silksong patches and a free Switch 2 / PS5 / Xbox Series X|S upgrade for the original — proof the Unity base still ports cleanly almost a decade later.

What Unity actually did

Forget "Unity versus Unreal" discourse. Hollow Knight used Unity as a 2D delivery truck with cheap tricks:

  • Hand-drawn PNG pipeline. Gibson's sketches were scanned and saved as simple PNGs from Photoshop, using mostly sprite_default and sprite_diffuse shaders with minor tweaks. Unity's case study is explicit about this — no complex 3D lighting.
  • Fake lighting. Instead of a lighting system, soft transparent shapes. In a dark cave game, that is enough to sell depth without a graphics programmer.
  • Layered 2D in 3D. Levels are 2D assets layered in a 3D environment for parallax, using out-of-the-box 2D Physics, Sprite Packer and the Particle System plus the 2D Toolkit extension from the Asset Store.
  • Ports. Windows / Linux / macOS in 2017, Switch / PS4 / Xbox One in 2018, and Switch 2 / PS5 / Xbox Series X|S in February 2026. That long tail is Unity's real payoff: a three-person team shipping to seven-plus targets without rewriting. The official Hollow Knight site still sells that breadth — descend, explore interconnected worlds, evolve with new abilities — and links its own methods write-up to Unity.

Steam's feature list makes the scale concrete: tightly tuned dodge, dash and slash controls, a vast interconnected Hallownest you can forge your own path through, charms that rebuild the Knight, more than 130 enemies and 30 epic bosses, Dream Nail mind-dives, mapping tools, and Steel Soul permadeath after completion. Hollow Knight on Steam reads like a checklist of things that must feel precise. Players remember the game as hard but fair, with Metacritic around 86/100 and PC Gamer calling it the best platformer of 2017 for discovery that is "hard-earned, never handed to you."

Unity itself is built for that kind of indie bet. It is a cross-platform engine with a C# scripting API that became popular precisely because it lowered the entry bar for small teams. Unity's engine history traces that democratization pitch from its 2005 Mac debut through mobile dominance — context for why a 2012 micro-studio would default to it.

What PlayMaker actually did

Here is the sentence most summaries bury, quoted in spirit from Unity: while the team had some coding experience and wrote custom scripts for certain elements, they created all the enemies and interactive elements using PlayMaker.

PlayMaker is not "no code" magic. It is hierarchical finite-state machines with visual debugging, data workflows and embedded docs for real Unity production. PlayMaker's official docs describe that FSM-first model and list Hollow Knight alongside Hearthstone, INSIDE, The Forest, GRIS, Firewatch and Observation as shipped proof. You can still buy it on the Asset Store today — around $65 at version 1.9.12 in October 2026. The PlayMaker Asset Store page shows that continuity.

In practice that means a Mantis Lord or Soul Master is a graph: Idle → Telegraph → Lunge → Recover → Stagger, with transitions wired to timers, distances and health thresholds. An artist can open the Hornet sentinel, see the states, and tune the pause before the throw without asking a programmer to recompile. That loop — see it, change it, play it — is why a tiny team could ship 30+ bosses plus four free expansions (Hidden Dreams, The Grimm Troupe, Lifeblood, Godmaster) without drowning.

What the stack cost

Visual scripting scales, but not for free:

  1. State sprawl. Dozens of bosses x dozens of states x charm interactions equals hundreds of graphs. Visual debugging helps, but diffing graphs in version control is still uglier than diffing C#. Godmaster's Pantheons — back-to-back boss rushes — were a brutal stress test of every edge transition.
  2. Two skill silos. Movement feel stayed in code. The team based horizontal movement on Mega Man X — no acceleration, huge aerial control, dash-interruptible jumps — so any hit feels avoidable until the last second. That kind of tuning lives in C#, not nodes. Result: future hires need both PlayMaker literacy and C# literacy, a narrower hiring pool than pure-C# Unity.
  3. Engine dependency. Unity's 2023 runtime-fee proposal rattled every Unity indie, Team Cherry included. Unity canceled the fee in September 2024, but the scare is a reminder: betting on a proprietary engine plus a $65 third-party dependency means your roadmap includes other companies' business decisions.
  4. No procedural escape hatch. A node graph does not invite systemic generation. Hallownest is gloriously hand-placed — and had to be. That is a strength for atmosphere, a cost for replay systems and for Silksong scale, which Unity notes moved to Unity 6.

None of those killed the game. All of them shaped it.

My take: PlayMaker was an org-chart compiler, not a shortcut

Here is where I diverge from the usual "artists can't code so they used visual scripting" moral. I think Team Cherry accidentally picked the right design language, not just the accessible one.

1. FSMs enforce readable cruelty. Soulslike combat lives or dies on telegraphy. A behavior tree or utility AI can produce clever enemies that feel unreadable. A finite-state machine forces a designer to name every phase a player must read: windup, strike, recover. PlayMaker graphs are literally the boss's tells made visible. Hollow Knight feels fair at high difficulty because its implementation language punishes hidden state. That is not a no-code story. It is a formalism story.

2. The animator became the logic author. The classic indie bottleneck is art-to-code handoff: Gibson draws a gorgeous scream, Pellen queues "implement scream stun," it waits a week. With PlayMaker, the person who drew the pose wires the stun. Iteration latency collapses from days to minutes. Most "should I use visual scripting?" advice weighs execution speed. It should weigh who gets to finish a thought.

3. The boring stack funded the interesting map. Because tech was bought (Unity 2D + 2D Toolkit + PlayMaker), labor went to interconnectedness: Stag Stations, charm-gated paths, mapping tools that deliberately under-explain so getting lost is fun. Roguelikes generate novelty with code. Hollow Knight generates wonder with placement. I suspect if Team Cherry had owned a custom engine, Hallownest would be smaller and more systemic — and less beloved.

4. The hybrid is the lesson, not the purity. Do not copy "100% PlayMaker." Copy the split: C# for continuous feel (acceleration, coyote time, dash buffers), FSMs for discrete decisions (patrol, aggro, phase change). Unity's phrasing — custom scripts for certain elements, PlayMaker for enemies and interactives — is the blueprint. Tutorials that pit visual scripting against code miss that Team Cherry used both where each is strongest.

If you want a one-line heresy for your next jam: visual scripting did not make Hollow Knight easier to make. It made it harder to make unreadable — and readability is the whole genre.

What indie devs can steal this month

  • Prototype bosses as named states on paper before touching nodes. If you cannot name Idle / Anticipation / Active / Recovery in words, your graph will be spaghetti. Hollow Knight's best fights can be sketched in four boxes.
  • Lock movement in code early. No-accel horizontal, generous air control, dash-cancelable jumps. Get that in C# in week one, then let designers go wild in PlayMaker without fear of breaking feel.
  • Budget for graph review like code review. Name conventions, shared templates for stagger / stun / death, one owner per boss graph. Pantheon-scale content will find every unnamed transition.
  • Use cheap art tech to buy level time. Scanned PNGs + sprite shaders + transparent-shape lighting shipped a "most beautiful hand-drawn game" quote. You do not need a custom lit pipeline for mood.
  • Plan ports on day one. Pick the engine that already ships where you will be in five years. Team Cherry's 2026 next-gen upgrade was free goodwill because Unity carried the port burden.

Do not steal the stack blindly if you need procedural worlds, rollback netcode, or a hiring pipeline of pure C# engineers. Then the FSM tax outweighs the iteration dividend.

Train the Hollow Knight muscles in a browser

Hollow Knight demands three separate reflexes — nail timing, aerial momentum, and feathered precision in spike tunnels like White Palace. You cannot practice Hallownest without owning it, but you can drill each muscle in 60-second browser loops:

  • For directional slash-and-dodge discipline, play a few rounds of Iron Snout. Wolves come from both sides, weapons must be caught or deflected, and spamming gets punished — the same centered, pattern-reading patience Soul Masters demand. Its Classic endless waves and Sudden Death one-hit mode map neatly to boss rematches where one mistimed heal costs the run.

  • For Mothwing Cloak and Monarch Wings flow, grind Stickman Hook. It is one-button momentum: hold to attach, release just past the bottom on the rising arc, chain without hesitation. That release window is the same intuition as pogoing with the Nail or chaining dashes across platforms — look one anchor ahead, fix the mistake two swings earlier.

  • For White Palace feathering, load Space Waves. Hold to rise, release to fall through 33 handcrafted neon tunnels with green-to-nightmare difficulty faces. The winning method — micro-taps, recenter to mid-line, read two obstacles ahead, isolate the hinge section — is exactly how Path of Pain players survive saw corridors without panic-spiraling into ceiling-floor bounces.

None of these are Hollow Knight. That is the point. They isolate one verb so your hands learn it before Hallownest tests all three at once.

Bottom line

Hollow Knight's niche-plus-hot combo is why this story still ranks: a niche tool (PlayMaker visual FSMs, ~$65 on the Asset Store) inside a then-scrappy engine (Unity 2D) behind a now-massive Metroidvania (15M+ copies, 86 Metacritic, four free DLCs, Silksong on Unity 6). The search data backs the curiosity — Google suggests "hollow knight engine," "what engine does hollow knight use," "hollow knight playmaker," "made with playmaker" and "did hollow knight use playmaker" as live completions, while Bing's organic route currently drops those qualifiers to dictionary noise, which is why this piece leans on primary pages instead of SERP counting.

If you remember one thing: Team Cherry did not choose between art and tech. They bought tech so artists could author logic, then spent the savings on a kingdom worth getting lost in. For a three-person team aiming at Souls-tight combat, that was not a compromise. It was the design.

Top comments (0)