The opportunity
Unity Engine is used by millions of creators around the world to build powerful and engaging real-time experiences. At the heart of this is graphics, from the initial point of content creation down to the final pixels on the target device.
The Graphics Middle Layer team is looking for a new team member. We cover a wide range of areas: from Meshes and Textures, through to LOD, Culling, Batching and GPU-driven rendering. These form the foundation for nearly any Unity project and other engine graphics technologies. In all these areas there is a big emphasis on performance, scalability and cross platform compatibility.
As a senior graphics engineer, you will own part of our GPU-driven rendering technology stack. You’ll also help us maintain, improve and optimize existing batching, culling, mesh, streaming and related rendering technologies. In addition, there will be opportunities to research the latest techniques to help us define our future roadmap.
We don’t work in isolation. As well as working closely with colleagues on this team, you’ll represent our area in collaborations with our other graphics and platform teams around the world. Sometimes this will extend to deep technical discussions with our customers and hardware/platform partners.
We're committed to maintaining a diverse team, and we welcome and encourage applicants with diverse experiences and backgrounds.
What you'll be doing
Help evolve Unity’s rendering systems to leverage GPU-driven techniques, starting with GPU Resident Drawer, batching and culling.
Contribute code in both C++ and C# to our full tech stack, from low-level hardware abstraction through to shaders and high-level user-facing APIs.
Take the lead in technical discussions, collaborating with peers to investigate complex problems then research, prototype and implement robust solutions.
Maintain existing systems, improving performance, testability and stability.
Help with tasks within other areas the team owns when necessary, including textures, meshes and our import pipeline.
Participate in code reviews to ensure only high quality software is committed.
Closely collaborate with Product Management, Quality Assurance and UX to ensure the best possible outcomes for our product.