Game developers repeatedly say that multiplayer game creation remains one of their hardest challenges; balancing ease-of-use with performance and flexibility remains unsolved. As a result, we’ve seen far too little innovation in multiplayer games over the last decade, while creativity in single-player games has flourished.
We are looking for a Software engineer to help define and build the foundation Unity developers use to make multiplayer experiences. You will be given the freedom to drive large initiatives in this area aimed at improving everything from performance to client/server developer iteration. Help us build a foundation and core in a modern development experience tailored to multiplayer games.
- Collaborate with other engineers to improve overall networking performance
- Improve low level network systems to give players a great game experience
- Instrument, profile, analyze, and optimize Unity’s server product
- Write code in C++ in the Unity Engine and C# in Scripting layer
- Experience with C++ and software development methodology
- Proficiency in client-server networking architecture
- Familiarity with OS, networking and server design concepts.
- Strong collaboration and communication skills
- Experience with high performance programming, multi-threading, and memory management
- Prior experience with the Unity engine
- Linux development experience
- Networking experience (knowledge of low-level protocols and high-level protocols)