Skip to content

Welcome to Laya Documentation

Laya is a modern C++20 wrapper around SDL3 that brings safety, ergonomics, and modern C++ features to cross-platform multimedia development.

Whether you're building games, creative tools, or interactive applications, Laya gives you SDL3's power with the comfort and safety of modern C++.


🚀 Getting Started

New to Laya? Start here:


📚 Core Documentation

Understanding Laya

  • Architecture – Deep dive into design patterns, RAII, type safety, and C++20 features

Feature Guides

Explore specific functionality:

  • Features Overview – High-level summary of what Laya provides
  • Windows – Creating and managing windows
  • Rendering – Drawing to the screen
  • Events – Handling keyboard, mouse, and window events
  • Textures – Working with textures
  • Surfaces – Pixel data and surface operations
  • Logging – Type-safe logging with std::format

🎯 Quick Navigation

I want to... Go to
Install and build Laya Getting Started
Understand the design philosophy Goals
Learn about RAII and type safety Architecture
Create a window Windows
Draw shapes and colors Rendering
Handle input events Events

💡 What Makes Laya Different?

✅ RAII everywhere – No manual cleanup, no resource leaks
✅ Type-safe – Strong types prevent parameter mix-ups at compile time
✅ Modern C++20 – Concepts, std::variant, std::format, constexpr
✅ Thin wrapper – Near-zero overhead, direct mapping to SDL3
✅ No SDL exposure – Clean public API hides SDL internals


🤔 Need Help?

Ready to dive in? Head to Getting Started and build your first Laya program!