
Applies pixelation based on depth. Closer objects appear more pixelated, while distant ones stay sharp. Built for URP and perspective cameras. Customizable depth mapping and per-level resolution.Try the demo first before purchasing!Come to our discord server if you have any questions.--- Introduction ---Depth-Based Pixelation is a customizable fullscreen effect for Unity URP, implemented as a Renderer Feature. It dynamically pixelates the scene based on depth. Closer objects appear more pixelated, while distant ones retain higher detail (It's possible to do this reversely).Unlike most pixelation effects that are designed for orthographic, this system is built specifically for perspective cameras. It supports multiple resolution levels based on distance and custom depth thresholds.--- Key Features ---Depth-Based PixelationThis effect applies pixelation that changes based on the depth of each pixel. Allowing you to have full control over in which depth range the resolution should be.Perspective Camera SupportUnlike many pixelation shaders/cameras that work best with orthographic projection, this system is designed specifically for perspective cameras. It pixelates the screen based on depth, making it suitable for immersive 3D games.Customizable Depth MappingYou have full control over how the scene is divided into resolution levels. Adjust depth thresholds to define where the pixelation changes, and specify how many levels you want. This makes the system flexible and easy to adapt to any kind of scene or scale.Per-Level Resolution ControlEach depth level can have its own assigned pixel size. You can fine-tune how coarse or fine the pixelation is at each range.Resolution Multiply FactorThis variable serves as a global multiplier, allowing you to control the overall scale more conveniently and achieve quick adjustments across all levels.Shader FreeRequires no special shaders so you can keep your existing materials.--- Possible future features ---Detail layerUsed to enhance objects in specific layers by making them remain at a higher resolution than the current level they're in.Ignore LayerIgnore specififc layers.--- Supported Versions ---- 2022- 2023- Unity (only when Compatibility Mode is enabled)--- Contact ---If you have any questions or feedback, please contact me at- Gmail: greed.jesse.business@gmail.com.- ForumPerformanceThe current implementation reduces framerate to approximately 75% of the original (3/4 of the FPS) to achieve clean edges between different depth levels. Performance optimizations are planned for future updates.Thin ObjectsVery thin geometry — such as wires, grass, or fence poles — may not pixelate cleanly and loss detail.Transparent MaterialsAvoid using transparent materials, as they don’t write to the depth buffer. As a result, the pixelation resolution will be determined by the depth of whatever is behind the transparent object. This isn’t usually an issue if the background has a similar pixelation level (e.g. shallow water), but it can produce unexpected results in scenes with large depth differences.Subpixel Limitation (Perspective Cameras)Subpixel stability — where pixelation “locks” perfectly to world space — is generally not possible with perspective cameras. This is because, in a perspective projection, objects at different depths move at different speeds relative to the camera (parallax). As a result, a single world-space-aligned pixel grid can't be consistently applied across the entire scene.While orthographic projections can maintain subpixel-perfect alignment (since all objects move uniformly), perspective projection inherently breaks that possibility.However, you can reduce the visual impact of this effect by:- Using a higher resolution (smaller pixels), which makes snapping less noticeable- Applying less gliding camera movement, which hides jitter more effectively than slow, precise movement.