ABOUT me:
I’m a 3D software developer with a solid "can-do" attitude and a healthy disrespect for doing things the hard way. For me, it’s not about how many hours you sit at the desk; it’s about what you get done in that time.
I specialize in Unreal Engine 5 and Unity, with advanced knowledge in both C++ and C#. My coding experience covers a wide range of areas: interfaces, custom events, async operations, generics, call-backs, datasets, JSON exports, file manipulation, CSV imports/exports, web requests — and probably a few more I’m forgetting right now. And if there’s something I don’t know yet… well, just give me a moment.
Below you’ll find a few examples of systems and features I’ve worked on — I’ll keep it light on text to make things a bit more interesting.
Customizable Materials
Developed a fully dynamic material system allowing real-time customization of colours, roughness, metallic, and texture layers. Includes Blueprint-driven parameter adjustments and UI tools for fast prototyping and instant visual feedback. Supports both fine-tuned artistic control and user-friendly automation to speed up workflow.
Parameter based master material
Parameter based master material
Customizable material system
Customizable material system
High Level blueprint control
High Level blueprint control
Custom Emissive Materials
Custom Emissive Materials
Imperfection overlay for realistic renders
Imperfection overlay for realistic renders
Procedural Geometry
Developed a spline-based procedural geometry system supporting real-time layout adjustments via draggable corner markers. The system automatically rebuilds walls while preserving window and door cutouts using dynamic mesh operations. Integrated procedural staircase generation allows flexible vertical layouts, while all materials and placements remain intact during edits. Full save/load support enables smooth iterative design workflows without manual clean-up.
Spline based real time wall modification
Spline based real time wall modification
Real time mesh generation and asset spawning
Real time mesh generation and asset spawning
Wireframe of procedural loaded scene
Wireframe of procedural loaded scene
Json based Save / Load system
Json based Save / Load system
Multi floor building / procedural staircase.
Multi floor building / procedural staircase.
Utilizing Data Sets for Asset Control
Implemented a dataset-driven system for dynamic asset management. Adding new materials, frame parts, scene props, or imperfections is as simple as creating a new dataset entry and assigning the textures and parameters — everything hooks in automatically. This allows for fast content expansion, centralized control, and eliminates repetitive setup, keeping the workflow clean, scalable, and highly maintainable.
PCG Graphs
Created a fully flexible Procedural Content Generation system for environment building. Supports rule-based spawning of trees, rocks, plants, and debris with adjustable densities, loosening, and asset pools. Integrated dynamic material customization to adapt visuals for seasonal changes or weather variations across all instances. Designed for fast world creation with high visual variety, minimal manual effort, and full parameter control.
Procedural foliage spawning
Procedural foliage spawning
Weather based material change with procedural assets
Weather based material change with procedural assets
PCG parameters for easy control
PCG parameters for easy control
Fully Dynamic and Modular Frame Assembling
Developed a dynamic frame assembly system combining asset management with flexible component logic. Frame structures are built in real-time based on user selections, with parts automatically aligned, snapped, and validated for compatibility. Managed full asset preparation and created the underlying ruleset to ensure correct assembly of complex multi-part configurations
In-Scene Price Breakdown
Built a dynamic pricing system fully integrated into the product configuration interface. Supports international pricing structures with multiple currency pairs, distributor-specific discounts, pricing brackets, and capped discount levels per item. Driven by CSV imports/exports and extensive Excel-based data preparation for dataset creation and ongoing updates. Handles large, complex spreadsheets for smooth integration of constantly evolving pricing data. Enables real-time, transparent cost breakdowns directly inside the design scene.
In-Scene Part Breakdown
Implemented an interactive part labelling system using scene-space UI elements dynamically positioned between camera and target. Labels automatically offset, rotate, and align for clear, flat 2D-style visibility regardless of viewing angle. Allows users to easily identify individual parts directly within the 3D scene, combining clean presentation with fully interactive elements for quick reference.
CAD Asset Optimization
Processed and rebuilt CAD assets for real-time platforms with optimized poly counts, clean topology, and efficient UV layouts. Recreated high-detail parts into low-poly, performant models suitable for interactive applications, ensuring visual fidelity while maintaining runtime performance. Full pipeline handled using C4D for geometry prep, UV unwrapping, texturing, and conversion into Unity-ready assets.
Measuring Tools
Integrated a dimension measurement system with real-time unit conversions displayed directly in the scene UI. Allows users to view accurate measurements and spacing for all configured elements without leaving the design environment. Supports both metric and imperial units, providing immediate visual feedback for planning, quoting, and manufacturing preparation.
Edit Tools with In-Scene Gizmo
Added in-scene gizmo controls to handle part manipulation . Users can rotate, flip, move, duplicate and bulk-select elements without leaving the main view. The system includes full undo/redo support for non-destructive editing, allowing flexible adjustments during the design process while keeping the configuration consistent.
Background Scene Checks
Implemented background safety and consistency checks that run asynchronously during scene interaction. Continuously monitors for common build mistakes such as overlapping parts or invalid placements without affecting system performance. Allows users to receive immediate feedback on potential issues while keeping the design process smooth and responsive.
Customizable Frame Catalogue
Created a permission-based frame catalogue system for safe configuration building. Users with limited access can only select from pre-approved part combinations and colour options, ensuring valid and production-safe designs. Includes in-scene admin controls allowing catalogue management and frame creation directly inside the application without requiring developer involvement.
Online and Offline Frame Browsing & Management
Built a frame management system supporting both online synchronization and local offline access. Includes folder structures, categories, and user-specific frame libraries. Web requests handle online syncing with AWS cloud storage for screenshots, while downloaded images are optimized into lower-resolution thumbnails for efficient UI browsing. Backend management involved extensive dataset upkeep using MongoDB Compass for database maintenance and version control of frame configurations.
Editor Assets and Tools
Extended the Unity editor with custom tools and context menu scripts to streamline development workflows. Tools include bulk asset management, test data generation, scene organization, and editor-side helpers for faster asset setup and configuration. These utilities helped simplify repetitive tasks, reduce manual errors, and speed up iteration during development.
Organized and Scalable Code
Focused on writing clean, maintainable code structures with clear logic flow and minimal repetition. Interfaces, caching systems, reusable utility classes, and tidy data handling help keep the codebase flexible for future scaling and easy debugging. The goal is simple: code that doesn’t need an archaeologist six months later.
Back to Top