Settings

intermediate concepts

Edge Fusion (URP) · Core Concepts

Object Selection

Controls which objects participate in edge blending.

Default Object Selectors

ParameterDescription
Blend LayersGameObject layers whose renderers participate in edge blending.
Rendering Layer FilterNarrows the selection further using Unity's rendering layers (per-renderer "Light Layer" dropdown). Useful when objects share the same GameObject layer but only a subset should blend.
Blend With OthersWhen you exclude some layers, Edge Fusion performs a fill pass that completes the Object ID texture with depth information. This ensures selected objects blend with the environment (e.g. terrain) even when the terrain layer is excluded.

Double-Sided Objects

ParameterDescription
Double-Sided LayersIncludes objects that have both front and back faces visible (e.g. simple walls or panels) in the Object ID texture. The default blend layers only capture front-facing geometry (cull back).
Rendering Layer FilterRefines the double-sided object selection using rendering layers.

Special Shader Objects

ParameterDescription
Special Group LayersTargets meshes that cannot safely run the lightweight ObjectID shader (vertex displacement, tessellation, complex multi-pass graphs). These objects render once with their original material into a helper buffer so the fill pass can assign them IDs.
Rendering Layer FilterRefines the special group selection using rendering layers.

ID Exclusions

Prevents specific object pairs from blending with each other. This requires adding the Edge Fusion Object script to the relevant objects and assigning custom IDs.

Example: Two objects share ID = 2 and you want them to blend with each other but not with terrain (ID = 31 by default). Add an exclusion rule: objects with ID 2 cannot blend with ID 31. Terrain still blends with all other objects, and the two objects still blend with everything else.

Blending Settings

ParameterDescription
IntensityMaster strength of the fusion pass (0–1).
RadiusDefault blur radius in world units (meters).
Distance CompensationScales the effective radius proportionally with distance from the camera. Keeps a small radius up close while increasing reach for distant objects.
Max Screen RadiusCaps how large the radius can appear on screen.
Intra-Object FusionEnables edge detection within the same mesh.
 Normal ThresholdSensitivity for intra-object edge detection.
 Concavity TestWhen enabled, restricts intra-object fusion to concave edges only.
 Per-ObjectWhen enabled, only GameObjects with the Edge Fusion Object script attached receive intra-fusion.
Shadow ProtectionDampens blending where shadows are detected to prevent brightening darkened areas.

Noise

ParameterDescription
Noise IntensityAmount of noise mixed into blending to prevent perfectly smooth transitions (0–1).
JitterAdds per-frame jitter to improve sampling coverage and hide repetition. TAA smooths the result automatically. Can affect performance.

Performance

ParameterDescription
Sample CountPrimary quality/performance knob. More samples produce smoother results at higher cost.
Binary Search StepsNumber of refinement steps when locating the nearest edge.
Early Exit HitsStop searching after this many nearest-edge hits.
Max Blend DistanceMaximum camera distance at which the effect is applied.

Debug

ParameterDescription
Debug ModeChoose from Object IDs, Edges, Normals, Depth, Special Group, or Compare overlays to visualise what the system is rendering.

Edge Fusion Object (Per-Object Script)

All objects included in Blend Layers and within Max Blend Distance have their contact surfaces blended using the global radius. Add the Edge Fusion Object script to any GameObject to customise its behavior.

PropertyDescription
Override RadiusEnable a custom blend radius for this object.
Custom RadiusBlend radius in meters. Set to 0 to disable blending entirely on this object.
Override Object IdEnable a fixed Object ID for exclusion rules.
Custom Object IdThe fixed ID value. Objects sharing the same ID are treated as one for inter-object detection.
Was this page helpful?