Ozren Kolaić is a Senior Unity Developer with over 8 years of experience. He started in 3D modeling and technical art before moving into system architecture and technical leadership. Ozren specializes in multiplayer (PVP) games, mobile platforms, and WebGL. He has strong expertise in C# and the Unity ecosystem.
His background connects both artistic and engineering sides of game development. He leads multidisciplinary teams, runs code reviews, and mentors developers. He believes that clean architecture and strong team communication are key to a project’s success.
SKILLS
Unity
C#
WebGL
Netcode
Game Flow
Gameplay Logic
Multiplayer (PVP) Games
Narrative Games
PROGRAMS
Unity
Visual Studio
XCode
Android Studio
GitLab
Adventure Creator
Spine
Jira
Ozren Kolaić
Senior Unity Developer
Ozren Kolaić is a Senior Unity Developer with over 8 years of experience. He started in 3D modeling and technical art before moving into system architecture and technical leadership. Ozren specializes in multiplayer (PVP) games, mobile platforms, and WebGL. He has strong expertise in C# and the Unity ecosystem.
His background connects both artistic and engineering sides of game development. He leads multidisciplinary teams, runs code reviews, and mentors developers. He believes that clean architecture and strong team communication are key to a project’s success.
Q&A
As a passionate gamer since childhood, I’ve always had a natural desire not just to play, but to understand how the worlds behind the screen are created.I started my journey from the artistic side, focusing on 3D modeling of weapons and props, which I then tried to implement into various engines.Although I experimented with Unreal Engine and CryEngine to test my models, Unity stood out for its flexibility and accessibility at the moment my professional career began to gain momentum over eight years ago. Once I started working professionally in Unity, its prototyping efficiency and the power of the C# language became the foundation of my further development as an engineer.
For me, it was a completely natural progression because, by nature, I dislike stagnating. I always strive to improve my knowledge and test the limits of what I can achieve. That transition to senior-level specialization happened when simply solving tasks was no longer enough; I felt the need to take broader responsibility for system architecture and to directly contribute to the stability and longevity of entire projects through my experience.
I enjoy both, but in different ways. Building systems from scratch gives me the creative freedom to implement a clean and scalable architecture from the very start, which is crucial for rapid prototyping. On the other hand, working on existing systems is like solving a complex puzzle – it requires deep analysis and precision to implement new features and elevate performance without compromising the game's stability.
I prefer to spend my free time with my family and my dogs, and you can often find me on road trips. Besides enjoying games privately, I am passionate about 3D printing and sport shooting, as I enjoy hobbies that require precision and a high degree of focus.
"Obstacles are those frightful things you see when you take your eyes off your goal." — Henry Ford
Evolution from Technical Artist to Lead Developer
Specialization in Multiplayer and Mobile Platforms
Mentorship and Technical Leadership
My approach to software architecture was shaped by balancing formal education at the Faculty of Technical Sciences and an early entry into the industry. Studying Information Systems Engineering established a solid foundation for programmatic thinking, while working on real-world projects allowed me to apply those theoretical basics in practice immediately. This enabled me to view architecture not just as a set of rules, but as a tool that must support development speed while ensuring long-term code stability over years of progress.
The turning point was working at large studios where we developed complex architectures for live service mobile games, intended for hundreds of thousands of players. Working on systems that must be flawlessly scalable and sustainable over many years taught me to view every module through the lens of system design, rather than just immediate implementation. Additionally, developing multiplayer iGaming products for WebGL was a massive challenge that required a high degree of precision in data synchronization and security, which further directed me toward creating robust and resilient technical solutions.
My design philosophy is based on decomposition: breaking down complex systems into small, autonomous, and highly specialized units that communicate with each other but do not directly depend on one another. Using standard tools such as C#, Unity, and Visual Studio, I focus on creating a modular architecture where each component has a clear and isolated responsibility. This approach, often planned through visualization in Miro, ensures the system remains stable and easy to upgrade, regardless of how complex the project becomes over time.
My approach is a balance between establishing a solid, clean system core and the fastest possible implementation of functionality, depending on the current needs of the project. Through years of working on various titles – from rapid prototypes to complex productions – one develops a specific sense of priority. The key is to set up critical parts of the architecture correctly from day one to avoid technical debt, while applying maximum speed to less critical elements for quick idea validation.
My strategy is proactive: I apply best practices for optimization from the very start of the project, without compromise, to minimize the need for reactive optimization in later stages. When a problem does arise, the approach is strictly analytical – the first stop depends on the nature of the bottleneck. Whether it’s memory management, rendering efficiency, or CPU execution, I use profiling to precisely isolate the cause before moving to a solution, ensuring the game runs smoothly on a wide range of devices.
Possibly toward graphics programming, procedural generation, advanced materials, assets, animation, characters, and VFX.I could see transitioning into a more programming-centric role with further training, or even a generalist or production-support role, given my broad understanding of game development systems.