Sebastian Schöner 's Avatar

Sebastian Schöner

@sschoener.bsky.social

Programming! - previously at Epic Games, Unity Technologies, Paradox Dev Studios https://blog.s-schoener.com

666 Followers  |  50 Following  |  298 Posts  |  Joined: 03.11.2024  |  2.1204

Latest posts by sschoener.bsky.social on Bluesky

Preview
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...

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...

04.12.2025 11:50 — 👍 8    🔁 0    💬 0    📌 0
Preview
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 ...

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...

24.11.2025 11:45 — 👍 6    🔁 1    💬 0    📌 0

can we declare this an international holiday already?

14.11.2025 15:24 — 👍 2    🔁 0    💬 0    📌 0
Post image

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:

13.11.2025 08:49 — 👍 10    🔁 0    💬 0    📌 0
Post image

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

06.11.2025 15:46 — 👍 4    🔁 3    💬 1    📌 0
Preview
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...

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...

04.11.2025 14:13 — 👍 14    🔁 7    💬 0    📌 0

Fantastic! I saw it the other day, excellent change. I am also looking forward to watching the talk, I am sure I'm going to learn some new tricks!

01.11.2025 14:57 — 👍 1    🔁 0    💬 1    📌 0

Ahhh you should have said you are going to be in Stockholm, I would have gladly invited you for dinner!

01.11.2025 14:43 — 👍 1    🔁 0    💬 1    📌 0
Preview
GitHub - eliemichel/dawn-prebuilt: Only look at releases! This fork of Dawn is use to share precompiled artifacts until upstream shares official builds. Only look at releases! This fork of Dawn is use to share precompiled artifacts until upstream shares official builds. - eliemichel/dawn-prebuilt

I'm currently dealing with dawn as well. We started with github.com/eliemichel/d... (used via github.com/eliemichel/W...), which provides binaries and also does a slightly leaner build of Dawn. Ironically, I have just decided to build Dawn myself today and ditch the binaries :)

09.10.2025 18:53 — 👍 1    🔁 0    💬 0    📌 0

There are plenty of cases where Windows will actually stop you from deleting a file while it is in use. Try deleting a DLL that's loaded into a process, for example.

But to be very precise, the entire post shows that Windows doesn't actually stop you very much, so I also disagree with it :)

08.10.2025 10:54 — 👍 1    🔁 0    💬 0    📌 0

Removing the API isn't the only option. It could be marked deprecated, it could get an API upgrader. The upgrade wouldn't Remove the allocation, but it could clearly tell people "this is more expensive than you think."

04.10.2025 07:50 — 👍 3    🔁 0    💬 0    📌 0
Preview
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...

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...

30.09.2025 10:16 — 👍 14    🔁 1    💬 1    📌 0

That's sort of the thing: when you DO need it, then it's obvious that async/await is a *really* effective design.

24.09.2025 06:25 — 👍 1    🔁 0    💬 0    📌 0
Bilbo: "After all, why not? Why shouldn't I make this async?"

Bilbo: "After all, why not? Why shouldn't I make this async?"

Async, too much
blog.s-schoener.com/2025-09-22-a...

23.09.2025 08:52 — 👍 33    🔁 8    💬 1    📌 1
Preview
How I became the control group in an AI experiment | Sebastian Schöner At the risk of alienating almost everyone reading this blog, I wanted to report some first hand experience of interacting with AI for programming. I specifically want to talk about how I accidentally ...

How I accidentally served as the control group for an AI experiment
blog.s-schoener.com/2025-09-17-c...

17.09.2025 09:27 — 👍 9    🔁 1    💬 0    📌 0

Yes! The ability to just write a TODO frees up your mind to write the thing that actually matters today.

10.09.2025 15:20 — 👍 1    🔁 0    💬 0    📌 0
Preview
TODO TITLE | Sebastian Schöner In the past, I used to work in a codebase that had a lot of // @TODO: comments in it. Those TODOs would rank from obvious, small improvements to calls for features that would require an entire rewrite...

How my attitude to "unfinished" code changed blog.s-schoener.com/2025-09-08-t...

10.09.2025 09:21 — 👍 7    🔁 3    💬 2    📌 0

*completely unrelated to this*, but since this is an opportunity: I'm currently doing a bunch of work with OpenUSD! Thanks for your work on this!

29.08.2025 14:22 — 👍 1    🔁 0    💬 1    📌 0

Thanks! Yes, I think that point is totally debatable. I especially don't think it's *only* for executives. It's more a reminder that a lot of actions from executives really make sense when you see them through that lense (instead of "they are actually insane"). :)

29.08.2025 14:21 — 👍 1    🔁 0    💬 1    📌 0
Preview
Unreasonable within reason | Sebastian Schöner Over the years I have come to appreciate “unreasonable” coworkers. What a weird sentence to write, right? When it comes to programming, you are usually fairly well advised to be “reasonable.” For exam...

Unreasonable within reason blog.s-schoener.com/2025-08-29-r...

29.08.2025 09:06 — 👍 8    🔁 2    💬 1    📌 0
Preview
Speaking with curiosity | Sebastian Schöner I had two interactions recently that surprised me in light of how I think about this blog. In the first interaction, someone referred to me as a “performance expert.” Thank you, that’s very kind of yo...

On a quest to become more naive.
blog.s-schoener.com/2025-08-19-s...

19.08.2025 08:52 — 👍 9    🔁 1    💬 1    📌 0

I've updated the post to include your numbers for easier reference in future. (I had 4 people reach out about raddbg separately; felt right to make sure the numbers are somewhere you can link to.) Thanks again!

14.08.2025 08:51 — 👍 0    🔁 0    💬 0    📌 0

Thank you, that's excellent! Neat trick about sorting the floats. I've added a back link to your post for easier reference in future.

14.08.2025 08:50 — 👍 0    🔁 0    💬 0    📌 0

Nice, thank you! That's fantastic. Interesting to see the speed-up on O2 clang as well!

13.08.2025 19:38 — 👍 0    🔁 0    💬 1    📌 0
Preview
Does C compile faster than C++? | Sebastian Schöner I recently found myself wondering whether it is faster to compile C than C++. On some level, the answer to this is an obvious “yes”: You can’t accidentally summon cthulhu SFINAE-thulhu in your C code,...

Toying around with C vs. C++ compile times: blog.s-schoener.com/2025-08-13-c...

13.08.2025 10:27 — 👍 17    🔁 1    💬 2    📌 0
Preview
Vector types and debug performance | Sebastian Schöner For reasons, I have found myself writing a vector math library. Like Aras some time ago I’ve found an unpleasant surprise when looking at the debug performance of some vector types. There is no point ...

What I learned about debug performance of C++ vector math: blog.s-schoener.com/2025-08-07-v...

07.08.2025 12:21 — 👍 7    🔁 0    💬 0    📌 0

Ah, yeah, makes sense. I started out with two copies of the code and then later turned it into a single one with a template for publication. Should have done a final careful check, thank you! Will update :)

29.07.2025 14:51 — 👍 1    🔁 0    💬 0    📌 0

Good find! Thank you. Is that with Clang or with MSVC?

29.07.2025 13:30 — 👍 0    🔁 0    💬 1    📌 0

"Loop rerolling"

29.07.2025 13:16 — 👍 0    🔁 0    💬 0    📌 0
Preview
How to speed up random memory accesses | Sebastian Schöner At some point when optimizing software, you are left with a soup of pointers that you just have to dereference, even though you know that you are going to suffer a cache miss for every single read. Co...

How to speed up random memory accesses
blog.s-schoener.com/2025-07-28-r...

29.07.2025 11:12 — 👍 24    🔁 3    💬 1    📌 1

@sschoener is following 20 prominent accounts