A curated list of awesome Odin libraries, software and resources.
Odin is a general-purpose programming language built for high-performance, modern systems and data-oriented programming.
A star (β) means the resource is exceptionally good.
Important
Many commonly used bindings are already included in the Vendor Collection which comes with the compiler
- Installing Odin to set up an Odin development environment. Alternatively Karl Zylinski made a video about setting up the Odin compiler from source on Windows
- Overview is the official documentation for the language
- demo.odin is an example of odin's features in practice
- Understanding the Odin Programming Language is the first book on Odin. An easy-to-read book that bridges the gap between the online docs and years of experience. Loosely based on this article: Introduction to Odin
List of libraries implemented in Odin
| Name | Description | License | Tags |
|---|---|---|---|
| Jamgine | Self-contained realtime graphical application engine with a simplistic design philosophy | MIT | Gamedev, Engine, Graphics, Vulkan |
| LBP Serialization | Easy-to-use LBP binary serialization utility | MIT | Gamedev, Serialization, Assets |
| GL Font | A library for quickly setting up font rendering | Missing | OpenGL, Graphics, Font |
| jobs | Job system | MIT | Gamedev |
| glcache | Cached OpenGL calls | None | OpenGL, Graphics, Gamedev |
| Marshmallow engine | WIP Game Engine written in pure Odin | None | Gamedev, Engine |
| Godot Toolkit | Toolkit for Godot 4.0 to work with GDExtension and generating boilerplate | Apache 2.0 | Gamedev, Engine, Utility |
| glTF2 β | Native Odin implementation of glTF2 loading file format | MIT | Gamedev, Format, 3D |
| Aseprite loader | Handler for Aseprite's .ase/.aseprite, .aseprite-extension & extended .gpl files writen in Odin | BSD 3-Clause | Gamedev, 2D, Format |
| Odin + Raylib Hotreloading Template | An Odin + Raylib game template with Hot Reloading pre-setup. My game projects tend to have some things in common, so I made this template so I can get up and running quicker | Custom | Gamedev, Template, Raylib |
| Odin + Sokol Template | An Odin + Sokol template with WASM support. | MIT | Gamedev, Template, Sokol |
| Anima | A 2D animation library for Odin. Inspired by the LΓVE library anim8 | MIT | Gamedev, 2D, Utility, Raylib |
| ZTME | Simple Tile Editor Made For Raylib In Odin | MIT | Gamedev, 2D, Utility, Editor, Raylib |
| pathgrid | A simple 2D grid-based pathfinding library for Odin | BSD 3-Clause "New" or "Revised" | |
| VEFontCache | A port of Vertex Engine GPU Font Cache (VEFontCache) for the Odin programming language | Custom | |
| Dusk | A small game framework / project template | MIT | Gamedev, Template, Framework, Engine, ECS |
| mikktspace | A port of Morten S. Mikkelsen's tangent space algorithm for Odin | zlib | Gamedev, Graphics, 3D |
| Valhalla | A graphics engine designed for rendering 3D scenes with a focus on non-photorealistic rendering techniques | MIT | Gamedev, Vulkan, Graphics |
| Anvil | Neural network inference in pure Odin | MIT | ML, ONNX |
| Name | Description | License | Tags |
|---|---|---|---|
| Vox loader | Simple loader for MagicaVoxel's .vox models |
MIT | Gamedev, Assets |
| LDtk utility | Simple loader for LDtk files. LDtk is a moder 2D level editor from the creator of Dead Cells | MIT | Gamedev, Assets, Tools |
| Tiled loader | A simple Tiled map loader. | MIT | Gamedev, Assets, Tools |
| File Formats | Odin implementations of various file formats - ISO, EBML | BSD-3 | Format |
| INI Parser | .INI file parser | MIT | Format |
| PDB Reader β | A library for reading .pdbs and dumping Windows stacktraces |
BSD-2-Clause | Debugging, Auxiliary |
| Java classfile parser | A parser and verifier for Java .class files |
MIT | Format, Java classfile |
| RFC 3339 Date Parser | Parser for the RFC 3339 date & time spec written in odin, follows the TOML spec | None | Format, Parser |
| TOML Parser | A simple TOML parser | MIT | |
| BML Parser | Structured binary parser based on XML schemes | None |
| Name | Description | License | Tags |
|---|---|---|---|
| Odin HTTP β | A HTTP/1.1 server & client implementation for Odin purely written in Odin (besides OpenSSL) | MIT | Webdev, Server, Networking |
| HTTP | Simple Odin http(s) client | BSD-3 | Webdev |
| Name | Description | License | Tags |
|---|---|---|---|
| GraphQL Parser | GraphQL language parser | MIT | Webdev |
| Open-OstrichDB | The open source backend that powers OstrichDB.com | Apache 2.0 | Webdev, Database |
| OstrichDB-CLI | A NoSQL/NoJSON document based DBMS directly in your terminal! | Apache 2.0 | Database |
| Name | Description | License | Tags |
|---|---|---|---|
| Mustache | Mustache logic-less templating engine | MIT | Template, Webdev |
| Temple | Templating engine that compiles to Odin io calls | MIT | Template, Webdev |
| Templateless | A lightweight, logicless templating library for the Odin programming language | 1-Clause BSD NON-AI | Template, Webdev |
| Name | Description | License | Tags |
|---|---|---|---|
| Red/Black Tree | Red Black Tree Implementation | None | Datastructure |
| Piece Table | Piece-Table implementation written in Odin, and comes with unlimited linear undo & redo capability | MIT | Datastructure |
| Shared Memory Queue | Thread safe lock free ring buffers that seek to minimize false sharing, MPMC and SPMC | None | Datastructure, Multithreading |
| Name | Description | License | Tags |
|---|---|---|---|
| Simple History | A simple undo / redo history | MIT | UI, Gamedev, Tools, Editor |
| ADS1256 driver | Driver for Ti ADS1256 | MIT | Embedded |
| Mani | Lua bidirectional bindings generator | None | Lua, Generator |
| odin-build | Build system for Odin | None | Auxiliary, Tooling |
| Snowflake | Twitter Snowflake UID generation | MIT | UID |
| App Version | Generate and display application version information | MIT | Tools, Utility, CLI |
| CLI Argument Parser | Using types to specify how command line arguments should be parsed | None | Utility, CLI, Parser |
| Odin-style CLI Argument Parser | A command-line argument parser mimicking the Odin compiler's style | MIT | CLI, Utility, Parser |
| Terminal Color | Simple, easy to use terminal colors | MIT | CLI, Utility |
| TermCL | Cross-platform curses-like TUI and CLI library | BSD 3-Clause License | TUI, CLI, Utility |
| Back | Cross-platform back/stack traces for assertion failures, the tracking allocator, and segfaults | MIT | Debugging, Auxiliary |
| locale | An experimental Odin libray to manage locale informations. Inspired by findlocale C library | FreeBSD | |
| podin | .pot generation utility from Odin sources to collect translatable messages to be managed with tools like PoEdit |
FreeBSD |
Compilers, transpilers, binding generators, and other language-related tools.
| Name | Description | License | Tags |
|---|---|---|---|
| Blaise | Blaise Programming Language - A Language for Learning About Compilers. Made by Ginger Bill | BSD Zero Clause | x86 codegen |
| VecC | Experimental vector-oriented programming language with C codegen | MIT | C codegen, SIMD |
| Runic | Bindings Generator and Intermediate Format for programming languages using the C-ABI, with support for C and Odin | GNU v2.0 |
This is a list of notable libraries which are distributed along with the Odin compiler. For a full list head over to Official Package Documentation.
Base packages are required by the compiler
| Name | Description |
|---|---|
| builtin | Contains Odin's predeclared identifiers, like basic types, procedures like len, size_of etc and many built-in constants like ODIN_DEBUG |
| intrinsics | Contains Odin's compiler-level intrinsics, including many low-level procs like atomics, SIMD, X86 or WASM intrinsics and compile-time type reflection |
| runtime | This is the runtime code required by the compiler. Contains definitions of context, allocator, logger, map, dynamic array, type_info etc. and implements things like appending to a dynamic array |
The core packages implement most of the common features you need while working with Odin
| Name | Description |
|---|---|
| fmt | String formatting and console printing |
| os | Cross-platform OS interface. Read files, change CWD, etc. |
| strings | Common string operations |
| math | Common math procedures |
| math/linalg | Linear algebra package for 2D and 3D math with vectors, matricies and quaternions |
| mem | Common memory operations and allocators |
| encoding/json | Implements a JSON reader/writer, including a way to automatically marshal (serialize) structs |
| log | Implements a console and a file logger |
| sort | Implements sorting algorithms |
| sync | Synchronization primitives for multithreading |
| thread | Create and manage OS threads |
| reflect | Runtime type reflection |
| path/filepath | File path string operations |
Vendor packages are commonly-used third-party libraries distributed along with the compiler
| Name | Description | Tags |
|---|---|---|
| raylib β | Bindings for Raylib, a simple and easy-to-use library to enjoy videogames programming | Gamedev, Graphics |
| glfw | Bindings for GLFW, a multi-platform library for OpenGL, OpenGL ES and Vulkan development on the desktop | Gamedev, Graphics |
| lua | Bindings for Lua, a powerful, simple and embeddable scripting language | Lua |
| fontstash | Odin implementation of Fontstash - a lightweight online font texture atlas builder | Gamedev, Text, Graphics |
| miniaudio | Bindings for Miniaudio, a lightweight audio library | Audio, Gamedev |
| microui | Odin implementation of microui, a tiny immediate-mode UI library | UI, Tools, ImGui, Gamedev |
| directx/d3d11 | D3D11 bindings | Gamedev, Graphics, 3D |
| cgltf | Bindings for a GLTF asset loader | Gamedev, Graphics, Format, Assets |
| darwin/Metal | Bindings for Metal API | Gamedev, Graphics, 3D |
| stb | Bindings for libs from STB | Format, Gamedev, Assets, Utility |
| sdl2, sdl3 | Bindings for SDL, a cross-platform development library | Gamedev, Graphics, Audio, Networking |
List of Odin bindings to C/C++ libraries.
If you can't find the bindings you need, then you can try using this generator: https://github.com/karl-zylinski/odin-c-bindgen (or write the bindings by hand).
| Name | Description | License | Tags |
|---|---|---|---|
| Assimp | Bindings for Assimp, Open Asset Import Library is a library to load various 3d file formats into a shared, in-memory imediate format. It supports more than 40 file formats for import and a growing selection of file formats for export | MIT | Assets, Gamedev, Format |
| bcm2835 | Bindings for BCM2835 Broadcom chip/raspberry pi1/2/3/4 | MIT | Embedded |
| bgfx β | Bindings for bgfx, a cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library | Unlicense | Graphics, Gamedev |
| Box2C | Idiomatic Odin bindings for Box2c (aka Box2D 3.0, not to be confused with older versions which were written in C++!) | None | Gamedev, Physics |
| clay | High performance UI layout library in C (Official Odin Bindings) | zlib/libpng | UI Layout |
| Box2C (Odin-style) | Box2D 3.0 bindings for Odin language | None | Gamedev, Physics |
| CUE SDK | Bindings for the Corsair CUE SDK. Developers can use the iCUE SDK to access CORSAIR devices, enabling them to control device LEDs and create custom lighting experiences. | Unlicense | |
| Dear Imgui β | Generated Dear ImGui bindings using dear_bindings. About Dear ImGui is a bloat-free Graphical User interface for C++ with minimal dependencies | MIT | UI, ImGui, Gamedev, Tools, C++, Cross Platform |
| DuckDB | Bindings for DuckDB, a fast in-process analytical database | MIT | Webdev, Database, SQL |
| EFSW | Bindings for the [Entropia file system watcher(https://github.com/diegostamigni/efsw) | Unknown | Files |
| ffmpeg | Bindings for ffmpeg, a complete, cross-platform solution to record, convert and stream audio and video | None | Video |
| FMOD | Bindings for FMOD | MIT | Gamedev, Audio |
| Freetype | A binding for FreeType | MIT | Graphics, Text, Gamedev |
| harfbuzz | Bindings for HarfBuzz | BSD 2-clause | Text |
| ICU | Bindings for ICU4C | BSD 2-clause | Text |
| Jolt | Bindings for the Jolt physics engine | None | Gamedev, 3D, Physics |
| libbfd | Bindings for libbfd | GPLv2 | |
| LibClang | Bindings for libClang for Odin | None | |
| libpcap | Bindings for libpcap | None | Networking |
| librg | A binding for librg, MMO networking library | Missing | Gamedev, Server, Networking |
| libui-ng | Bindings for libui-ng: a portable GUI library for C. "libui for the next generation" | None | UI, Tools |
| LLVM | Generated bindings for LLVM (LLVM-C 17.0.1), currently Windows-only | None | Compilers |
| Luau | A fast, small, safe, gradually typed embeddable scripting language derived from Lua | MIT | Language, Lua |
| LZ4 | Bindings for LZ4, an extremely fast lossless compression library | BSD 2 Clause | Compression, Gamedev |
| m3d | Bindings for model3d format, a 3D model format specification and single header SDK. Supports skeletal animations, voxels and has the best data density | None | Gamedev, Graphics, 3D, Format |
| meshoptimizer | Bindings for meshoptimizer, a mesh optimization library that makes meshes smaller and faster to render | None | Gamedev, Graphics, 3D, Tools |
| Mimalloc | Bindings for mimalloc | MIT | Memory, Allocator |
| mpc | This is a binding to the mpc for Odin programming language. Mpc is a lightweight and powerful Parser Combinator library for C | None | Parser, Language, Format |
| MySql | Bindings for MySQL Client | MIT | Database, Webdev, SQL |
| Nuklear | Bindings for Nuklear, s single-header ANSI C immediate mode cross-platform GUI library | None | UI, ImGUI, Gamedev, Cross Platform |
| ObjC | Bindings for the objc 2.0 runtime | MIT | Darwin |
| odin-renderdoc | Bindings for Renderdoc API, capture frames and open Renderdoc UI directly from your application | MIT | Gamedev, Graphics |
| ONNX | Bindings for ONNX and a generator | MIT | ML, GPU |
| OpenAL | Bindings for OpenAL, a cross-platform 3D audio API appropriate for use with gaming applications and many other types of audio applications | None | Gamedev, Audio |
| OpenAL | A binding for OpenAL, a cross-platform 3D audio API | MIT | Gamedev, Audio |
| PostgreSQL | Complete & documented bindings for libpq (PostgreSQL) | MIT | Database, Webdev, SQL |
| Raqm | Bindings for Raqm | BSD 2-clause | Text |
| RGFW | RGFW is a cross platform, lightweight, single header window abstraction library for creating and managing windows | CC0 | Gamedev, Graphics, Platform |
| Rift | A binding for the Oculus Rift SDK for VR | Unlicense | Gamedev, VR |
| Sokol β | Odin bindings for Sokol, a collection of single-header C libraries for cross-platform windowing, graphics, audio, file loading, and more! | zlib | Gamedev, Input, Audio, Cross-Platform |
| Steamworks | Bindings for Steamworks SDK | MIT | Gamedev |
| SQLite3 | SQLite3 bindings | MIT | Database, Webdev |
| Termbox | A binding for termbox, a text-based user interface alternative to ncurses | MIT | UI |
| tinyfiledialogs | Bindings for the tinyfiledialogs native dialog box library. | zlib | UI |
| Tracy β | Bindings for the Tracy profiler | BSD-2-Clause | Gamedev, Performance |
| ufbx | Bindings for ufbx, a simple FBX loader library | Unlicense | Gamedev, Assets, 3D |
| ufbx (xandron's updated fork) | Bindings for ufbx, a simple FBX loader library | Unlicense | Gamedev, Assets, 3D |
| WebUI | Bindings for WebUI, use your preferred language in the backend and modern web technologies in the frontend | MIT | UI, Cross Platform |
| WGPU | Bindings for WGPU | Apache 2.0 | Gamedev, GPU, WGPU, Graphics |
| XInput | A binding for XInput, a windows input library | MIT | Gamedev, Windows, Input |
| zeromq | A binding for ZeroMQ, An open-source universal messaging library | Apache 2.0 | Networking |
| wsServer | wsServer C WebSocket library | MIT | WebSockets, Networking |
Useful Github Gists in Odin.
| Name | Description | Tags |
|---|---|---|
| GLFW, OpenGL Window Tutorial | GLFW and OpenGL example with very verbose comments and links to documentation for learning | Gamedev, Graphics, GPU, Learning, OpenGL, GLFW |
| Metal in Odin | Example of using Metal in Odin Natively | Gamedev, Graphics, GPU, Metal, Darwin, SDL, Shaders |
| 3D Collision | Simple raylib example of 3d FPS player movement with triangle collision | Gamedev, Raylib, Graphics, Physics, 3D |
| Block Allocator | Allocator based on Sebastian Aaltonen's Offset Allocator, for suballocating GPU heaps | Gamedev, GPU, Memory, Allocator |
| Octahedral Mapping | Sphere and Hemisphere Octahedral mapping visualization in Odin and Raylib | Gamedev, Graphics, GPU, Raylib |
| MicroUI SDL Demo | A demo of MicroUI + SDL2 | Gamedev, UI, ImGui, SDL |
| MicroUI Raylib Demo | A demo of MicroUI + Raylib | Gamedev, UI, ImGui, Raylib |
| SDL OpenGL Demo | Simple SDL2 + OpenGL demo | Gamedev, Graphics, OpenGL, SDL, 3D |
| D3D11 in Odin | Simple D3D11 based on d7's example | Gamedev, Graphics, Windows, SDL, 3D |
| Vulkan Example | Vulkan-tutorial example in Odin | Gamedev, Graphics, Vulkan, GLFW, Shaders |
| Minimal Metal Window | Minmal Cocoa Window with Metal API | Gamedev, Darwin, Metal, Cocoa, Graphics |
| D3D12 Triangle | Single-procedure D3D12 triangle example | Gamedev, Graphics, D3D12, Shaders, SDL |
| UUIDV4 | UUID Generator | UID, Cryptography, Webdev |
| WASM4 Bindings | WASM-4 Bindings | Webdev, WASM, Graphics |
| Odin logger for Raylib | Raylib logging callback to Odin logger | Gamedev, Tools, Utility |
| GLFW and Vulkan Boilerplate | Odin, GLFW & Vulkan boilerplate for Drawing a Triangle based on https://vulkan-tutorial.com | Gamedev, Graphics, Vulkan, GLFW, Shaders |
| LLDB visualization | Python script for slice, map, and string formatting in LLDB | Debugger, Tools, Utility |
| Realtime Collision Detection | Port of some 3d collision procedures from the 'Realtime Collision Detection' book | Gamedev, Physics, Collision |
| Open window using Windows API | Minimal example of how to open a window using core:sys/windows |
Windows, Graphics |
| Rect Cut | Procedures for cutting up a rect, useful for IMGUI layouting | UI, ImGui |
| SDL + sokol_gfx + D3D11 | Minimal D3D11 device and swapchain setup when using SDL with sokol_gfx instead of sokol_app | Gamedev |
| sokol_gfx + D3D11 setup without sokol_app | Minimal example of sokol_gfx on native D3D11 | Graphics, Gamedev |
| Cubic curves | Sample of various cubic curves (bezier, hermite, catmull-rom, b-spline) based on Freya's video | Math, Graphics, Gamedev |
List of Odin tutorials, articles, videos and other resources.
| Name | Description | Tags |
|---|---|---|
| Odin Overview β | Official Odin language overview | Example, Article |
| Memory Allocation Strategies β | Series about memory allocation by GingerBill | Article |
| demo.odin | A demo of basically all odin features | Example |
| Introduction to the Odin programming language | Video series about Odin and programming | Youtube, Playlist |
| Space Shooter with SDL2 and Odin | Video series about programming a Space Shooter game with SDL2 and Odin | Youtube, Tutorial, Playlist |
| Odin Programming Language: An Introduction | Introduction to the Odin Programming Language by Ginger Bill from 2020-11-26 | Youtube, Talk |
| Jai vs Odin systems programming languages | Comparison of Jai and Odin (Non-spicy takes!) | Youtube |
| Why I Use Odin for Game and Engine Development | Video essay explaining what makes Odin great for game and engine development | Youtube, Gamedev |
| Make games using Odin + Raylib β | Series about making a 2D platformer in Odin and Raylib | Youtube, Playlist, Gamedev |
| 5 Reasons why Odinlang is great for gamedev | Video about what makes odin great for gamedev | Youtube, Gamedev |
| Odin + WASM = π | Example of using Odin, WASM and WebGL together. | Example, WASM, Webdev |
| Solar Storm Renderer | A deepdive into the rendering techology of the game Solar Storm | Article |
| Hot Reload | Hot reload gameplay code. What, why, limitations and examples! | Gamedev, Utility, Article |
| Raylib + Odin + WASM | Experiment with using Raylib + Odin on web | Gamedev, Raylib, WASM, Example |
| Sokol WASM Playground | Example of Sokol and Odin on web using emscripten | Gamedev, Sokol, WASM, Example |
| Odin OpenCV Demo | Odin with OpenCV image processing demo | OpenCV, Demo |
| Playing audio files with miniaudio | Play audio files from memory with Odin #load | Miniaudio, Audio, Demo |
| Introduction to the Odin Programming Language | Long article about the basics of Odin. Finishes off with some examples of useful core libraries | Article |
| Snake game from start to finish | 90 minute video of how to implement a snake game using Raylib | Youtube, Gamedev |
| Setup Sublime Text for Odin | Shows how to turn Sublime Text into a powerful Odin development environment, including code completion | Youtube, Utility |
| Make a Breakout game from start to finish β | Karl Zylinski shows how to make a breakout clone in Odin+Raylib in 2 hours | Youtube, Tutorial, Gamedev |
| Make a Snake game from start to finish β | Beginner tutorial about making a simple snake game in Raylib | Youtube, Tutorial, Gamedev |
| Simple Undo/Redo | An article about a grug brained approach to level editor history | Article, Gamedev |
| Odin SDL3 GPU Tutorial | A video tutorial series on how to get started with the SDL3 GPU API | Youtube, Tutorial, Playlist |
- ThePrimeagen - Odin Creator Ginger Bill Talks Odin
- Developer Voices - Is Odin "Programming done right"? (with Bill Hall)
- Mike Shah & Ginger Bill - Programming Proverbs and the Odin programming language
A linter is built into the compiler, see odin help check, specifically the -vet-* and -strict-style flags.
- [DanielGavin/ols]: Language Server / Editor Support
- also contains a standalone formatter in the
tools/odinfmtdirectory
- also contains a standalone formatter in the
- [jtakakura/asdf-odin]: Plugin for the asdf version/package manager
- [laytan/setup-odin]: GitHub action for setting up the compiler
- [Data-Oriented-House/PortableBuildTools]: Portable, simple and fast installer for Visual Studio Build Tools
Open-source software implemented in Odin.
| Name | Description | License | Tags |
|---|---|---|---|
| Spall Web | spall is a profiler library and a web-frontend for exploring your code and digging into potential performance problems | MIT | Performance, Webdev, WASM, WebGL |
| Todool | A To-Do Editor with different modes, advanced movement & powerful commands. Track your development cycle with ease | MIT | Utility, Tools |
| HTMX Example TODO List App | An implementation of Todo MVC using my in development Odin web stack. | None | Webdev, Tools |
| Dungeon of Quake | Retro FPS game inspired by Quake | MIT or Public Domain | Raylib, Gamedev, 3D, Shaders |
| LD55 - The Last Summoner | LD55 entry made with Odin and Raylib. You are the last summoner alive in an apocalypse and you have to survivor using your summons! | GPL-3.0 | Gamedev, Raylib |
| Asterboids | Rogue-like space shooter. Made with Odin + Raylib | MIT | Gamedev, Raylib, 2D |
| Voxel Game | A WIP voxel game engine inspired by minecraft | None | Gamedev, Raylib, 3D |
| Solitare β | Solitare clone using Odin and Raylib | None | Gamedev, 2D, Raylib, Clone |
| Tetris | Simple tetris clone | None | Gamedev, 2D, Raylib, Clone |
| My Pong | Pong clone in Odin and Raylib | None | Gamedev, 2D, Raylib, Clone |
| Simple Neural Network | A little experiment with machine learning based on 3Blue1Brown's series on basic deep learning | None | ML |
| Lasers | A small 2d laser simulation with SDL2 to learn Odin | None | Gamedev, 2D, SDL |
| H264 Decoding | A minimal reference version of H264 video decoding with D3D11 and Windows Media Foundation API | None | Example |
| Spurtle | Wordle clone but with 6 letters | GPL-3.0 | Raylib, Gamedev, Clone |
| Atlas Builder | Builds an atlas for use in Odin 2D video games. Supports aseprite files | MIT | Gamedev, Tools |
| lucynes | An NES emulator written in Odin. | MIT | Gamedev, Emulator |
| VirtualXT | Portable, lightweight Turbo PC/XT emulator written in Odin. | zlib | Emulator |
| Bragi | An image processing pipeline in Vulkan for testing post processing effects | MIT | Vulkan, Shader |
A list of interesting software built in Odin. It's not open-source, but it can still be useful or inspiring.
| Name | Description | Tags |
|---|---|---|
| EmberGen | Real-time smoke, fire and explosion simulations for film and games | Gamedev, GPU, Graphics, Physics |
| GeoGen | Real-time Landscape, terrain and planet generator app | Gamedev, GPU, Graphics |
| Solar Storm | Sci-fi artillery game with local multiplayer (NOTE: the source code is available if you buy the game on itch.io) | Gamedev, GPU, Physics, 2D |
| CAT & ONION | A whimsical adventure game about a cat (NOTE: the source code is available if you buy the game on itch.io) | Gamedev, 2D |
| entry00 | A simple 2d game made in 8 hours | Gamedev, 2D |
| Name | Description | License |
|---|---|---|
| OLS β | Odin language server | MIT |
| JetBrains IDEs | Odin support with static code analysis for IntelliJ and others | MIT |
| Sublime Text | Odin syntax definition for Sublime Text | MIT |
| GNU/Emacs | Odin editing mode for GNU/Emacs | None |
| Flycheck | GNU/Emacs flycheck support for Odin | Unlicense |
| 4coder | 4coder customization layer for odin | None |
| Vim | Odin highlighting for Vim | MIT |
| Tree Sitter | Odin Tree-sitter grammar | MIT |
| Zed | Zed Editor plugin integrating OLS and Tree-sitter | MIT |
A list of outdated/deprecated/archived libraries, included for the sake of completeness and in case someone wants to update it.
| Link | Reason |
|---|---|
| https://github.com/Breush/odin-binding-generator | Lost interest |
| https://github.com/zhibog/odin-unittest | check out core:testing |
| https://github.com/dotbmp/odin-json | check out core:encoding/json |
| https://github.com/vassvik/odin-gl | check out vendor:openGL |
| https://github.com/JoshuaManton/odin-sdl2 | check out vendor:sdl2 |
| https://github.com/kevinw/raylib-odin | check out vendor:raylib |
| https://github.com/librg/odin-enet | check out vendor:ENet |
| https://github.com/vassvik/odin-stb | check out vendor:stb |
| https://github.com/sumofat/odin_cgltf | check out vendor:cgltf |
| https://github.com/atkurtul/odinvk | check out vendor:vulkan |
| https://github.com/SrMordred/odin-lua | check out vendor:lua |
| https://github.com/mp768/odin-lua-bindings | check out vendor:lua |
| https://github.com/laytan/odin-pattern | check out core:text/match |
Please submit a PR to add any interesting/useful Odin projects! Make sure to properly link license and add useful tags for easier searching.