What the BRUTAL C# Framework Changed for Indies - 2026
![]()
If you searched brutal game framework after 15 October 2026, you do not need another “free Unity killer” headline. You need a map of what Ahwoo and RocketWerkz actually published: a C# framework, not a drop-in engine, with NuGet packages, Vulkan bindings, no royalties, and a license that still expects credit — including a logo before gameplay.
Ahwoo announced the open-source release on the BRUTAL Goes Open Source forum post. The authoritative stack lives in the BRUTAL Framework README and on the Ahwoo BRUTAL product page. The same day put a public clone, package list, and BRUTAL License v1.0 in front of every indie who had been watching RimWorld’s Waylith move and RocketWerkz’s Kitten Space Agency tech talks.
This page is the what-changed read. It is not the live Stop Treating BRUTAL as Your Unity Replacement, not the live 12 Free BRUTAL Framework Checks Before You Fork, and not a license-first credit lab worksheet. Those own refusal, numbered gates, and fill-in evenings. This URL owns the October 15 change map — what shipped, what it is not, who it hits, and what to do Monday.
Why this matters now
For years the “own your stack” pitch meant either hiring engine people for four years or accepting Unity / Unreal / Godot as the ceiling. BRUTAL’s public release compresses the foundation work: interop, memory, maths, jobs, Vulkan, audio, physics bindings — without pretending those packages are an editor, a scene graph, or a renderer.
GitHub showed 2037 stargazers on ahwootech/BRUTAL by 20 October 2026 (API read in our evidence pass). Press and forums immediately framed it as an engine alternative. The README disagrees in the first screen: framework. Indies who ship Unity titles tomorrow still need a calm map before they freeze a branch, promise a Discord “we’re on BRUTAL now,” or skip the logo clause because “it is MIT-ish.”
Direct answer: Treat 15 October as a new option, not a migration command. Read the not-list (no editor / no scene graph / no renderer). Read license sections 2.1–2.3. Lab a Hello window on NuGet before you rewrite a live game. Keep shipping Unity / Godot / Unreal projects until a deliberate fork plan exists.
Who this read is for
| Audience | Use it to… |
|---|---|
| Beginners | Separate “framework” from “engine” in plain language |
| Developers | Package table, prereqs, interop honesty, CI notes |
| Creators | Discord paste without “Unity is dead” theater |
| Companies | Diligence — royalties vs attribution, governance of forks |
Time: 35–45 minutes to read. First window evening: separate, version-controlled.
Honest limit: README, LICENSE.txt, and Ahwoo posts are authorities. Package versions and star counts move — re-check NuGet and GitHub the morning you adopt.
Non-repetition
| URL | Job |
|---|---|
| BRUTAL guide hub | License 2.2 orientation |
| Bevy 0.20 what-changed | Different Rust ECS engine upgrade map |
| Unity 7.0 CoreCLR tools | Unity stack still shipping |
| Unity runtime fee aftershocks | Why “own the tools” pitches hit finance |
| BRUTAL Unity Stop | Replacement refusal |
| 12 free BRUTAL checks | Numbered free gates |
| This URL | What Oct 15 changed |
Pair a Discord paste with 25 free game development Discord servers. For corporate TLS pain that breaks package restores, keep Roblox package-manager 403 help as a reminder that proxy certs break toolchains across stacks — BRUTAL’s restore path is still NuGet + your IT team.
The one-paragraph version
On 15 October 2026, Ahwoo and RocketWerkz open-sourced BRUTAL: a free C# / .NET game-development framework with a custom interop layer to native APIs (including Vulkan), supporting libraries for maths, unmanaged memory, collections, strings, jobs, logging, localization, windowing, ImGui, audio, networking, and physics bindings. It is not a general-purpose engine — no editor, no scene graph, no renderer, and the maintainers say they will reject PRs that drift that way. Commercial use is royalty-free; the license still requires credits copyright notice, a BRUTAL logo before gameplay (unless waived in writing or non-graphical), and shipping NOTICE.txt. Public examples: Ludeon’s Waylith under RimWorld (reported 2–4× performance in Ludeon’s tests) and RocketWerkz titles including Kitten Space Agency. Prereqs named in the README: .NET 10 SDK, Vulkan 1.3 GPU if you render, Windows or Linux for the getting-started path (product page also lists Mac OS package targets).
Highlight map (what Oct 15 put on the table)
| Area | What changed | Indie meaning |
|---|---|---|
| Public source | ahwootech/BRUTAL + NuGet profile |
You can read, fork, and package-reference |
| Framing | Framework, not engine | You still write renderer / tools / content pipeline |
| Interop | Custom C# ↔ native layer | Control + responsibility (unsafe / unmanaged) |
| Graphics | Vulkan (+ OpenGL bindings, shaders) | You author the renderer |
| Window / UI | GLFW, SDL*, Dear ImGui | Debug UI is packages, not an editor |
| Simulation helpers | Jobs, maths, memory, collections | Allocation-conscious foundation |
| Audio / net / physics | FMOD/OpenAL, RakNet, Jolt/Box2D | Bindings — not full middleware productization |
| Business | No royalties | Still attribution + logo + NOTICE |
| Proof points | Waylith, KSA, other listed titles | Existence proof, not your schedule |
Framework versus engine (say it once)
| Claim people paste | README reality |
|---|---|
| “BRUTAL replaces Unity” | No editor, scene graph, or renderer — you build those or stay elsewhere |
| “It is just another Godot” | Godot ships content tools; BRUTAL ships foundation libraries |
| “Open source means no credit” | License 2.1–2.3 still bind distributed Products |
| “Free means free of work” | Unsafe memory and architectural ownership are explicit |
| “Waylith means my Unity game ports in a weekend” | Ludeon’s multi-year extraction is not your weekend |
If a teammate only remembers one sentence: BRUTAL is a kernel-shaped foundation; Ubuntu is still your job.
What the announcement actually said
From the Ahwoo forum release and README together:
- Free for commercial games, no royalties. Credit is the ask.
- Build a game directly or build an engine on top. Two valid modes — do not confuse them in planning.
- Six projects / three studios named in launch messaging, including RimWorld/Waylith and Kitten Space Agency.
- Interop-first culture. C# /.NET meeting native APIs and C/C++ libraries deliberately.
- Scope discipline. Deliberately small; PRs that turn it into a kitchen-sink engine will be rejected.
- Audience. Experienced programmers who want architectural decisions — not a first-week GameObject tutorial path.
Dean Hall’s line in the release — you are only as independent as your tools are — is the thesis. It is not a command to abandon a shipping Unity build this sprint.
Prerequisites (free checks before “we adopted it”)
| Check | Pass means |
|---|---|
| .NET 10 SDK installed | dotnet --version matches README era |
| Vulkan 1.3 GPU + drivers (if rendering) | Validation layers optional via LunarG SDK |
| Windows or Linux lab machine | Matches README getting-started OS list |
| NuGet restore works on CI | Corporate proxies documented |
| Someone can own unsafe / native crashes | Named human, not “the Discord” |
Mac OS appears on the Ahwoo product page as a package target. The README getting-started section still emphasizes Windows or Linux — verify your target OS against current package docs before you promise three-desktop parity in a pitch deck.
Package table (what is in the box)
Each top-level library ships as a NuGet package (Ahwoo.Brutal.* in the README samples). Reference only what you need.
| Cluster | Examples | You still owe |
|---|---|---|
| Core | Brutal.Core, Brutal.Interop |
Your app entry + error policy |
| Memory / data | Memory, Collections, Strings | Lifetime discipline |
| Math / jobs | Maths, Numerics, Concurrency | Scheduling design |
| Graphics | Vulkan*, OpenGl, ShaderC, Slang, textures, glTF | A renderer and asset pipeline |
| Window / input | Glfw, Sdl* | Input map and focus rules |
| Debug UI | ImGui*, ImPlot | Tooling UX, not player UX |
| Audio | Fmod, OpenAl | Middleware licenses where applicable |
| Net / physics | RakNet, Jolt, Box2D | Gameplay architecture |
| Ops | Monitor, RenderDoc, NativeFileDialog | Studio tooling |
Third-party notices live per package LICENSES folders. Shipping BRUTAL does not erase FMOD or other component licenses — section 4.0 of LICENSE.txt says so explicitly.
Hello window (beginner path)
The README’s first path is intentionally bare: Core + Glfw, a window, no graphics API.
dotnet new console -n HelloBrutal
cd HelloBrutal
dotnet add package Ahwoo.Brutal.Core
dotnet add package Ahwoo.Brutal.Glfw
You replace Program.cs with the sample that inits GLFW, creates a 1280×720 window, polls until close, and terminates. That is the literacy smoke, not a game. Next branches the README names: Vulkan abstractions + VMA for a renderer, ShaderC for runtime shaders, ImGui for debug UI, Concurrency for jobs, FMOD / RakNet when you need them.
Common beginner mistake: Declaring “we moved to BRUTAL” after the empty window opens. The window proves restore + interop bootstrap. It does not prove content pipeline, save format, or Steam depot readiness.
Working-dev pipeline (what Monday looks like)
| Phase | Exit criteria |
|---|---|
| Literacy | Hello window + NuGet restore on CI |
| Render spike | One triangle / clear color path you own |
| Asset spike | One texture or mesh through a package you chose |
| License latch | Credits line, logo frame plan, NOTICE.txt in ship folder |
| Scope gate | Written list of systems you will not ask upstream to add |
| Live game decision | Explicit KEEP on current engine or time-boxed prototype fork |
Do not skip the license latch because legal “will look later.” Section 2.2 is load-bearing for distributed Products.
License map (what changed for compliance)
BRUTAL License v1.0 is MIT-shaped with Product conditions:
| Section | Requirement |
|---|---|
| 2.1 | Copyright notice in Credits (or equivalent) |
| 2.2 | BRUTAL logo from ahwoo.com/brutal-branding before gameplay, unaltered except scale, legible duration, prominence ≥ other logos — unless written waiver or non-graphical product |
| 2.3 | Ship NOTICE.txt with the Product |
| 3.0 | AS IS — no warranty theater in partner decks |
| 4.0 | Third-party component licenses still apply |
| 5.0 | Contributions grant license to Ahwoo + recipients |
| 6.0 | New Zealand law / courts |
README notes the licence is not yet OSI-approved because it has not been submitted; maintainers intend community feedback. Gaming press has also used “source-available” language for the custom attribution rules — whatever marketing word your lawyer prefers, 2.1–2.3 are the operational checklist.
Waivers: README says logo can be waived for non-profits and where display would harm the application’s purpose, and separate commercial licences exist if you refuse attribution. Written permission is the gate — Discord vibes are not.
For a one-page Studio orientation on 2.2, start at the BRUTAL guide.
Waylith and KSA — existence proofs, not your schedule
| Proof | What it shows | What it does not show |
|---|---|---|
| RimWorld / Waylith | Engine built on BRUTAL; Ludeon reports 2–4× in their tests; heavy mod compatibility work | Your Unity title ports this quarter |
| Kitten Space Agency | Large-scale sim built directly on BRUTAL | Your team’s Vulkan experience |
| Other RocketWerkz / Afterskies | Multiple simultaneous adopters | Homogeneous architecture |
Use proofs for diligence (“this stack ships real games”). Do not use them as a substitute for your own spike budget. Ludeon’s Unity extraction was a multi-year engineering program with mod-compatibility goals — not a NuGet bump.
Failure modes (Oct 15 aftermath)
| Failure | Symptom | Fix |
|---|---|---|
| Engine cosplay | Roadmap assumes Prefabs / Blueprints / Godot editor | Re-read “What BRUTAL is not” |
| Logo skip | Trailer ships without 2.2 plan | Latch credits + splash before Steam page |
| Royalty myth | Finance models a BRUTAL revenue share | Correct: no royalties; attribution remains |
| Weekend port | Live Unity branch deleted | KEEP shipping engine; prototype side fork |
| Package kitchen sink | Reference every NuGet day one | Minimal Core+Glfw, then add with intent |
| Upstream feature begging | Issues demanding a scene graph | Expect rejection; build in-house or leave |
| Unsafe without owner | Crashes with no allocator literacy | Name an owner or stay managed elsewhere |
Solo vs studio
Solo: Clone literacy path one evening. Write three sticky notes: no editor, logo before play, NOTICE.txt. Do not announce a Steam page rewrite.
Two to five people: Split foundation owner (interop/memory), render owner, and compliance owner (2.1–2.3). The artist who wants “just a scene view” needs an honest answer: you will build tools or stay on Unity/Godot.
Publisher diligence: Ask for the credit plan and whether a commercial waiver is budgeted. Ask which systems the studio owns versus upstream. “We switched to BRUTAL” without a renderer plan is a red flag.
Same-month noise (do not merge kits)
| Topic | Kit / URL |
|---|---|
| BRUTAL Oct 15 map | This page |
| Bevy 0.20 upgrade | Bevy what-changed |
| Unity CoreCLR labs | Unity 7.0 CoreCLR tools |
| Engine risk / fees | Unity runtime fee aftershocks |
A “stack independence mega-week” that freezes Unity, prototypes BRUTAL, and upgrades Bevy on the same live branch is how you get three incidents for the price of one.
CI / restore sketch
# Lab job (illustrative)
dotnet --info
dotnet restore HelloBrutal/HelloBrutal.csproj
dotnet build -c Release
# Optional: Vulkan validation enabled only on labeled agents
Refuse merge of “we are BRUTAL production” flags without: Hello restore green, license latch documented, and a written KEEP/HOLD on the shipping engine for the live title.
Discord paste (creators)
BRUTAL (Oct 15) — what changed:
C# framework from Ahwoo/RocketWerkz — NOT an engine
No editor / scene graph / renderer (by design)
NuGet libs: interop, memory, Vulkan, GLFW, ImGui, physics bindings…
Free commercial use, no royalties — still credits + logo before play + NOTICE.txt
Proofs: RimWorld Waylith, Kitten Space Agency
Map: /blog/what-the-brutal-csharp-framework-changed-for-indies-2026
Do not delete your Unity/Godot branch this week.
Beginner evening path
- Read this map + README “What BRUTAL is not” (20 min).
- Skim LICENSE 2.1–2.3; open branding page bookmark (15 min).
- Hello window via NuGet (45–90 min).
- Paste Discord brief; schedule render spike separately.
- Leave live game engine unchanged.
Common mistakes
- Calling the empty window a vertical slice.
- Promising “no legal work” because no royalties.
- Filing issues for a Prefab system.
- Measuring success only by GitHub stars.
Opinion spine (quotable)
Stop treating the October 15 BRUTAL drop as a free Unity install with better vibes. What changed is a public, royalty-free C# foundation with hard scope limits and a logo-before-gameplay credit rule — useful for teams who already know what they will build on top, dangerous as a headline-only migration.
Key takeaways
- 15 Oct 2026: Ahwoo + RocketWerkz open-sourced BRUTAL — primary keyword brutal game framework.
- It is a framework, not a general-purpose engine.
- No editor, no scene graph, no renderer — maintainers reject that drift.
- Custom C# interop to native APIs including Vulkan.
- Libraries ship as NuGet packages; start with Core + Glfw.
- Prereqs: .NET 10, Vulkan 1.3 if rendering, Windows/Linux lab path.
- No royalties; still credits + logo (2.2) + NOTICE.txt.
- Waylith / KSA are existence proofs, not your port schedule.
- Ludeon reports 2–4× in their tests — their numbers, their workload.
- Pair later with Unity-replacement Stop and fork-check listicle — do not merge jobs.
- Diligence: name unsafe/memory owner and compliance owner.
- Shareable hook: foundation shipped; Ubuntu is still your job.
FAQ
What is the BRUTAL game framework?
A free C# / .NET game-development framework from Ahwoo (with RocketWerkz collaboration) that exposes native APIs and low-level libraries so you can build a game directly or build your own engine on top. Source: GitHub README.
Is BRUTAL a Unity replacement?
Not as a product category. Unity ships an editor and content pipeline. BRUTAL explicitly refuses that scope. The refusal lives at Stop Treating BRUTAL as Your Unity Replacement; this page owns the change map.
Are there royalties?
No. The README and launch post state free commercial use with no royalties. Attribution conditions still apply.
What does the logo rule require?
License 2.2: display the BRUTAL logo from Ahwoo branding before gameplay, legible and prominent, unless written permission or a non-graphical product. See LICENSE.txt.
What engines or games use it?
Public table includes RimWorld (Waylith), Kitten Space Agency, Torpedia, Art of the Rail, Gruntz, and Afterskies — verify current README table when you cite.
What SDK version do I need?
README getting-started: .NET 10 SDK. Re-check if a later README bumps the floor.
Where do I ask how-to questions?
Ahwoo Guides and Help forum and the community links in the README (Discord, NuGet profile).
How is this different from Bevy?
Bevy is a Rust engine with its own ECS and upgrade cadence (see Bevy 0.20 what-changed). BRUTAL is a C# foundation library set without an editor. Different language, different product shape.
Lab doc skeleton
Date:
Owner:
.NET 10?: Y/N
Hello window?: Y/N
OS lab: Win / Linux / other
Vulkan path planned?: Y/N
Credits 2.1 plan:
Logo 2.2 plan / waiver?:
NOTICE.txt path:
Shipping engine KEEP?: Y/N
Prototype fork repo:
Signer:
Time-box table
| Scope | Wall clock | Outcome |
|---|---|---|
| Read this map + README not-list | ~40 min | Shared vocabulary |
| License 2.1–2.3 sticky notes | ~20 min | Compliance latch started |
| Hello window | ~1–2 h | Restore literacy |
| Clear-color / triangle spike | Extra evening | Render ownership proof |
| Live engine migration | Multi-month program | Not an Oct weekend |
If your estimate is “port the live Unity game this weekend because Waylith exists,” you are planning theater.
Producer ten-minute path
Force aloud: framework not engine; no royalties ≠ no credit; KEEP live engine until a signed prototype plan exists; logo splash is a ship gate. Those four stop the most expensive Oct 15 myths.
Worked example — wrong Discord Friday
Setup: Trailer text says “Now powered by BRUTAL — free forever, no Unity.” Engineer deletes the Unity CI job, opens a blank repo, stars the GitHub page. Legal has never seen 2.2. Art asks where the scene view went.
What the map forces: Literacy window first; license latch; KEEP Unity CI; schedule a side prototype; write the systems you will build yourselves.
Sibling map
| Need | URL |
|---|---|
| Facts (this page) | You are here |
| Unity replacement refusal | Stop Treating BRUTAL as Your Unity Replacement |
| Numbered fork checks | 12 Free BRUTAL Framework Checks Before You Fork |
| License 2.2 hub | BRUTAL guide |
| Stack-risk context | Unity runtime fee aftershocks |
What this article is not
It is not legal advice. It is not a renderer tutorial. It is not permission to skip NOTICE.txt. It is not a claim that GitHub stars equal production readiness. Use primary sources for license decisions. Use this URL when someone asks what changed on October 15 for indies evaluating the brutal game framework.
Where to leave the live flag
Keep your shipping engine’s CI green. Point curiosity at the README and the Ahwoo BRUTAL page. Orient compliance on the BRUTAL guide. Paste the Discord brief if your team only reads one message. Re-check NuGet package versions and LICENSE.txt the morning you cut a public build that links BRUTAL.