The curse of Early Access

We know the positives of Early Access. You can release your game early, you can get regular feedback, you can iterate and improve the game with the community. We’re three years in with Rust’s Early Access. We’ve put out updates every week for over 150 weeks, and the community have come to expect them. The […]

Jenkins Library

Jesus fuck I hope this is the last Jenkins blog I do. As part of our switch to Jenkins I wanted to define a bunch of common function that all of our scripts could use – without copy and pasting them. To do this I defined a global Jenkins library. Everything you read about this […]


I wanted to explain how to write Jenkinsfiles in my last post but I blurted on too much. So here we go. Pipeline vs Scripted When you read the official docs about writing Jenkinsfiles you get confused because there’s two versions. The newer version starts with “pipeline”. This is the one they want you to […]


A long long time ago we used Jenkins. Then we switched to Bamboo because the Jenkins interface was feeling a bit 1990s. So now it’s like 5 years later and we’re in the process of moving back to it. Here’s why.

Unity 2017 Changelist

We do a thing in Rust’s subreddit where we get people to post their ideal changelog. I find these threads a lot more useful than reading people’s dissertations on what they want changed. They’re brief, skimmable, and they’re not full of justifications, speculation and predictions. So here’s my changelist for Unity in 2017. Removed deprecated […]

Binding Steamworks SDK

I’ve been working on Facepunch.Steamworks in the background while doing Rust’s workshop integration. Just Prerelease branch is shipping with it now. The challenge was to make a c# library that works under Unity (and not) without recompiling, and on a bunch of platforms. Here’s everything that sucked about it. Pack Size All the structs in […]


  Like everyone else, I¬†started making my own C# Steamworks wrapper. The idea is to wrap everything up in a way that makes it easy to use, and less like the c++ interface. I could write more¬†shit about it here, but I’d just be repeating what I wrote on its readme, so I won’t bother. […]