




Parent Material Architecture
I created two robust parent materials that work for wall markings and secret texture reveal, they both handle:
Full PBR response (Base Color, Metallic, Roughness, Normal)
Distance based attenuation using world position, Length and customizable Power
Cone masking via Dot Product against the light direction
Soft border control through a second Power exponent
Emissive reveal layer for the hidden UV texture
All critical values are exposed as Scalar Parameters:
Max Distance
Distance Falloff
Cone Border Mask
Emission Power
This allows artists to create highly varied Material Instances in seconds without touching the shader graph.

Material Instances & Reusability
From the single parent I generated specialized instances for different use cases:
Paper, Book pages
Wall graffiti
Directional arrows and symbols
Interactive props
Each instance only overrides the necessary textures and a few scalar values, keeping the system extremely scalable.


Character Tool System
The player character supports multiple tools (Normal Flashlight, UV Light, etc.)
When equipping the UV tool:
The spotlight component switches color, intensity, and attenuation radius
The MPC is updated with the current world position and forward vector
UVIntensity is set to 1 (or 0 when switching back to normal light)
The logic is clean, data driven, and easy to extend with new tool types.
UV light - Spot Light System and Materials
A complete, production ready UV reveal system designed for atmospheric exploration and puzzle gameplay. Built from the ground up to be modular, performant, and highly reusable across different asset types. This system allows a player held spotlight to switch between normal illumination and ultraviolet mode. When UV mode is active, hidden messages, graffiti, symbols, and secret text appear only within the light cone and falloff range. The solution combines a centralized Material Parameter Collection, parent materials, and clean character tool logic. Technical Implementation. Material Parameter Collection A single global MPC drives the entire system: UVLightPosition (Vector) UVLightDirection (Vector) UVIntensity (Scalar) The character Blueprint updates these values every frame only when the UV tool is equipped, keeping the cost extremely low. Parent Material StrategyI created two specialized parent materials for different needs: GraffitiUvTemplate is optimized for pure UV marks and graffiti (wall writings, symbols, handprints, etc.) MaterialsUVTemplate is a full PBR parent for existing assets (books, paper, props). It keeps the original Base Color, Metallic, Roughness and Normal intact, while the secret texture is revealed only through the Emissive channel driven by the UV mask Results: The system delivers soft, believable UV reveals with proper distance falloff and cone shaping while preserving full PBR on the base materials. It is lightweight enough for real time use and flexible enough for level designers and environment artists to place new UV reactive content without engineering support. This project demonstrates strong shader architecture, system design, and a clear focus on reusability and production pipeline efficiency. What I Learned: This project reinforced the importance of designing materials with clear game architecture and separation of concerns. Creating two focused parent materials instead of one overloaded shader made the system cleaner, more performant, and much easier for other artists to use. I also deepened my understanding of how to drive complex world space effects through a Material Parameter Collection while keeping the character Blueprint logic simple and scalable.
Back to Portfolio

