Vista Source

Our decision to move Source to .NET 10

Hey all, during our time working on Vista Source we've made challenging Source Engine's long-standing technical debt one of our main goals. A major part of our approach to this was rewriting select engine subsystems in C# on .NET 10. This decision was driven by C#'s strong maintainability and it's seamless interfacing with our user-facing C# Entity scripting system.

As development progressed, the benefits of this approach amplified. Because of this, we decided to take this one step further and take on the challenge of porting the majority of the Source Engine codebase to C# 14. While this is an ambitious undertaking, it's proven to have great results in both maintainability and developer-experience.

Worries & Concerns

Of course, Source Engine's codebase is a core part of it's identity. To be clear, this is not a ground-up rewrite of Source. The engine's architecture and internal behavior remains intact, the code is being translated, not rewritten.

We're still working closely with Valve to ensure that this decision aligns with their licensing expectations. Currently, the goal is the port the engine in its entirerty, whilst being very careful to not touch the original code that makes Source Engine iconic.