Quod Soler
Combat Architecture · Weekly

Combat Architecture · Weekly newsletter

How combat systems get built in Unreal Engine.

One email a week for the person who has to make the combat work, alone or in a team. Each one takes one system from my combat framework ( hitboxes, i-frames, input buffering, damage, enemies that decide when to dodge… ) and explains how it works, with the code. I'm a lead gameplay programmer with 11 shipped games.

1,050+Unreal devs get it every week

Free · One email a week · Four minutes to read · Unsubscribe anytime

Shipped withHexworksNovaramaSonyTencentCI GamesAdult Swim

What you get

One system a week, with the code.

The newsletter follows my Quod Combat Framework, the melee combat I build on top of the Gameplay Ability System ( GAS ). Every issue takes one system, explains why it works the way it works, and gives you representative code to use in your own project. This is the series so far, 6 of 8 out.

The Quod Data Editor with a dragon mid breath attack: the attack hitbox drawn as a red capsule at its mouth, timeline lanes for i-frames, walk cancel and branch on hit under the viewport, and the attack's data fields on the right.

The hitbox: a capsule on a bone

The windows: i-frames, walk cancel, branch on hit

The numbers: hitstop, damage, knockback

A breath attack open in my data editor. An attack is a shape, a set of windows and some numbers; the newsletter explains the systems that read them, one a week.
GASThe six pieces of GASThe six pieces of GAS, how one attack flows through them, and three rules that prevent most GAS bugs.Out · Jul 17
HitboxesHitbox rank and group: sweetspots without scriptingA sweetspot is simply one extra capsule and one integer. How rank and group IDs decide which hitbox wins.Out · Jul 25
DodgeDodge i-frames: anim notify windows and perfect dodgesThe dodge ability grants no invulnerability at all. A notify on the montage does it, and you get perfect dodges almost for free.Out · Jul 31
DamageMMCs and executions: count the outputs, not the inputsIf only one number changes you want an MMC, no matter how complex the formula. Only a hit that writes many attributes needs an execution.Out · Aug 8
InputSouls-style input buffering on top of GASA buffered press is simply a struct, a gate tag and one drain function that an anim notify state calls.Out · Aug 15
Enemy AIHow enemies decide to dodgeDodge chance is a GAS attribute, pressure is a stacking effect on top of it, and the AI simply rolls dice.Out · Aug 22
ReplicationPlay montages through the ASC, not the anim instanceMontage_Play works on your screen and nowhere else. The ASC is the one that tells everybody else.Coming · Aug 29
MovementDashes and knockbacks with Root Motion SourcesNo root motion in the clip. The task builds the motion from plain numbers and hands it to the movement component, the animation is just cosmetic.Coming · Sep 5

Subscribers get each system the week it comes out. The ones already out are linked further down the page.

Credentials

You've probably played something I helped build.

Eleven shipped games, AAA and indie, most of them action games. The newsletter is that experience written down one system at a time, adapted to what you can build with your team or on your own.

The email

What an issue looks like.

It takes four or five minutes on the phone and it goes out once a week, Saturday morning at the moment. It is the condensed version of that week's post, and it always goes in the same order. Take the input buffering one.

It starts with the player

Not with the system. A press that went nowhere because the player was a few frames early, and the playtest note that says the combat feels unresponsive.

Then the pattern I use

The pieces, named, and why each one is there. For the buffer: a struct, a gate tag, two anim notify windows and one drain function. Smaller than it sounds, most of them are.

Then production

A short part on how it plays out with real players, which is usually where the bug that made me write the post lives. Hitstop stretching the buffer age, in this case.

Then the full post

On the blog, with all the code and the screenshots, linked at the end. The email is the version you read without the editor open. The post is the one you read with it.

This is for you if

  • You are building melee or action combat in Unreal Engine 5.
  • You use GAS, or you are about to. Everything here assumes it.
  • You work alone or in a team, it does not matter, the systems are the same.
  • You want to know why it works, not only that it works.

Probably not for you if

  • You want Blueprint-only beginner tutorials. There is GAS in everything here.
  • You want a general Unreal digest. The blog stays wide, the newsletter goes narrow.
  • You expect code from the games I shipped. I never publish studio internals, everything here is my own Quod Combat Framework.
Quod Soler

About me

Who is writing this?

I'm the Lead Gameplay Programmer for Lords of the Fallen at Hexworks. I love action games and combat design, and I specialize in Unreal's Gameplay Ability System ( GAS ).

I have spent a decade shipping games with teams from two people to two hundred, and I have given lectures at Ramon Llull and Pompeu Fabra universities. In this newsletter I write down what I learn in AAA production, one combat system a week, for the people building combat in Unreal.

Subscribe

If you want it, this is the form.

One email a week, about four minutes to read, with the code. The issues already out are right below, in case you want to read one first.

Free · One email a week · Four minutes to read · Unsubscribe anytime

Published issues

The issues that are already out.

In full, with the code. They open in a new tab so this page stays where it is.

Questions

Before you decide.

Do I need to know GAS already?

It helps, but it is not required. Everything in the framework assumes the Gameplay Ability System, because that is how I build combat on shipped games, and the first issue of the series explains the six pieces it is made of. If you have never touched GAS, start there and the rest will make sense.

Read: Introduction to GAS (opens in a new tab)

Blueprint or C++?

Both. Every system is explained in prose first, and the code is C++ written for the post, with Blueprint where Blueprint is the right tool ( anim notifies, montages, behavior trees… ). If you only use Blueprint you still get the architecture, which is the part that is hard to find anywhere else.

Is this for solo developers or for studios?

Both, the systems do not care. Some readers build alone, others work in small teams and studios. I write for the person who has to make the combat work, whoever that is.

Is this the code from the games you shipped?

No. I never publish studio internals. The newsletter follows my own Quod Combat Framework, and the code in every issue is written for the post. What does carry over is the experience: the bugs, the trade-offs, and the things that only show up once real players get their hands on it.

How often, how long, and how do I leave?

One email a week, about four minutes to read, free. Every email has an unsubscribe link at the bottom, one click, no questions.

What happens when I subscribe?

You get one email to confirm your address ( the newsletter runs on beehiiv ), one click and you are in. Right after you subscribe this page gives you a link to the issue I would start with, the one on hitboxes, and the next system arrives with the next issue ( Saturday morning at the moment ).

Is this the same newsletter as Unreal Solo Game Developer?

Yes, same list, same author. I renamed it Combat Architecture in August 2026 because almost every issue was a combat system anyway, so now the name says what the email is about. If you were already subscribed you still are, you do not need to sign up again.

Before you go

Most people learn combat by shipping it broken.

You don't have to. One system a week, with the code and the gotcha that usually shows up in a bug report, before it shows up in yours.

1,050+Unreal devs get it every week

Free · One email a week · Four minutes to read · Unsubscribe anytime