Update 26.05.27

A smaller, maintenance focused week - audio system rewrite, physics optimizations, and a load of bug fixes.

We updated the Steamworks SDK to 1.63 and now also ship the latest steamclient binaries.

Why does that matter?

When you launch a dedicated server without a local Steam install, Steamworks falls back to the Steam client binaries we ship.
But it turns out we hadn't updated those in 2 years 🥴, meaning dedicated servers without a proper Steam or SteamCMD setup were quietly missing 2 years of Steam updates.

We suspect this was a contributing factor to the "pkt lurch" errors some hosts have been seeing.                        
Newer Steam clients contains a lot Steam networking fixes, so hopefully this helps.
From now on, we'll keep the fallback binaries updated, so it doesn't silently drift again.
The audio system got a pretty significant rewrite. The old threading model used locks everywhere and was responsible for a bunch of crashes - the new one is completely lock-free. Each frame we snapshot the audio state and triple buffer it to the mix thread, similar to how render pipelines work. This makes us lock free, which should reduce audio stuttering and help any odd crashes.
 
We also ripped out the Steam Audio DLL (phonon.dll) entirely. We only used a handful of its effects, so we now compile just those directly into the engine. Building it ourselves means we can use AVX SIMD - which roughly doubles the performance of spatial audio. This also makes it easier for us to ship for Linux.
 
None of this changes how audio works from a game developer's perspective, but it's a much better foundation for the audio features we want to build next.
Acts like the clipping tool now and how you'd expect it too. 
A new addition to runtime model building used in mounts is a way to provide data to create morphs.
Morphs are used to displace vertex positions and normals, usually for face posing.
public readonly record struct MorphDelta( int VertexIndex, Vector3 PositionDelta, Vector3 NormalDelta ); 

Mesh.AddMorph( "name", deltas );


Some users kept running into issues where create model from meshes wouldn't create collision by default, leading them to wonder why they had no collision in game. To make this easier, a new dialog opens when creating model from meshes, to let you choose what collision you want on them.


Our custom cursor page needed a revamp, it's now easier to override system cursors and as a bonus you no longer have to add cursor images to resource files list, they get published automatically.
Our in-game performance overlay wasn't cutting it, a lot of information wasn't avaliable and the way it was presented was hardly actionable.
I've added:
  • Levels of verbosity, overlay_frame convar now has 1-3 detail levels.
  • The layout, grouping, colors, etc. were all redesigned to improve clarity for what you're looking for, or to even flag what you're not looking for.
  • Added new information on:
    • Batching
    • Culling
    • Aggregate Objects
    • Memory Usage
    • Low level GPU Resources
Clicking on a model from the asset browser will now show a ton of useful information in the inspector.
Our grass shader had some artifacts that were visible at certain angles. Grass clump models should now look better.
Not a lot of features this week, mainly bug fixes and community contributions - we need some time to catch up. A weekly release cycle is fast, and we have a lot of pending features we didn't want to merge right before the patch. They'll be avaliable first on the staging branch in order to get properly tested.

Lots to come next week. 👻
26.05.27
26.05.27
27 May 2026
🎁 Added
  • Runtime mesh morphs API - `Mesh.AddMorph()` lets you add morph targets (position and normal deltas) to meshes at runtime
  • Mesh to model dialog now shows options for configuring collision when converting meshes
  • Mirror tool can now be repositioned after placing, similar to the clipping tool
  • Bounding box snapping - bounding boxes now snap to grid by default
  • `ResourceWriter.AddExternalReference` for referencing external resources (e.g. materials from model resources)
  • Model inspector has useful info about meshes
  • `DragEvent` constructor is now public, allowing custom input systems to forward drag events through the UI pipeline. Thanks @dictateurfou!
  • Viewport background color is now customizable in editor preferences. Thanks @boxrocket6803!
  • Cursor page rework in project settings - now shows all system cursors you can override and auto-adds cursor images on upload
🧼 Improved
  • Audio system refactored with a lock-free triple-buffer threading model, eliminating previous crash-prone locking
  • Steam Audio effects compiled directly into the engine with AVX SIMD, roughly doubling spatial audio performance and removing the external DLL dependency
  • Physics queries no longer allocate heap memory for multi-result queries, using thread-local buffers instead
  • Physics callback virtual dispatch overhead eliminated by using concrete types and caching body type lookups
  • Rendering performance improved by removing redundant render attribute duplication, unnecessary performance trace scopes, and unused render pipeline stats
  • LOD clutter screen coverage now calculated per-model instead of per-tile for more consistent results
  • Media recording now captures at the end of the render pipeline, including overlays
  • VMDL writer now also saves the PHYS block when exporting models
  • Physics resource system modernized to use proper resource handling, enabling vphys resource previews
  • Steamworks SDK and steamclient updated to latest version, which should reduce network packet issues
  • Default video settings aligned between native and managed - MSAA now defaults to 4x (was 16x native), fullscreen defaults to borderless
  • Grass rendering looking super dark in places
  • Player display names now resolved locally, instead of by the host. Thanks @Matt9440!
  • Compile timeout raised from 60 to 120 seconds for large projects. Thanks @MrBrax!
  • Props now ignite their gibs when a burning prop breaks. Thanks @Xenthio!
  • Scene wheel zoom now treated as camera movement. Thanks @TheGWOO!
  • Dragged decal game objects now assigned proper names. Thanks @wheatleymf!
🪛 Fixed
  • Fixed morph target names and categorization when importing models
  • Fixed incorrect FBX morph normals
  • Fixed managed video settings overwriting CLI flags like `-sw` and `-720` on startup
  • Fixed shader "Internal Compiler Error" for inline shaders on Linux/Mac caused by wchar_t encoding differences
  • Fixed Steam Audio not working correctly on Linux
  • Fixed model scaling in mapping mode
  • Fixed ESC not cancelling mesh tools
  • Fixed ragdoll joint rest length using bind pose body positions instead of frame offsets
  • Fixed scaled physics bones when world transform has scale
  • Fixed objects wrongly becoming transparent after opaque fade fixes
  • Fixed chat network messages not registering on non-host clients
  • Fixed platform settings property getting cut off in the editor
  • Fixed custom shaders having tinted wireframe
  • Fixed mouse wheel direction for natural scrolling
  • Fixed material override not clearing properly when applying model material groups. Thanks @Matt9440!
  • Fixed Doo visual scripting not showing return assignment when function has no arguments. Thanks @PolEpie!
  • Fixed viewport flashing on Linux/XWayland by suppressing Qt paint cycle. Thanks @AlexTrebs!
  • Fixed pointlight shadows breaking when shadow resolution decreases. Thanks @boxrocket6803!
  • Fixed missing hover styles when dragging items over folders in asset browser. Thanks @Matt9440!
  • Re-enabled 'None' anti-aliasing option. Thanks @Mykol-Word!
  • Editor now opens on the correct monitor. Thanks @boxrocket6803!
  • Splash screen now always starts centered. Thanks @boxrocket6803!
matt
Facepunch
JoinedApr 2021 Posts258 Score2,045
Update 26.05.27 : news/update-26-05-27
dK
Member
JoinedJul 2022 Posts6 Score1,210
that model info update is super useful 
PharmaceuticalSodak
Member
JoinedMar 2026 Posts20 Score7,179
Cool!
Missing
Member
JoinedJul 2022 Posts58 Score2,181
neat
sociyo
Member
JoinedAug 2024 Posts14 Score990
awesome updates, keep knocking it out of the park!
forster82
Member
JoinedJan 2026 Posts6 Score845
Terry sex update when?
TheDoomLordd
Member
JoinedSep 2025 Posts7 Score705
Yay awesome, keep it up and dont let the haters stop you
⚔EmperShadows
Member
JoinedApr 2026 Posts4 Score5,573
Nice 
edited 3 months ago#9
Titanovsky
Member
JoinedSep 2021 Posts319 Score3,518
In any case, you're doing a great job, fixing bugs and moving forward, in time when decreasing of online and all the hate.
G+
Member
JoinedFeb 2024 Posts73 Score3,075
Linux mentioned 🐧
Salem
Member
JoinedJan 2023 Posts6 Score1,220
W dev team
Pan_Sh1ba
Member
JoinedApr 2026 Posts2 Score3,805
nice
Fptbb
Member
JoinedAug 2022 Posts6 Score10
Why on linux every setting that i change the game literally crashes?
Richard
Member
JoinedAug 2021 Posts57 Score22,840
Keep up the spectacular work FP devs! 
edited 3 months ago#15
Sheriff
Member
JoinedFeb 2025 Posts2 Score390
Народ, и все таки. Как поднять сервер на Pilican ? нет не одного рабочего яйца.
edited:
Народ, и все таки. Как поднять сервер на Pilican ? нет не одного рабочего яйца.
4k
Member
JoinedNov 2022 Posts1 Score3,671
cool!
people
Log in to reply
You can't reply if you're not logged in. That would be crazy.