CNA Tutorials
From zero to shipping — 157 step-by-step guides for C++ game development with CNA, including guides for the native platforms, the Content Pipeline, Diagnostics and the Inspector added since the first tagged pre-release.
All 157 tutorials available
Getting Started
No prior game-development experience required. Install CNA, open a window, draw sprites, play sounds, handle input, and ship your first game — from scratch in C++.
Core Systems
Go deeper into 2D rendering, enter the third dimension, work with matrices and math, manage assets, and add gamepad and touch input to your games.
Graphics and Architecture
Write custom shaders, build deferred rendering pipelines, profile and optimize your game, implement shadows and reflections, and architect scalable multi-platform projects.
Real-World and Platform
Ship to WebAssembly and Android, port from XNA and MonoGame, extend CNA with custom renderers and language runtimes, build complete game projects, and integrate physics and networking.
Renderers in Depth
A normal CNA build compiles one of its 14 renderer identities; a build can also opt into a compatible set and choose one before device creation. These tutorials cover selection, family boundaries, capability traps and the SDL_GPU and WebGPU renderers.
3D Content and CNA Extensions
Runtime glTF loading, skeletal animation, morph targets and PBR materials, plus the CNAEXT extensions where CNA goes beyond the XNA 4.0 contract - and how to opt out of them entirely.
Audio, Media, Services and Verification
Procedural and positional audio, XACT, video, the media library, locally-persisted achievements and leaderboards, the WebAssembly gotchas that only bite in a browser, and how CNA verifies pixels.
C# with CNA.NET
Run original XNA 4.0 C# games on CNA's native runtime through CNA.NET without rewriting them, and start new C# games from the dotnet new template with desktop, browser and Android heads.
Gamer Services, Guide, Avatars and Networking
Local profiles and sign-in, the Guide, achievements and leaderboards, friends and presence, avatars, and network sessions — offline by default, or connected to the self-hosted CNA Gamer Services server.
Window Systems and Builds
Run CNA on X11 and Wayland through SDL3's video drivers, use ALSA audio and CNA's own mixer, configure SDL-free windowless builds, and run CNA in a terminal.
Content Pipeline and CNB
Author content with the build-time Content Pipeline, pack it as CNB, interoperate with XNB produced by XNA and MonoGame, and write your own content types.
Modern Graphics
Graphics profiles, build-time shader compilation and one shader across several renderers.
Diagnostics, Inspector and Tools
Turn on Diagnostics statistics and traces, connect the Inspector to a running game, and use the command-line content and asset tools.
Want a tutorial faster? Open an issue on GitHub and request a specific topic — high-demand tutorials get prioritised. Contributions are also welcome: if you write a tutorial, submit a pull request.