
Earlier this week I released the latest version of my Shooter Sandbox, a blueprint-only template for the creation of interesting first-person shooters. It’s very early days and it’s very rough around the edges, but I’m super excited to share my progress with you all.
Version 0.1.3 brings with it a reinvention of the old as well as a number of new features that together will form the framework from which future features are built.
Download the Unreal project
If you’re already a Patron of mine in the Tutorial Content tier you can download Shooter Sandbox 0.1.3 as well as its source content right now via this downloads page. Let me know if you find it useful!
What’s new in version 0.1.3?
This iteration of the Sandbox is the end result of an anxiety-inducing journey of discovery that began with a simple GAS-related dilemma. After a lot of reading, trial and error, and several costly mistakes, I’ve come to accept the following harsh truths.
- Making a robust and expandable multiplayer framework is really hard, and that up until now I’ve been massively overconfident in my knowledge of the subject.
- There is never a single correct approach to a problem in this space, and no shortage of people trying to convince you that theirs is the one and only.
- A lot of the intermediate features of Unreal Engine require C++ to expose, which can present serious roadblocks to a strictly blueprint-only project.
I owe a lot to the generous developers on the forums, Reddit, and YouTube comments who gave up their time to share their expertise. It’s with help like this that I was able to overcome my project-wide existential crisis and start work on a far more robust series of core systems. The work in this update represents my best attempt at building a strong scaffold upon which any number of different shooter games may be built.
That said, it’s very likely I’ll learn something new in the coming weeks that turns everything on its head again, but that’s game development for you!

Getting the crew together to pose for the 0.1.3 sizzle reel.
Attributes and Actions Overhaul
The Attribute and Action systems work in tandem to both store replicated values (health, ammunition counts, etc.) and to activate gameplay events. It’s through these systems that players can now walk, jump, crouch, pick up/drop weapons, and shoot.
Both of these systems have been rebuilt from the ground up after their previous iteration completely fell on its face during testing.

An Attribute is a container that stores a number of replicated values, any of which can fire off game logic when altered.
The Action/Attribute systems originated as a cut down blueprint-only version of the Gameplay Ability System, but they are growing increasingly tangentially to meet the specific needs of the Sandbox.

The Action System uses Gameplay Tags as shorthand for tying commands to a specific action.
More robust replication
Version 0.1.2 of the Shooter Sandbox had some significant flaws in the way it approached network replication that only came to light via the use of Unreal’s life-saving Network Emulation feature.
I was relying far too much on Remote Procedure Calls (particularly multicasts) to send information between connections, which meant that late joining clients were completely out of sync with the state of the game.
The system now leans more heavily on OnRep variables to keep the game in sync, with RPCs being limited to one-shot events that don’t need to persist. I’m proud to say that even though playing with a ping of 500 isn’t the most fun way to play, the game doesn’t break!
The Network Emulation feature really helped me stress-test my systems.
There is still so much to learn. In the interest of paying it forward, I’d really like to share some of the resources and conversations that helped me understand what I’m up against.
- Correct stateful replication by Alvaro Jover-Alvarez (Alvaro’s whole website is an amazing resource for multiplayer tips and tricks)
- The Multiplayer Network Compendium by Cedric Neukirchen (a must-read!)
- Does anyone have experience with replication on large projects? (Reddit thread)
- Replication and Async Callback Question (Reddit thread)
Competitive Recoil 2.1
The Competitive Recoil project has finally been fully integrated into the Shooter Sandbox, taking advantage of the new Attribute system to track values like magazine size, fire rate, and recoil settings. This version also has a several new features exclusive to the Sandbox – more on that later!

That’s it for this update. I am really hoping that this one will be the longest time between updates, as I’m working on more regular and smaller scope releases in the future. Now the infrastructure is set up I imagine adding new content will be a smoother ride…
…but I’ve said that before.




