skip to Main Content

When I load another scene and come back to the original scene, the POIs state is not preserved, ie. their visited status is cleared. How can I preserve POIs between scene changes?

Just tick the DontDestroyOnLoad property of the POIs you want their state to be preserved between scene changes. Enabling this option will have the following effects:

The POI gameobject won’t be removed when the other scene is loaded.

The POI won’t be visible in the new scene though, but it will be activated again (visible in the compass bar) when you load the original scene back.

The compass shows too small on mobile devices. How to scale it up?

The compass asset is an Unity UI element so it respects the Canvas Scaler options. Try using “Constant Physical Size” or “Scale With Screen Size” to get the appropriate scale on any device.

How to optimize performance?

Compass Navigator Pro uses several techniques to improve performance. However, some settings, particularly of the mini-map feature, can affect performance if not tuned correctly. Follow these tips in order until you get the desired performance:

– Select the Compass Navigator Pro gameobject, and in the inspector, under the Mini-Map / World Capture & Rendering section, make sure the Layer Mask includes only the objects that you want to display in the mini-map. Use a reasonable Resolution value and disable “Render Shadows” if not needed for the minimap. Also, and most important, in Snapshot Frequence, set it to other value than “Continuous” (continuous means the camera captures every frame which can be expensive depending on your performance goals). You can set it to “Time Interval” or “Distance Traveled” which refers to the distance moved by the player camera, so for instance it captures the world every 50 meters.

– The mini-map feature uses a zenithal camera which captures snapshots. In URP/HDRP, this camera can execute some render features configured for the pipeline which would be undesired. To avoid this, expand the Compass Navigator Pro gameobject -> MiniMap Root child and select the TopDownCamera gameobject, then in the inspector set the Volume Mask setting to Nothing (alternatively and in URP you can also create a new Universal Renderer asset and assign it to the URP asset, then set the TopDownCamera to use this second Universal Renderer which won’t have any of the render features from the default renderer).

Can Compass work with multi-level environments or interior buildings?
Yes. Use the “Height vs Follow” setting to specify the altitude of the zenithal camera with respect to the character. Set this value to 1 or 2 meters so the camera capturing the map is placed above the character but just below the ceiling.

When I add the Compass Navigator Pro prefab to the scene, it stops being a prefab.
This is by design. The asset needs to create and destroy children gameobjects which is not allowed while linked to a prefab, so it unpacks automatically when added to the scene. You can customize it in the scene and then create a prefab from it by dragging & drop the gameobject into your project folders. And also you can use scripting to instantiate the prefab and customize it.

How to set the Player arrow to follow the main character in Play Mode in a multiplayer project?
Add the following script to your character prefab:

using UnityEngine;

public class CompassSetup : MonoBehaviour
{
    void Start()
    {
        CompassNavigatorPro.CompassPro.instance.follow = transform;
    }
}

How can I add Compass Navigator Pro to my scene at runtime?
You can instantiate the CompassNavigatorPro prefab or call thes static method CompassPro.Create() to add the compass to the scene.

I have a question which is not covered in the guide...
Please use the Support Forum and post your question there. Our team will get back to you shortly.

Back To Top