Job Description
Job Description
Ever wanted your work to matter beyond entertainment? We're building high-fidelity training simulators for heavy equipment — excavators, cranes, port machinery — and we need Unity programmers eager to push the engine into serious simulation territory.
Collaborate with the development team to design, implement, and maintain core simulation systems — from vehicle dynamics to environmental interactions
Take ownership of one or more systems (e.g., equipment controls, scoring / metrics, scenario management), ensuring functionality, performance, and scalability meet training requirements
Develop and integrate simulation mechanics, UI / UX elements, and instructor tools within Unity
Work alongside physics engineers, 3D artists, and training designers to ensure seamless integration of assets, behaviors, and hardware interfaces
Debug and optimize code for smooth performance across multi-display setups, VR deployments, and varying hardware configurations
Integrate external SDKs and hardware APIs (control interfaces, motion platforms, tracking systems)
Stay current with Unity development trends and simulation best practices, incorporating improvements into project workflows
Contribute to technical documentation and provide mentorship to junior team members as the team grows
Must-Have
3+ years shipping Unity projects (games, simulations, or interactive applications)
Strong C# fundamentals — you've written systems, not just scripts
Experience with Unity's physics system (and its limitations)
Comfort with version control and collaborative development
Bonus Points
C++ experience (even hobbyist level)
VR development (any platform)
Interest in engineering, heavy equipment, or "how things work"
Shader / graphics programming
Experience integrating external SDKs or hardware
Hybrid role based in Montreal, Quebec. Remote candidates across North America considered for exceptional fits.
Unity Programmer • Montreal, QC, Canada