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
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
A few words intended to end any romantic notions of how much effort your compiler can even put into passing stuff by value: blog.s-schoener.com/2025-04-30-b...
Passing stuff by value and ABIs | Sebastian Schöner
I have in the past had this very romantic belief that when you pass a struct by value the compiler will lovingly select the right combination of registers to carefully craft the perfect packing of you...
blog.s-schoener.com
April 30, 2025 at 1:40 PM
My notes about how Unity's ECS handles dependencies, or "Data-soup with long noodles." blog.s-schoener.com/2025-04-25-d...
Data-soup with long noodles | Sebastian Schöner
This is a post about Unity’s ECS (as of Unity 6) and how it handles dependencies between jobs. The other day a friend asked: “Why are the different methods of scheduling work in Unity’s ECS so inconsi...
blog.s-schoener.com
April 25, 2025 at 10:10 AM
Did you know that engines like Unity aren't build from scratch and have dependencies? For example the excellent tundra build system. In the spirit of supporting some of the bedrock of our industry, I am now sponsoring Tundra development. github.com/deplinenoise
deplinenoise - Overview
deplinenoise has 39 repositories available. Follow their code on GitHub.
github.com
April 15, 2025 at 8:11 AM
GPU Hang Adventures and the things I learned that you, the graphics programmer, probably already know
blog.s-schoener.com/2025-04-08-g...
GPU hang adventures | Sebastian Schöner
After the last post, you might think that I have spent most of my time lately with IL2CPP. That, however, is untrue: I have actually mostly been looking at GPU hangs. I would by no means call myself a...
blog.s-schoener.com
April 8, 2025 at 10:21 AM