Xash3D FWGS Status Update - December 2025
This is a detailed overview of the changes that were made during the development of Xash3D FWGS engine in this year. I would also recommend checking out the previous development overviews that were made for 2022, 2023 and 2024 years.
Consider Donating
- a1batross - initial Xash3D SDL2/Linux port author, Xash3D FWGS engine maintainer, creator of non-commercial Flying With Gauss organization
- nekonomicon - maintainer of hlsdk-portable, mdldec, opensource-mods.md and Xash3D FWGS contributor (*BSD/clang port, PNG support, etc)
- Velaron - maintainer of cs16-client & tf15-client and Xash3D FWGS contributor (Android port, voice chat, etc)
- SNMetamorph - maintainer of PrimeXT & GoldSrc Monitor and Xash3D FWGS contributor (Windows port, voice chat, etc)
- $_Vladislav - tester of Xash3D FWGS, YaPB Project member, editor of the Official YaPB Documentation (in English and Russian), curator of the YaPB Graph Database and author of YaPB Waypoint/Graph Pack. Also does the Russian localization of text, images (gfx/shell), as well as additional menu buttons in English used in Xash3D FWGS for various mods.
Diffusion: the first large-scale standalone game released on Xash3D FWGS
by Aynekko
At November 22, Diffusion mod was finally released after almost 10 year of development. This is the most large and detailed mod with unique lore and setting, and the first standalone game released on Xash3D FWGS.
Highly recommend to check at this mod on ModDB page, if you didn't yet. Also, this mod took 2nd place at Mod of the Year 2025 Awards on ModDB!

PS Vita port improvements
by SNMetamorph
This year, cs16client was ported to PS Vita, attracting a lot of people attention, especially on Reddit. But just compiling it for PS Vita was not enough, to make it playable a bunch of things were changed: touch settings fine-tuned, voice chat was enabled by default, brand-new touch controls layout for PS Vita & Nintendo Switch was made, documentation for touch controls was written too.
In addition, the acquisition of a unique Console ID (CID) for the PS Vita platform has been implemented to generate a unique XashID to avoid ID collisions between different clients playing on the same platform.

Metamod-FWGS: cross-platform Metamod-R fork
by SNMetamorph
Xash3D FWGS and most of mods (thankfully to hlsdk-portable) supports LP64-compatible architectures for years. But other important server-side tools such as Metamod and AMX Mod X does not support anything but x86 architecture.
Also, Metamod-R contains a lot of x86 JIT optimizations, patching hacks, constrained by binary compatibility with ReHLDS and legacy game libraries, and not flexible enough to be compatible with wide variety of compilers/toolchains and architectures. This is why we decided to do our cross-platform Metamod fork which has priority to work with Xash3D-related things in first place.
Nodemod is the first plugin that works with 64-bit Metamod, also it implements all functionality from basic AMX Mod X plugins such as administrative functions, map voting, localization, fun features and so on. It uses JavaScript and TypeScript languages for plugins, instead of Pawn, which makes possible to bring wider audience for making new plugins.
GoldSrc voice chat support
by pwd491
Users running Xash3D can now hear and talk to GoldSrc players, as long as those GoldSrc players are running the latest Steam version of the game. The Silk voice codec isn`t supported yet.
GoldSrc spray customization support
by pwd491
As for now, GoldSrc users can see sprays of Xash3D users, and this works in opposite way too. Moreover, UX are significantly improved comparing how it was in GoldSrc: you don't need to mess with tempdecal.wad manually anymore, just select desired image in menu and engine will automatically resize, generate transparency mask and properly generate WAD texture for you.
GoldSrc compatibility improvements
by Flying with Gauss
- Disabled autogenerating gameinfo.txt (PR #1947)
- Added support for sprites with less than 256 colors in palette
- Fixed
TE_BLOODSPRITEtempentity behaviour to match GoldSrc - Fixed
statusclient-side command behavior to match GoldSrc - Enabled applying
texgammafor sprites/studiomodels textures during loading - Added support for playing/recording demos in GoldSrc format
- Added support for GoldSrc masterserver protocol
Microsecond sleep support for some platforms
by a1batross
Microsecond sleep makes possible to suspend game loop in time period between two game frames, instead of using busy-wait loop like in GoldSrc and vanilla Xash3D. This results in fewer CPU usage, lower temperatures & energy consumption. Instead of wasting CPU cycles inside busy-wait loop, now these cycles could be properly managed by OS scheduler and spend on useful tasks for other processes.
If you want check how this feature works on your setup, you could use host_sleeptime_debug console variable.
Support for VFS mount of compressed ZIP archives
by a1batross
Now it's possible to load files from compressed ZIP archives in same way as it was with .pak, .pk3 and .pk3dir formats. Though, this is not preferable option, because compression makes perceivable performance overhead.
New iOS port
by ksagameng2
A new iOS port of Xash3D FWGS is now available, featuring updated platform support and improved compatibility with modern iOS devices.