Location

San Francisco

Department

Engineering

Type

Role description

Unity reaches the world on the next billion devices, from entry-level mobile phones to the highest-end AAA games and runtimes need to be high performance and scalable.  The Unity Data-Oriented Design team builds the tools to give developers the capability to create those experiences and tools to enable others to do so. Our goals are to enable best in class hardware usage and optimizations that can scale from tiny games running on smartwatches to large scale experiences in a way that’s fully accessible to our audience.

You will be working on a brand-new, highly modularized architecture based around data-oriented design principles where scalability lives alongside performance.  Areas of focus would include core runtime features, asset optimization, editor UI and workflows. Your game design experience might influence our engine functionality design.  And you will have an opportunity to work on and guide compression technology, compiler optimizations, data design, and other technology innovations to drive game experiences and tools development at Unity.

We’re rebuilding the core foundation of Unity with the high-performance multithreaded Data-Oriented Technology Stack. DOTS includes a C# Job System, the Entity Component System for data management, and the Burst Compiler for producing highly optimized native code.  You would work on building those technologies and the surrounding framework to enable developers to create pure DOTS content, helping to rebuild functionality from the ground up to take advantage of DOTS. You would help design best practices patterns on how to take advantage of this technology in a way that’s performant but also understandable to our developers.

You have experienced the practical challenges of developing and shipping games or other large-scale projects.  You have ideas and opinions on how features such as rendering, physics, UI, multiplayer networking, or animation should be designed and implemented, but you’re willing to work with others to build consensus around your designs.  You want the opportunity to experiment and implement these ideas and guide the development of Unity’s new data-oriented runtime and tools. The Software Engineer will be an integral part of our DOTS Runtime team in San Francisco.

You will collaborate with the core Unity engineering team in our global offices. You will write C# like it’s C++, C++ like it’s C#, and use a handful of additional technologies that come with the platforms that we support — such as PC, Mac, iOS, Android, Web, and Consoles.

Responsibilities

  • Democratize data-oriented programming in the Unity game engine
  • Develop the DOTS Runtime for pure DOTS projects
  • Prototype modules for DOTS and Project Tiny, to reach small instant streaming experiences
  • Write code in C++ in the Unity Engine and C# in Scripting layer
  • Organize cross-department/group teams to successfully solve internal and customer problems
  • Provide technical direction including tools and infrastructure

Requirements

  • Systems engineering experience
  • Strong C++ skills, multiple known programming languagesExperience supporting multiple platforms such as iOS, Android, Mac, Windows, and Linux
  • Passion for performance, code analysis, and debugging tools
  • An ability to work both collaboratively and independently with minimal oversight
  • Ability to quickly adapt to new technologies and tasks
  • Excellent verbal and written communication skills with the ability to build relationships with global stakeholders

Bonus points

  • Experience working with remote/international teams
  • Extensive experience with C#
  • Prior experience with the Unity engine

Who we are

Unity is the creator of the world’s most widely-used real-time 3D (RT3D) development platform, providing content creators around the world with the tools they need to build rich, interactive 2D, 3D, VR and AR experiences. In fact, apps made with Unity reach 2.7 billion devices worldwide, and were installed more than 24 billion times in the last 12 months. 

The global engineering team keeps Unity at the forefront of technology and — working alongside partners like Magic Leap, Google, Facebook, Oculus and Microsoft — ensures optimized support for the latest technology and platforms. Unity is powering the real-time revolution, expanding beyond games and breaking into other industries including automotive, film, architecture, engineering, construction and more.

Unity is an equal opportunity employer committed to fostering an inclusive, innovative environment with the best employees. Therefore, we provide employment opportunities without regard to age, race, color, ancestry, national origin, religion, disability, sex, gender identity or expression, sexual orientation, or any other protected status in accordance with applicable law. If there are preparations we can make to help ensure you have a comfortable and positive interview experience, please let us know.

Pursuant to the San Francisco Fair Chance Ordinance, we will consider for employment qualified applicants with arrest and conviction records.

Headhunters and recruitment agencies may not submit resumes/CVs through this Web site or directly to managers. Unity does not accept unsolicited headhunter and agency resumes. Unity will not pay fees to any third-party agency or company that does not have a signed agreement with Unity.

#LI-JM1 #SEN 

Other positions in Engineering

Share the Senior Software Engineer, Data Oriented Technology Stack position on WeChat

Unsolicited applications

Unity is hiring all the time, and we welcome unsolicited applications. Send us yours, and we'll get back to you when we have a suitable vacancy!