What's New in Rust's "Friday Devblog 23" Update
Devblog 23 from August 2014 was the Unity 5 port. Few new features, but two hard ceilings fell: the 65,000 collider limit that forced server wipes, and the 2GB editor memory cap. It came with a long list of beta-related breakages.
Devblog 23 landed at the end of August 2014 with one headline: the game had been ported to Unity 5. The team had spent essentially the whole week on the move, and while it produced few visible new features, it removed two of the hard ceilings that had been shaping Rust's development - the 2GB memory limit in the 32-bit editor and the 65,000 collider cap that forced regular server wipes.
What Unity 5 actually changed
The collider limit was the biggest one. Unity 4 capped colliders at 65,000, and legacy Rust worked around it by merging building components together into colliders on the fly - which caused a small hitch on the server every time it happened, and still filled up eventually, forcing a wipe. Unity 5 has no such limit. Garry described it as impossible to over-emphasise, with the long-term hope being that once the other systems matured to match, servers would never need wiping at all.
The 64-bit editor ended a long-running misery. The procedural map had reached the point where it could only be run once per editor session before pushing close to the 2GB 32-bit limit, meaning a restart after every run. With 64-bit, the ceiling moves to 128TB - enough, as the blog put it, that a 128-bit editor won't be needed for a while.
Physics improved too. Previously rigid bodies had to be attached to everything, because without them you'd take a performance penalty on spawning or moving objects. That requirement is gone in Unity 5, so all the rigid bodies came out, delivering what was described as insane server performance compared to the previous version.
Ambient lighting got considerably richer. Unity 4 offered a single flat ambient colour; Unity 5 splits it into sky, equator and ground ambient, which pairs well with Andre's sky system and produces more natural, softer lighting in game. Unity 5 also added reflection probes, not feature-complete in the beta but far enough along that Andre hooked up a system generating a reflection map based on the current time of day - used for more than just making metal look shiny.
SpeedTree wasn't in yet, since Unity was still building its dedicated editor. Given how much better the trees and foliage would be once it landed, no further work was going into the existing ones.
Gameplay and content
Animals had been hard to find because they only spawned in forests. They now spawn equally across the entire map - a temporary measure for testing and baseline, with biome-specific spawning due to return later. Ores were fixed to correctly contain metal ore, stones and sulfur ore, which unlocked a good chunk of the crafting tree.
Goosey implemented the large majority of player animations, plus a set of flinch animations for being shot - the same kind of work he'd done on early Counter-Strike, including one where a headshot sends the victim leaning back Matrix-style. They weren't visible in game yet, still waiting on implementation. Dan finished the new torch model along with its holders.
Optimisation stress test
A test server running a tiny map was put up to force everything into one area, so that spawning in means the server sends you absolutely everything. It didn't blow up, which was the good news. Spawn-in problems persisted but became manageable. Half the issue was that joining sends you information about every player who has ever joined and whose body hasn't yet been destroyed - at that point, roughly 11,000 sleeping players to spawn. Unity's prefab spawning is notoriously slow, and while 5.0 improved it, 11,000 players still takes seconds. The point of the test was to surface exactly this kind of problem, with candidate fixes like spawning nearby entities first and streaming the rest in over multiple frames.
Known issues
Unity 5 was in beta, so the port came with a substantial list of things temporarily broken:
- Voice chat is disabled.
- Entering caves is broken.
- Shadows are flickery.
- There's a weird outline around tree leaves, and rendering trees can badly hurt framerate.
- Motion blur is disabled by default, due to an issue with the shadow caster shader.
- Adaptive tonemapping is disabled, because night went too bright on OSX.
- PVT is disabled, purely to rule it out while diagnosing other problems.
- The UI can become unresponsive - Unity's improved threading can overwhelm the UI process.
- The legacy renderer is in use, because the new one has no fog.
The render pipeline had also changed, so older art placed next to art upgraded for the new lighting and reflection systems could look out of place. Rather than burn a month updating everything - especially before Unity 5's proper release - the plan was to tweak things toward consistency over time.
Concepts and what came next
Meg returned to meat concepts, chasing the goal of making a piece of meat visibly belong to the animal it came from - specifically so that looking at human meat makes you think twice about eating it. Howie worked on roofs and stairs, trying to minimise how many distinct parts a player has to juggle when roofing a house, and a new Trello board dedicated to building components was started. Paul drew a batch of crates.
The week was framed as one lost to the port but spent buying a future-proofed position. With baseline not far off, the outstanding list was AI - wolves and bears attacking, deer and boars fleeing, and probably chickens - plus blueprints and further building work. Blueprints were the most open-ended: at the time you could craft anything, but the ambition was researching and trading them, having them spawn in loot, keeping them persistent server to server, possibly capping how many you can have active, and even trading them on the Steam marketplace. Building itself was considered essentially done, with wall upgrades, roofs, and much-requested foundation layers as the remaining directions.