Sebastian Schöner
sschoener.bsky.social
Sebastian Schöner
@sschoener.bsky.social
Programming! - previously at Epic Games, Unity Technologies, Paradox Dev Studios

https://blog.s-schoener.com
What I've learned over the last 1.5months of writing a GUI library: blog.s-schoener.com/2026-02-09-g...
February 9, 2026 at 10:12 AM
Reposted by Sebastian Schöner
Ever wrote spin-locks or had to debug them?
I have, and I got tired of seeing (and writing) crappy ones, so I did a real investigation this time.

Spoiler: trust your OS.

siliceum.com/en/blog/post...
Spinning around: Please don't! - siliceum
Embark on a journey about why you should sometimes trust your OS more than yourself.
siliceum.com
January 27, 2026 at 10:40 AM
A piece on how I learned to appreciate the brainless enthusiasm of AI agents.
blog.s-schoener.com/2026-01-14-c...
Clauded optimism | Sebastian Schöner
This post is a continuation of my last post about programming with AI agents. I wanted to specifically talk about one property of Claude Code: The constant “Yes, of course!” and “That’s a brilliant id...
blog.s-schoener.com
January 14, 2026 at 1:57 PM
I wrote a few words about when improving codegen actually leads to better performance, motivated by my experiences with cpp2better: blog.s-schoener.com/2025-12-04-w...
When better codegen doesn't help | Sebastian Schöner
I want to write a few words about what sorts of games benefit from my build postprocessor for Unity il2cpp builds, cpp2better. It’s not the case that every game unconditionally benefits from it to the...
blog.s-schoener.com
December 4, 2025 at 11:50 AM
How do you figure out why your C# projects are rebuilding, and how does the MSBuild log help?
blog.s-schoener.com/2025-11-24-m...
How to figure out why C# projects are rebuilding | Sebastian Schöner
A friend recently joked that all my blog posts are to some level just trauma processing. He is not entirely wrong. Today’s trauma is “why does it take 12s to recompile C# when nothing has changed?” I ...
blog.s-schoener.com
November 24, 2025 at 11:45 AM
Every once in a while, I check the reviews on my games on Steam. It's always nice when a game finds the exact player it was made for. New review from July:

"We Love this game, it plays as advertised." (store.steampowered.com/app/1584170/...)

How I advertise it:
November 13, 2025 at 8:49 AM
Reposted by Sebastian Schöner
Is your company interested in trying Live++? Want to know what it can do for you? Curious about its features?

You can now request a live demo through our website - free of charge!
liveplusplus.tech/request_live...

#cpp
November 6, 2025 at 3:46 PM
Do you want to improve the performance of your il2cpp Unity projects, without changing your code or your assets? My il2cpp build processor cpp2better is now officially available (on request). Reach out to me, details here: blog.s-schoener.com/2025-11-04-c...
cpp2better, an il2cpp postprocessor | Sebastian Schöner
It’s been a while since I last talked about cpp2better. Time for an official “here it is” post. What is cpp2better? cpp2better is a tool that hooks into your build pipeline for Unity to achieve better...
blog.s-schoener.com
November 4, 2025 at 2:13 PM
Do you want to know about what things might go wrong when cross-compiling from Linux to Windows? No? Ah, too bad. Then don't click the link below.

blog.s-schoener.com/2025-09-29-c...
What can go wrong in cross compilation | Sebastian Schöner
I have been unfortunate enough to embark on a journey of C++ cross-compilation, by choice nonetheless. In my case, I use clang to compile on a Linux machine to get binaries for a Windows machine. This...
blog.s-schoener.com
September 30, 2025 at 10:16 AM
September 23, 2025 at 8:52 AM
How to get thread create/exit callbacks on Windows, and learn a little bit about TLS on the way

blog.s-schoener.com/2025-07-07-t...
How to get thread create/exit callbacks on Windows | Sebastian Schöner
I recently needed to run a callback on thread shutdown and creation, on Windows. For exiting, you can apparently use FlsAlloc (MSDN), which is a part of the Fiber API. I’ve tried that, it works. But t...
blog.s-schoener.com
July 7, 2025 at 6:57 AM
I had to debug a crash that turned out to be caused by a misunderstanding of how the Windows linker deals with data imports, and I did not find this documented anywhere. So I fixed it:

blog.s-schoener.com/2025-06-15-w...
How does the Windows linker handle exported data? | Sebastian Schöner
I recently had to understand the details of what happens when on Windows you have a global variable in a DLL and try to use it from another. I did not find this spelled-out anywhere, so let’s change t...
blog.s-schoener.com
June 15, 2025 at 6:16 PM
How The Mods Made Me: An unexpected blast from the past turned into a retrospective on creating games as a kid of the early 90s.

blog.s-schoener.com/2025-05-18-m...
How The Mods Made Me | Sebastian Schöner
Recently I got a message from someone that ran into a performance problem with a tool I wrote 15 years ago. On shutdown, the program would completely grind the entire machine to a halt for 3 minutes. ...
blog.s-schoener.com
May 19, 2025 at 9:07 AM