top of page

Multiversus Matrix Code Shader
Problem: Create a skin series based off the Matrix movies
Solution: Implemented a Matrix Code Shader, that has animated glyphs based off Matrix Code.
Outcome: Created a master shader that can easily be manipulated for any character.
Solution: Implemented a Matrix Code Shader, that has animated glyphs based off Matrix Code.
Outcome: Created a master shader that can easily be manipulated for any character.

Stage Portal Shader (Back to the Past)
Problem: Need to implement a way for environment assets to show or hide from a portal line.
Solution: Developed a master material functions that blends between textures or opacity mask.
Outcome: With material functions, it allowed artists to create their own materials for assets using the portal implementation.
Solution: Developed a master material functions that blends between textures or opacity mask.
Outcome: With material functions, it allowed artists to create their own materials for assets using the portal implementation.

Multiversus Toon Shader
Problem: Prototype a skin line based off a comic/cartoon style
Solution: Created a toon shader- consisting of outlines, shadows, and halftone dots.
Outcome: Created a master shader that can easily be manipulated for any character.
Solution: Created a toon shader- consisting of outlines, shadows, and halftone dots.
Outcome: Created a master shader that can easily be manipulated for any character.

Cave Rock Master Material
Problem: Multiple assets in a cave scene need a material
Solution: Implemented a master rock shader, where each rock asset is an instance and can be controlled by parameters
Outcome: Rock materials are efficiently created along with unique features such as puddles and dirt masking.
Solution: Implemented a master rock shader, where each rock asset is an instance and can be controlled by parameters
Outcome: Rock materials are efficiently created along with unique features such as puddles and dirt masking.

Animated Fonts
Problem: Needed stylized, dynamic font shaders for UI and in-game text that maintained readability.
Solution: Built procedural font shaders in Unity Shader Graph using UV distortion, noise animation, and gradient mapping, with adjustable controls for intensity, speed, edge breakup, and color.
Outcome: Delivered immersive, visually striking effects that preserves readability across UI and in-game use.
Solution: Built procedural font shaders in Unity Shader Graph using UV distortion, noise animation, and gradient mapping, with adjustable controls for intensity, speed, edge breakup, and color.
Outcome: Delivered immersive, visually striking effects that preserves readability across UI and in-game use.

Gummy Bear Material
Problem: Create a unique and interactive shader
Solution: Produced a gummy shader, consisting of bouncy physics, distance field displacement, and air bubble heightmap
Outcome: Resulted on a quickly iterated and realistic shader with altering colors.
Solution: Produced a gummy shader, consisting of bouncy physics, distance field displacement, and air bubble heightmap
Outcome: Resulted on a quickly iterated and realistic shader with altering colors.

Crowd Shader
Problem: Too many skeletal mesh assets with animations in a scene can be expensive
Solution: Implemented a vertex animation shader that allows a mesh to animate and follow the camera
Outcome: 10x cheaper than placing massive amount of skeletal meshes
Solution: Implemented a vertex animation shader that allows a mesh to animate and follow the camera
Outcome: 10x cheaper than placing massive amount of skeletal meshes

Lava Lamp Shaders
Problem: Develop a procedural model with the use of HLSL
Solution: Produced a lava lamp shader, consisting of multiple effects including changing colors, adding glitter, and air bubbles.
Outcome: Resulted on a 3D asset tool that is uniquely and efficiently configured using custom data and HLSL
Solution: Produced a lava lamp shader, consisting of multiple effects including changing colors, adding glitter, and air bubbles.
Outcome: Resulted on a 3D asset tool that is uniquely and efficiently configured using custom data and HLSL
Tools

UE5 Asset Auditor Tool
Problem: Large Unreal projects can accumulate inconsistent asset settings, naming issues, expensive material setups, oversized textures, missing LODs, collision problems, and platform-specific optimization risks. These problems are often spread across many folders and are time-consuming to review manually.
Solution: Built an EUW Tool backed by Python that scans selected assets or full folders, and flags optimization and pipeline issues using configurable rulesets for Environment, Character, Props, Mobile, and VR assets.
Outcome: Helps developers quickly identify, prioritize, report, and safely fix common production asset issues.
Solution: Built an EUW Tool backed by Python that scans selected assets or full folders, and flags optimization and pipeline issues using configurable rulesets for Environment, Character, Props, Mobile, and VR assets.
Outcome: Helps developers quickly identify, prioritize, report, and safely fix common production asset issues.

Maya Lock & Quick Selection Python Tool
Problem: Modeling could be slowed down by manually clicking objects vertices.
Solution: Created a tool to save your selection, save and freeze transformations.
Outcome: More efficient modeling using tool
Solution: Created a tool to save your selection, save and freeze transformations.
Outcome: More efficient modeling using tool

Multiversus Skin Data & Material Tool
Problem: Skin data and materials take too long to implement for each skin
Solution: Created a python tool that will automatically generate data with a lot less clicks.
Outcome: I am able to create skins in 5x less time than entering data manually
Solution: Created a python tool that will automatically generate data with a lot less clicks.
Outcome: I am able to create skins in 5x less time than entering data manually

Building Tool
Problem: Simple city environment would be boring with the same building sizes and types.
Solution: Created a tool to efficiently model buildings by using modular kit alongside procedural generation.
Outcome: Able to create multiple buildings within a few instances
Solution: Created a tool to efficiently model buildings by using modular kit alongside procedural generation.
Outcome: Able to create multiple buildings within a few instances

Waterfall tool
Problem: Hand-crafting individual waterfall assets for a project that requires a lot of them, and iterating on them, was extremely tedious.
Solution: Scripted a spline-based system which allowed the artist to dynamically shape their waterfall.
Outcome: Me and my teammates could easily manipulate the waterfall to fit with the environment without the need to go back into the 3D modeling software.
Solution: Scripted a spline-based system which allowed the artist to dynamically shape their waterfall.
Outcome: Me and my teammates could easily manipulate the waterfall to fit with the environment without the need to go back into the 3D modeling software.
Rigging & VFX

MTLB Rig

Graffiti Robot Rig

Backpack Rig

Journal Rig

Energy Orb Niagara VFX
Procedural Generation

VR Fantasy Valley
Problem: Create a small VR environment in a short period of time
Solution: Used PCG, nanite, and master materials to create a scene
Outcome: Allowed me to dynamically place foliage and assets in the level with a few clicks
Solution: Used PCG, nanite, and master materials to create a scene
Outcome: Allowed me to dynamically place foliage and assets in the level with a few clicks

Random Level Generation
Problem: Create a small city scene
Solution: Randomly generate levels by using level loading
Outcome: Every play the user randomly generates building positions, AI, streets, etc
Solution: Randomly generate levels by using level loading
Outcome: Every play the user randomly generates building positions, AI, streets, etc
bottom of page
