Occlusion Vision
Solution Overview
This solution implements an occlusion-aware rendering system built on the URP framework, capable of displaying silhouettes of objects behind occluders.
The effects are customizable. It comes with several built-in occlusion effects and supports user-defined custom effects.
It's simple to use; just place the system's prefab into your scene, and it's ready to go.
It has a low performance overhead, supports batching, and uses lightweight shaders, making it suitable for mobile platforms.
Feature Support
Supports configuring the LayerMask and Color for objects with occlusion effects.
Supports grouping, allowing different groups to have unique configurations and styles.
Includes several built-in standard occlusion effects.
Allows for custom occlusion effects using user-defined shaders.
Built-in Effects
SolidColor
DitherPattern
Fresnel
Outline
How to Use
Copy the
OcclusionVision
Prefab from the package.Configure the prefab's parameters and add it to your scene.
You can create different copies to meet the needs of various scenarios.

Parameter Description
LayerMask: Specifies which objects should have the occlusion effect applied.
Color (RGBA): The color of the occlusion effect (supports transparency).
Intensity: The intensity of the occlusion effect's color.
Shader: The shader that implements the occlusion effect. Built-in effects will set this automatically, while custom effects require manual assignment.
Custom Effects
Refer to
CustomExample.shader
for guidance on writing your own shader.Configure the
Occlusion Vision Group
parameters:Style: Select
Custom
.Shader: Assign your custom shader.

Performance Details
Batch count will increase, but it supports SRP batching.
Batching Overhead:
SolidColor
=Fresnel
=DitherPattern
<Outline
(Low)Shader Overhead:
SolidColor
(Very Low) <Outline
(Low) <Fresnel
(Low) <DitherPattern
(Medium)Recommended for use on a reasonable number of objects, not hundreds or more.
Performance Scaling
Very Low: Disable the effect if there are more than 10 occluded objects.
Low: Disable the effect if there are more than 50 occluded objects.
Medium: Disable the effect if there are more than 100 occluded objects.
High: Disable the effect if there are more than 200 occluded objects.
Flagship: Disable the effect if there are more than 300 occluded objects.
Enjoying this package?
Give it a quick rating or leave a short review on the Unity Asset Store.
Your feedback helps us improve and add even more features!
Last updated