When do you do your best creative work? At Unity, we know that when you’re around people you trust, in a relaxed, friendly environment, and you have a chance to deeply concentrate, interesting things happen. Add a time limit and a sense of shared purpose and you might just witness something pretty magical. That’s why we’re gathering our engineers together every year, for a week of experimentation, collaboration and overall good times that we call Unity Hackweek.
The principle was simple: think of a project you want to do, find teammates, work on it for a week, present the result. What is special about the way we do Hackweek is the spirit of freedom, openness and collaboration. There’s no central planning. All of the projects that people want to work on are listed in a simple Google Sheet.
To turn that wish list of projects into reality, we gathered in a small town in Denmark, around 90 minutes from Unity’s original hometown of Copenhagen. The area is facing the open sea and the huge bridge between islands of Sjælland and Fyn. It really felt like the sky was the limit.
So what did everyone actually work on? Most of this year’s projects evolved around learning new things, like ECS, AR, film-making or Machine Learning, or helping fellow developers, both our own engineers and all of you creators. Some great Unity features, like IL2CPP, Progressive Lightmapper and the Profiler, started a long time ago as Hackweek projects. The vast majority of hackweek experiments don’t make it to the Unity roadmap though. The point of Unity Hackweek is to try new approaches, free from the usual quality and workflow constraints we place on Unity code.
Messing with the source code
For Hackweek 2018, we’ve mixed things up a bit, and invited more than 50 external guests, mostly from partners such as Google Cloud, Nordeus and Zynga, but also some of our most enthusiastic and vocal community members. The majority of our guests were a part of our Women in Gaming initiative. All of them were free to join any teams, listen in on internal tech talks, network and share feedback.
“I’ve always wanted to go to Unity Hackweek! Compared to going to a conference it’s been a lot more relaxing, very creative place to be,” says Lotte May of LotteMakesStuff. She’s been part of our ECS alpha group for a while and says that it’s been invaluable to be able to talk to the team face to face, instead of just the usual Slack channel. She was part of the “low hanging fruit” group that focused on those tiny practical improvements that we know a lot of people need, but for some reason, we haven’t implemented yet. “Touching Unity source code felt pretty magical! Even if what I made is just a proof of concept,” she says. You can read about her ListDrawerAttributes project on Twitter.
Google Cloud and ECS
Mark Mandel and Joseph Holley came to Unity Hackweek as guests from Google Cloud. You might remember that we just announced our strategic alliance with Google at Unite Berlin. Using Unity, Google Cloud platform and Multiplay hosting, their team was able to turn the Hover Racer game from last year’s Unite Austin Training Day into a multiplayer game with matchmaking in just two days. “It really helped that everyone who could answer our questions was in the same room, so we could move extremely quickly. But hopefully, this will soon be easy for anyone, thanks to our continuing collaboration!,” says Mark Mandel, Developer Advocate for Google Cloud Platform. You can learn more about what we’re working on together in Mark’s interview with Brett Bibby, our Vice President for Engineering, and Micah Baker, Product Manager for Gaming on Google Cloud Platform.
Their project was also one of the many explorations of our new model for writing high-performance code by default, the Entity Component System (ECS). Another was “ECSCraft”, a small game with mining, crafting, and lots of data, designed to test how ECS can make a similar game run more efficiently. “Most of the team started with no knowledge of ECS, but in the end, we put together a prototype in just a few days,” says Fabrice Lété from our core engineering team who also did a presentation on ECS for everyone at the start of the week.
Tove Brantberg from Ubisoft Redlynx, who’s a UI programmer in her daily work, coded the procedural generation of the environments in the project. She was a first-time guest at Hackweek, coming from Finland. “Everyone here is interested in the same thing. So even though there’s a lot of people, you can talk to anyone and you’ll have something in common. That’s such a really great feeling”.
Morgan Paul (Natural Motion / Zynga), also got the introduction to ECS from Fabrice’s talk: “That absolutely helped. ECS represents a whole new way of thinking, so I had to move away from how I normally go about structuring code.” They worked together with the developers of our upcoming small runtime (currently in closed alpha) to explore Unity for Small things and ECS. The resulting game was just 330KB!
Happy to help
Morgan has a 1.5 year old daughter and going away for seven days would normally present a logistical challenge for their family. For the first time this year, however, we offered a daycare at hackweek. “The standard of care here is great! This option really brings down the stress of attending a professional event when having kids,” says Morgan. The daycare also meant a lot to a couple who are both working at Unity. They didn’t have to pick who will get to go to Hackweek and who will stay home with children. Taking part in Hackweek is such a big part of being in Unity R&D that it was only natural that we got some proper professionals to look after the little ones while their parents hacked away.
The daycare was also one of the things that set Unity Hackweek apart from what some might imagine a hackathon looks like. Yes, a large part of the event consisted of developers furiously drawing diagrams on whiteboards or intently staring at screens until very late in the evening. But the overall atmosphere was relaxed, and people took breaks to recharge. The weather turned out to be amazing, so swimming in the Baltic sea was an option, as well as walking on the beach, or just sitting on the grass and enjoying the view. The goal wasn’t to compete against one another; there were no winners and losers. “Well, my team is done, so I’m happy to help,” was a common sentiment on the last day.
Richard Fine, from our Build team, is a veteran of four Hackweeks. “My first Hackweek, my project completely failed! I felt good about it though – Hackweek is a time for testing out risky and ambitious ideas, and if nobody fails, it means we’re not being risky enough.” This time he joined a team adding dynamic content to one of our upcoming example games. “We all learned a lot, but also have a huge list of feedback and code that the game team and the ECS team can take apart”.
The basic idea of Unity Hackweek is that we all have a lot to learn from each other and can do amazing things when we get the right people together. Watching the results of all those clever experiments during one long presentation on Friday, with everyone is cheering and clapping, is incredibly inspiring. And inspired and motivated people make great game engines! Therefore, Hackweek is also our long-term investment in solving your real-world problems.
If you would like to know more about working at Unity and see open positions, have a look at our Careers page.