Play an FPS in the scene you're building
Press PLAY in the N-panel and your open scene becomes an arena. You start where your viewport camera is, dropped onto the nearest floor, 1.7 m tall. Hover sentries spawn on your storey, hunt you through your own geometry and shoot back. Nothing in your file is modified: everything the game creates is prefixed VS_, lives in one collection, and is deleted when you press Esc. Your view, lens and overlays are restored.
- One pistol, your pistol. After every wave clear you pick one of three upgrades, and they stack: Hollow Points, Hair Trigger, Double Tap, Piercing, Ricochet (missed shots bounce off your walls into a sentry), Arc Kill, Plating, Siphon, Magnet, Blink, Tactical Dash, Shockwave and more — 17 in all.
- Weak points. Every sentry has a glowing eye on the side facing you. Hit it for 1.5× damage (more with Marksman). A clean shot one-taps a Drone on wave 1.
- Movement that matters. Sprint, jump, mantle steps, and a dash with i-frames on a 2.5 s cooldown.
- Five sentries. Orbiting Drones, homing Dashers that ram and peel away, high-hovering Mortars that lob shells, armoured Tanks with burst fire, and the Warden boss every fifth wave — fans of bolts and it summons.
- Wave modifiers from wave 3: Low Gravity, Swift, Volatile, Overclocked, Swarm.
- Combo multiplier, pickups (Repair Kit, Overclock), kill feed, radar, damage vignette, procedural sound effects — no audio files shipped, everything is synthesized with Blender's
aud. - Three difficulties. High score and best wave are saved in the scene.
Walk your level before it goes to Unreal
WALK THE LEVEL runs the same movement with no enemies. It's a playtester inside your blockout at true scale:
- The crosshair is a tape measure — distance to whatever you're aiming at, in metres and scene units.
- While you walk, an inspector drops marker empties into a
VS_Leakscollection that survives quitting: FALL (you dropped out of the level — you're put back on your last footing), STUCK (a collision pinch or lip), HEAD (a doorway or ceiling lower than eye height, with the measured clearance), and NOTE (left-click drops a "fix this" marker where you're aiming). - Every finding is also logged to a
VS_Leaks.txttext block (kind x y z note), and the panel shows counts with Select / Clear.
Works in your units
The player is always 1.7 m in real terms. The add-on reads your scene's Unit Scale, so a file at 1 unit = 1 cm gets a 170-unit player and 600-unit/s run speed. Modelled in cm with the unit settings left at metres? Pick Centimetres, or press Detect Units to guess from your prop sizes. A separate Play Scale lets you fight as an ant inside a single prop or across a giant terrain.
Level design hooks
-
VS_STARTempty — where you spawn, facing its +Y. -
VS_SPAWNempties — sentry spawn points (only those on your storey are used). - Objects far larger than everything else (sky domes, 800 m ground planes) are ignored when measuring the arena, so they don't define it.
Everything that is a number — weapons, enemies, waves, drops, upgrades — lives in one config.py.
What it does NOT do
- It is not a game engine export. Nothing leaves Blender; there is no build, no standalone player.
- It is not a navmesh. Sentries fly and raycast; they don't path-find around complex interiors (a sentry that loses sight of you for 5 s is relocated near you so a wave can't soft-lock).
- Thin single-sided walls can occasionally be clipped by a fast sentry.
- One viewport at a time; quad view isn't supported.
- Mouse look uses cursor warping; some Linux/Wayland setups need an X11 session.
Controls
WASD / arrows move · Shift sprint · Space jump · Ctrl / E dash · Mouse aim · LMB fire · R reload · 1 / 2 / 3 pick an upgrade · P pause · Esc quit
FAQ
Will it touch my scene?
No. Every object, mesh and material the game creates starts with VS_ and lives in the VS_Game collection; they're removed when you quit (and there's a Clean Up button if Blender ever crashed mid-match). Walkthrough markers in VS_Leaks are the one thing that persists, on purpose, and Clear removes them.
My scene is in centimetres — do I have to rescale it?
No. Auto mode reads the scene's Unit Scale. If your unit settings still say metres but you modelled at 1 unit = 1 cm, choose Centimetres in the panel or press Detect Units.
Does it work on a multi-storey building?
Yes. Sentries spawn on the floor you're on, with line of sight to you where possible, and an invisible safety floor sits at the lowest point of your level so you can never fall out of the map (in Walkthrough mode that's logged as a FALL marker instead).
Can I define where enemies spawn / where I start?
Yes: add empties named VS_SPAWN (any number) and VS_START. Buttons under Level Design place them at the 3D cursor.
Which Blender versions?
4.2 and up as an Extension. Developed and tested on 5.1 on Windows.
Does it need any dependencies, internet, or an account?
No. Pure Python on Blender's own bpy, gpu, blf and aud modules.
Can I turn the sound off / change sensitivity / FOV?
Yes — all under the Feel sub-panel, per scene.
Is the source included?
Yes, it's a plain Python extension under GPL-3.0. Tuning values are in core/config.py.
Field cheat sheet (N-panel → Game)
- PLAY — start a match in this viewport. Esc quits, P pauses.
- WALK THE LEVEL — no enemies. Tape-measure crosshair, leak inspector, LMB drops a note.
- Difficulty — Chill / Normal / Nightmare: sentry count, damage, fire rate, accuracy, speed, HP.
- Start Wave — skip ahead for testing.
- Scene Units — Auto (reads Unit Scale) / m / cm / mm / in / ft / Custom. Detect Units guesses from your visible props.
- Play Scale — multiplier on top of real scale. 1.0 = real life.
- Feel — mouse sensitivity, invert Y, FOV, eye height, body radius, move speed, gravity, overlays, sound, radar, wave modifiers.
- Level Design — Add Start / Add Spawn empties at the 3D cursor; walkthrough findings with Select / Clear; Clean Up Leftovers.
Support: [email protected] — include your Blender version and, if something broke mid-match, the System Console output.
Changelog
1.0.0 — Initial release. Siege mode (pistol + 17 stacking upgrades, 5 sentry types, boss waves, modifiers), Walkthrough mode with FALL / STUCK / HEAD / NOTE markers and text log, unit-aware scaling, storey-aware spawning.