TL;DR: We're making a new cross-platform UI library for games and general application development, and, of course, also for Odin.
It's been almost seven years since we released Odin Inspector & Serializer on the Unity Asset Store, and it's been a wild and awesome ride since then. We released Odin Project Validator in 2019, and in 2022 we released its reimagined and totally revamped second edition, Odin Validator. And in all that time, we've continually released new patches and improvements, most recently our awesome new Addressables and Localization support modules, the latter of which offers a totally overhauled and vastly improved way of working with Unity's Localization package.
But what's next for us? Where are we going to be in two, five, ten years?
That's what we want to talk about, today.
Around 2019, we were experimenting with a new UI Library, driven mostly by us wanting to enjoy work more. We've always loved the process of going from idea to creation, and we know how rewarding it can be when you're actually working directly on solving the problems that you're interested in solving, the problems that matter to you!
Creating, refining and iterating on your idea should be as straight-forward and frictionless as possible, so that your head can stay focused on the good stuff. But so often, in today's world it's not like that. Your attention is constantly pulled away from working on your goals by UI frameworks forcing you to deal with boilerplate, busywork and tedious, restrictive patterns into which your idea must be twisted to fit - if it can fit at all.
Often, you just give up trying to achieve a certain thing, and eventually the systems will teach you that creativity and out of the box thinking is just not worth it, because of the struggle it will be to implement it. Typical UI work is a painful exercise of attempting to cut down and squeeze your unique ideas into a framework-shaped box, and most of the time you end up with boring, framework-box-shaped UIs as a result.
It shouldn’t be this way.
Over the years, we've worked on this idea of ours in the background, creating prototypes and proof of concepts, refining features, and iterating on them again and again and again, figuring out what would work and what wouldn't. Eventually, it became clear that this had real promise, and we decided to go for it.
For the past year and a half or so, we've been dedicating a significant percentage of our resources and development time towards this project, and it has grown into something we're extremely proud of and excited about. It's not quite ready for primetime yet, but it's now reached a point where we feel ready to start talking about it, and we're thrilled to finally be able to share with you what we've been working on all this time.
So what is it?
We've been workshopping the single-sentence elevator pitch for a while now, and the best we've got so far goes like this: PanGui is a cross-platform, language-agnostic UI library with a razor sharp focus on performance, simplicity and expressive power.
In essence, we've been working on a UI library that rethinks how modern UIs are created, without all the bloat, tedium and performance problems of today's prevalent UI technologies. It has zero dependencies, and is a totally bottom-up, from-scratch implementation of absolutely everything from layouting to text rendering to shapes and effects.
We've chosen to call it PanGui, using the prefix "pan-", meaning "all" or "everything" - in essence, AllGui - because that is our long-term intent and ambition for it. A single, simple and down-to-earth UI library that can create practically all conceivable UIs, in all environments, applications, and engines, on all platforms, in all languages - from UEFI's to game UIs to standalone applications.
We're not going to get into all the technical details of PanGui here - for that, you should go check out PanGui's new website. Instead, we'd like to talk about where we see ourselves going with this in the future.
First, we would like to bring your attention to our use of the word 'library', over the word 'framework'. PanGui is not some grand black-box framework into which you fit your code. PanGui is a tool that is used by your code, with a very straight-forward input-output relationship: UI is requested, and PanGui outputs the GPU buffers and basic graphics instructions required to render the requested UI. These instructions can then be injected into any potential graphics pipeline; this is identical to how libraries like DearImgui work, and it is a remarkably portable design.
Of course, our obvious first target environment for PanGui is Unity, but we intend to expand PanGui into Unreal and other game engines, as well as provide standalone application wrappers for various common target platforms, as well as utilities for easily integrating it into arbitrary graphics pipelines such as Vulkan, Metal, OpenGL, various DirectX versions, and so on.
The nature of PanGui makes it very straightforward to integrate anywhere, and while it is currently written in C#, it is also explicitly written in a style that is very easily transpiled to other languages, so we will be able to provide PanGui in languages such as C, C++, Rust, and eventually more.
PanGui will also help us bring Odin Inspector to other game engines and platforms, and will let us greatly improve the current version of Odin for Unity, in terms of features, looks and performance. It will also make it a great deal easier to eventually do things like provide Odin for runtime, to be used for modding and debugging tools, and even in-game UI.
This change is going to be a big and positive one for Odin, letting us do things we've barely even dared dream of before. We're still only at the beginning of exploring that path, so we can't say yet where it's going to end up - except it's definitely going to be awesome.
Going forward, you're going to be seeing a lot more of PanGui. We're going to be doing development streams where we work on PanGui and maybe answer questions - stay tuned for more updates on that. Finally, we're not prepared to talk specific release timelines yet, but we hope and intend to start a closed beta this year.
It's an exciting time for us, here. As you see more of PanGui and what we're doing with it, we hope you'll become just as excited as we are.
- The Sirenix Team