FAQ

beginner faq

Highlight Plus · Troubleshooting & FAQ

Which render pipelines are supported?

Highlight Plus supports the Built-in Render Pipeline and the Universal Render Pipeline (URP). HDRP is not supported. See URP Setup for pipeline-specific configuration.

Does Highlight Plus support Unity Canvas UI?

No. Highlight Plus works with 3D objects (MeshRenderer, SkinnedMeshRenderer). For UI highlighting, consider using Unity’s built-in UI effects or a dedicated UI outline shader.

How do I make fade-in/out work during Time.timeScale = 0?

Set the static flag at startup:

HighlightEffect.useUnscaledTime = true;

Target FX “Align to Ground” does not work

Ensure the ground mesh has a Collider, Depth Texture is enabled in the URP Asset, and the Ground Layer Mask does not include the highlighted object’s own layer. Increase the Offset Y value if the raycast origin is below the surface.

Effects render incorrectly with SMAA (URP)

SMAA can conflict with Highlight Plus rendering. Switch to FXAA or TAA, or adjust the render queue in the Highlight Plus Render Feature.

Glow or outline is clipped on one side of my animated character

Enable Update When Offscreen on the character’s SkinnedMeshRenderer. This ensures renderer.bounds stays up to date during animations.

Effects work in Editor but not in builds (URP)

The Highlight Plus Render Feature must be added to every URP Renderer Asset referenced by Project Settings → Quality. Different quality levels can reference different URP Assets.

How can I use Highlight Plus with Beautify super-sampling?

Super-sampling renders to an off-screen target. Create a child camera with Clear Flags set to Depth Only, restrict Highlight Plus Cameras Layer Mask to that camera, and enable Ignore Object Visibility.

Is Highlight Plus compatible with Dynamic Mesh Combiner?

Yes. Enable Ignore Object Visibility on the HighlightEffect component.

Is this asset compatible with Unity 6?

Yes. All Kronnect assets are fully compatible with Unity 6. The minimum supported version is Unity 2022.3 LTS, and this includes Unity 6 and any newer releases.

How can I exclude specific child objects from being highlighted?

Add the HighlightEffect component to the child object you want to exclude and enable the 'Ignore' checkbox on that component.

Why do highlights not render when a custom ShaderGraph material is placed in front of the camera?

Custom ShaderGraph materials can interfere with highlight rendering. Replace the custom material with a standard URP material to resolve the issue.

How can I make the Highlight Plus effect appear on one camera but not on another (such as a RenderTexture camera) without duplicating the character?

Use the camera layer mask option in Highlight Plus (available in URP). This setting allows you to specify which cameras can render the effect, so you can exclude specific cameras like your RenderTexture camera from displaying the highlight effect.

How do I create a global toggle to enable/disable all outlines in Highlight Plus?

There are two approaches: (1) Disable the Highlight Plus Render Feature at runtime using the method described in the Unity forum thread about enabling/disabling render features, or (2) Iterate through the HighlightEffect.effects static list which contains all instances and disable the components or set their camera layer mask to nothing. A global toggle feature is planned for a future update.

What does the 'Cameras Layer Mask' parameter in Highlight Plus actually control?

The Cameras Layer Mask specifies which camera gameobject layers can render the effect. It is not related to the camera's culling mask. It refers to the layer assigned to the camera gameobject itself and is useful for controlling which cameras render the effect in multi-camera setups.

How can I use the Cameras Layer Mask to toggle outlines on and off?

Assign your main camera gameobject to a specific layer, then exclude that layer from the Highlight Plus Cameras Layer Mask setting. This will prevent that camera from rendering the outline effect, effectively acting as a global outline toggle.

Why does Highlight Plus draw the outline twice in VR, and what settings should be configured?

Highlight Plus uses two passes: a mask pass (which ensures the outline is drawn around the object rather than inside it) and the outline itself pass. This is the expected behavior. To optimize performance when applying outlines to many objects, use the 'Include' option with the 'Combine Meshes' checkbox enabled, and place a single Highlight Plus component on an empty GameObject in the scene.

How do I fix highlight-plus not showing highlights on objects loaded from asset bundles after deactivating and reactivating GameObjects?

Call the Refresh() method on the HighlightEffect component after unhiding/reactivating the GameObjects. This refreshes the highlight state and ensures it displays correctly.

When instantiating a prefab with highlight effects as a copy and activating it, the highlights don't appear on the child objects until they are selected in the hierarchy. How can this be fixed?

Delay the destruction of the original object by one frame after instantiating the copy. Destroying the original object in the same frame as instantiation can interfere with highlight initialization. Call Refresh() on the highlighted objects after the original is destroyed to restore highlights if needed.

When calling Refresh() on highlighted objects and then destroying those objects later, errors occur about accessing destroyed game objects. What is the proper way to handle this?

Delay destroy calls to LateUpdate rather than calling them in the same frame or Update where Refresh() was called. The Refresh() call registers objects with the render pipeline, and destroying them too soon causes the pipeline to try accessing destroyed objects. Moving destroy operations to LateUpdate or delaying them by at least one frame after Refresh() prevents these errors.

How can I prevent outlines from rendering on top of specific UI elements when the Highlight pass is set to 'After Transparents'?

Use the Masking UI section in Highlight Plus. Refer to the advanced topics guide at https://kronnect.com/guides/highlight-plus-advanced-topics-and-notes/ for detailed instructions on masking UI elements to occlude outlines.

Why is the highlight effect not rendering on objects?

Check that the Camera's Layer Mask is correctly configured to include the layers used by the highlight effect. An incorrectly set Layer Mask on the camera will prevent the effect from rendering.

Highlight Plus is not showing up when building for Oculus 2 or Android, but works fine in the editor. What graphics settings need to be changed?

If using URP, ensure the Highlight Plus Render Feature is added to all URP assets in Project Settings > Quality (there can be multiple URP assets per quality level). Enable Depth Texture in the URP asset settings. You can also try different outline quality levels (fastest to highest) and experiment with multi-pass vs multi-view/single pass rendering modes.

How can I reduce the lag when using highlight-plus see-through options with a mask, such as when characters go behind buildings?

Reduce the 'Check interval' setting from its default value of 1 second to a lower value like 0.2 seconds. This increases the responsiveness of the see-through highlight detection.

When highlighting many objects, would using the screen space version of the highlight provide better performance?

For highlighting many objects, use Beautify's screen space outline feature instead of Highlight Plus, as Highlight Plus is designed for selective highlighting/selection rather than scene-wide highlighting. Beautify's Per Object Id technique works well for this use case.

How do I use both Highlight Plus and Beautify 3 together in URP?

Select the URP asset, double-click on the renderer, and add both the Beautify and Highlight Plus render features to the list of renderer features. A single renderer asset can use multiple render features simultaneously.

When upgrading to Highlight Plus 2, the scene view turns gray and the camera freezes in game view. What causes this issue?

This issue occurs when old Highlight Plus components from the previous version are still present in the scene. Remove all old highlight components and add them again fresh to resolve the problem.

How can you update highlight quality settings when Unity's quality level changes at runtime?

Access the global static list HighlightEffect.effects to iterate through all active highlight effects, then update the Quality setting on each effect when the quality level changes.

How can I manually trigger fade in/fade out effects on a highlighted object using a script?

Use the SetHighlighted(true/false) method to trigger fade in/out effects. This will activate the fade animations if they are configured in the inspector.

What is the difference between the Alignment and Relative Alignment options for labels?

The Alignment option displays the label on the left or right side of the target based on screen position. The Relative Alignment option considers left or right according to the target's look direction (so 'right' means the target's right, not the right side of the screen).

How can I adjust the screen position of a label in Highlight Plus?

You can child an empty gameobject to the target, move it to the desired position, and assign this empty gameobject as the target for the label. Alternatively, you can use the existing Vertical Offset option for absolute viewport adjustments.

How does alpha clipping work in Highlight Plus with materials that use alpha clipping?

The object material can clip or not independently. Enabling clipping in Highlight Plus will apply clipping to the effects of Highlight Plus. You can use Alpha Cut Off in Highlight Plus even if the material has alpha clipping disabled.

What causes a surface mismatch error when using Highlight Plus with Unity STP at render scales below 1.0?

Using render scale below 1.0 with STP (Standard Template Pipeline) enabled can cause a surface mismatch error where color and depth surface dimensions don't match, breaking highlights. Switching to FSR1 resolves this issue. A fix has been provided by the developer.

What causes high garbage collection allocations when using Highlight Plus in the editor, and how can it be reduced?

Memory spikes are often caused by setting the normal option to something other than 'Preserve Original', which creates a cached copy of the mesh. This is the most expensive operation. Otherwise, memory usage is negligible. Also, changing the target setting from the default 'Children' to 'Only This Object' can significantly reduce GC allocations. Always measure performance in a build rather than the editor, as the editor triggers extra allocations even from basic APIs like GetComponent().

How much memory does each instance of Highlight Plus consume?

In a stress test within Unity Editor, instancing 100 copies of a cube with outline takes approximately 22 KB per instance. However, editor measurements include extra allocations from Unity itself, so build performance will be better.

Why are labels not visible in the Scene View editor even though 'Always Show In Editor Mode' is checked?

Labels are only visible in Game View. The 'Always Show In Editor Mode' checkbox makes labels appear when not in playmode, but they will not show in Scene View - only in Game View.


I have a question not covered here

Please visit the Support Center and use our AI Support Assistant to get answers. If the issue persists, submit a reproduction project so we can investigate further and help you.

Was this page helpful?