This project was developed over three months at ISART Digital in Montréal as a team production.
The game revolves around successive waves of acid rain falling onto the level. The player must solve a series of puzzles while taking shelter during rainfall phases. Timing and environmental awareness are key elements of the gameplay experience.
The element I am showcasing here is a dynamic material created in Unreal Engine 5. The material simulates rain droplets appearing on surfaces during rainfall and progressively transitions into a rusted, corroded state due to the acidic nature of the rain.
One of the main challenges was designing the material system to function across multiple rain cycles, allowing the environment to evolve over time. In some levels, rain did not affect every section simultaneously, which meant certain areas became more corroded than others. This required the material to support localized activation and independent progression.
Technically, the material needed to:
Toggle rain on and off (0 = no rain, 1 = active rain)
Support gradual corrosion progression over time (for example: 0 → 0.3 → 0.6 rather than a simple 0 → 1 transition)
Be adaptable across different meshes while maintaining consistent visual behavior
The primary challenge was building a flexible system that could be applied to multiple assets while allowing precise control over both rain activation and progressive surface degradation.
Material transitionning to rain then to rust metal due to acid
Material rains drops, riplles and puddles
Rain material drops