Kristin Lague
Senior Software Engineer with a passion for learning and teaching others.
Professional Experience
Senior Tools Graphics Engineer at Unity Technologies (Engine)
January 2023 - Present (Copenhagen, Denmark)- Maintained and contributed to a complex codebase in C++,C# and HLSL
- Collaborated with diverse teams spanning from engineers to product and design to deliver innovative and reliable solutions
- Implemented and maintained automated test to ensure software reliability
Lead Software Engineer at Unity Technologies
(Standalone Machine Learning Application, Non-Engine)
May 2021 - January 2023 (Copenhagen, Denmark)- Architectured and let the development of a confidential machine learning application, driving the product from concept to internal release
- Team leadership of 8 engineers, onboarding and mentoring team members, sprint planning, task distribution and alignment with partners
- Owned the end-to-end technical direction, ensuring the application met both performance benchmarks and leadership expectations
Lead Content Developer at Unity Technologies (Evangelism)
June 2020 - May 2021 (Copenhagen, Denmark)- Led the development of Unity Engine learning content in the scope of evangelism
- Overseeing project management, roadmap planning, schedules and contract work while managing a small team of three
- Effectively managed time and resources to ensure projects were delivered on time and within budget
Software Engineer at Upwork (Freelance)
September 2018 - June 2020 (Cape Town, South Africa)- Worked on a diverse array of projects ranging from hyper-casual mobile games to complex systems and non-game applications for Windows, Mac, Android and iOS
- Developed and optimized software with frequent context switches between different teams and projects
- Managed and delivered many different freelance projects, often with often with tight deadlines and varying scopes
Software Engineer at Another Place Productions LTD.
August 2016 - September 2018 (London, United Kingdom)- Played a key role in developing systems for a mobile card battler title
- Developed specialised tools to enable artists and designers to work more efficiently
- Worked effectively in a small, agile team environment, contributing to various aspects of the game's development
Personal Projects
This is a selection of projects I have worked on in my spare time. Feel free to use them in any way you want!
Lichess Client
For this project I used the Lichess Api to create a Standalone Lichess Client using .Net and Avalonia. When first run the client aquires a token from Lichess and savely stores it in the Apple Keychain, this token is then used to access the users Lichess Account.The Client can be used to seek games of certain time controls and to play games.


Seam Carving
In this project, I utilized a Sobel filter for seam carving, a technique for intelligently resizing images without losing key content. By calculating the 'energy' of pixels to identify less important areas, I efficiently preserved the most significant parts of the image during resizing.
Mesh Cutting
In this project, I developed a technique to cut 3D meshes using mouse-drawn lines, employing plane separation and the Plane.GetSide() function to create new meshes, which were then dynamically filled with vertices and visually enhanced with a simulated force effect.


Terrain Generation
In this project, I crafted a unique terrain by generating a plane with vertices positioned through Poisson Disk Sampling, applying Perlin Noise for varied heights, using Triangle.Net for triangulation, and coloring the mesh based on the average height of each triangle evaluated against a color gradient.
Sobel Filter (Shader)
In this implementation of a Sobel Filter as a shader I am working in a kernel over every pixel in a texture calculating the weighted, average color both in horizontal and vertical direction for the kernel and then convolve the results of this operation


Jelly Mesh Deformation
In this Unity project, I created a jelly mesh modifier that simulates a rippling effect by applying force at a clicked point on the mesh, using the inverted normal of the mesh to produce dynamic, jelly-like movements.
Procedural Plant Generation
In this Project I am creating procedurally generated plants using L-Systems, which is a technique that uses iterated strings to simulate the growing patterns of plants. These strings can then be used as a recipe for a organic looking plant-like object.
