My philosophy in Unreal Engine is simple: spend a few days building a robust system so it does the heavy lifting for you. I build tools designed to make tomorrow easier for me and the whole team.
My background in C++ and systems design means I know how to build features that work, don't break under pressure, and don't create technical debt for the rest of the team.
Works through Interfaces
Editable Custom Material
Change Tint for each material instance
Imperfection overlay. Coloured or reflection only
Customizable Materials
Developed a fully dynamic material system allowing real-time in-game customization of colours, roughness, metallic, imperfections and texture layers. Includes Blueprint-driven parameter adjustments and UI tools for fast prototyping and instant visual feedback. Full Save / Load Support
Dynamic Details on the right side and exposed asset browser with filters on the left. All the UI elements read from the same Data Asset.
Data Asset
Global UI
Engineered a fully dynamic UI styling architecture driven by a centralized Data Asset to globally control fonts, sizes, and colour schemes. The backend relies on a custom C++ Subsystem, structs, and enums, while exposing intuitive controls to Blueprints. Modular UI elements (input fields, dropdowns, buttons, sliders) utilize custom Blueprint library functions to automatically fetch and apply their designated styles during the PreConstruct phase. Built with robust error handling to ensure engine stability and prevent editor lockouts during rapid UI iteration.
Control point driven wall creation / real time cuts in walls.
Multi floor building / procedural staircase.
Stress testing Wall / Floor / Ceiling generation
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 cut-outs 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.
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.
Procedural foliage spawning
PCG parameters for easy control
Procedurally generated industrial ceiling instalations
PCG Graphs
Supports rule-based spawning with adjustable densities, loosening, and asset pools. Integrated dynamic material customization to adapt visuals for seasonal changes or weather variations across all instances.
Runtime Image Importer
Engineered a custom import manager allowing end-users to upload their own 2D images (such as logos or custom branding) directly into standalone built version ( no editor required ). To ensure data persistence, the system assigns unique IDs to imported images, storing them into local meta-files. This integrates seamlessly with the JSON save/load architecture, ensuring custom images are dynamically retrieved and spawned as physical scene decals every time a user reloads their project.
Runtime Assembly & Dynamic Socketing
Created an interactive, in-space building system for custom frame assembly. The architecture dynamically spawns placement markers and attachment points based on complex component hole patterns. To ensure peak runtime performance, the spatial detection algorithm calculates this geometry once per part type; it then caches the data and instances it across components with matching part codes, eliminating redundant CPU calculations during complex assemblies.