Table of Contents

Diagnosis and Repair: Issues with Content Not Displaying in the App

"I can see the real world, but the virtual content doesn't appear." This is one of the most common issues in AR development. This problem could stem from multiple aspects, ranging from the Mega positioning itself to your rendering logic.

This article will guide you through a systematic process of troubleshooting and resolving this issue.

Troubleshooting Process: From External to Internal

Following the principle of "check external factors first, then internal ones" can help you locate the problem efficiently. Please perform the following steps in order:

Step 1: Use External Tools to Verify the Mega Positioning Status (No Code Modification Required)

Before delving into your app code, first confirm whether the Mega positioning service itself is working properly. This is the most crucial step, which can help you determine whether the problem lies in the Mega positioning itself or in issues related to app development integration such as rendering.

  1. Use Mega Toolbox (Mobile Version)

    • Install the Mega Toolbox App on your test phone (if it's not already installed).
    • Open the app and enter the On - site Verification and Diagnostic Tools.
    • Log in to your account and select the same positioning library as your app.
    • Take your phone to the same location where the content failed to display during your app testing.
    • Observe the Results:
      • If the Toolbox locates successfully (the status on the interface shows Found): Congratulations! The Mega positioning service is working properly. The problem lies within your app, especially in the rendering and content display logic. Please skip to Step 2.
      • If the Toolbox fails to locate (the status on the interface shows NotFound or other): The problem lies in the positioning service itself. Please refer to the next section for in - depth analysis.
  2. Use PC - side Simulation (If EIF Has Been Collected)

    • If you have recorded EIF data for this scenario, you can use the session verification tool in the Unity editor on the PC to play back this data.
    • Observe the Results:
      • If the positioning is successful during playback (the status on the interface shows Found): The problem lies in your app code or device - specific environment.
      • If the positioning fails during playback (the status on the interface shows NotFound or other): The problem lies in the positioning service itself. Please refer to the next section for in - depth analysis.

Step 2: Check the Rendering and Content Logic Inside the App

If Step 1 confirms that the Mega positioning service itself is working properly, then the problem lies in your app code. Please check the following points:

  1. Is the Content Placed Under the Correct Node?

    • Have you correctly placed the 3D objects under the MegaBlocks > Block_* nodes automatically generated by the tool?
    • Check the hierarchical relationship between the content and the Block nodes to ensure that the rendering position of the virtual content is correct at runtime.
  2. Is the Block Root of MegaTracker Set Correctly?

    • Expand AR Session and check if the Block Root in Mega Tracker is the MegaBlocks node generated by the tool.
  3. Has the MegaBlocks Node Been Modified?

    • Ensure that you haven't modified the names of the Block_* nodes and haven't changed any values in the local transform attribute.
  4. Is the Event Listening Set Up Correctly?

    • Have you modified the positioning callback processing logic of MegaTracker?
    • Does your code instantiate or display the virtual content only after the positioning success event is triggered?
  5. Headset Rendering and Transparency

    • Is your virtual object blocked by other objects? Check the rendering queue and Shader.
    • If you're using a VST (Video See - Through) device, check if your rendering is correctly overlaid on the video stream.
    • If you're using an OST (Optical See - Through) device, check if the content is hard to see due to strong ambient light.
  6. Problems with the Content Itself

    • Is there a problem with the prefab (Prefab) you instantiated? For example, is the model file missing, is there a Shader error, or is the scale set to 0? Try manually placing the same object in the scene to see if it can be displayed normally.

Analysis of Common Positioning Failure Reasons and Improvement Suggestions

If you find that Mega Toolbox also fails to locate in Step 1, you need to carefully examine and resolve the positioning issue. The following are common reasons and countermeasures:

  • Reason 1: Mismatch Between the Map and the Environment The on - site environment has changed significantly compared to when the map was collected, or the area being experienced wasn't covered during the collection, or the map itself is incorrect. Improvement Suggestions:

    • Ensure that the map loaded in your positioning library is consistent with the current physical space in terms of the scene.
    • If the environment has been renovated (e.g., renovated, the display has been changed), you need to recollect and generate the map.
    • If the area where the problem occurs wasn't covered during the map collection, you need to regenerate the map by supplementing and updating it.
  • Reason 2: Poor Initialization Environment Launch the app in an area with sparse textures (e.g., a solid - color wall, facing the ground). Improvement Suggestions:

    • Guide users to launch the app in an area with rich textures to help the system complete the initial positioning quickly.
    • Provide clear prompts in the app UI, such as "Lift your phone and look around left and right".
  • Reason 3: Network or Service Issues Network latency causes the positioning service request to time out, or the positioning service itself malfunctions, or the concurrent usage limit is exceeded. Please provide us with feedback promptly for the latter case.

  • Reason 4: Reaching the Algorithm's Capability Boundary Mega positioning is based on advanced algorithms such as computer vision and AI, but it's not omnipotent and has certain algorithmic capability boundaries. When positioning fails continuously in certain scenarios or at certain points, you can provide us with feedback by recording the screen or recording EIF data to help us continuously improve and iterate the algorithm.

In addition, it should be noted that Mega positioning takes a process, usually about 1 - 2 seconds. Considering the complexity of real - world scenarios such as network congestion, high concurrency, and the phone overheating and reducing its frequency, this time may be longer. Therefore, you can design a clear loading/waiting interface in the app to inform users that "Positioning is in progress...", preventing users from thinking that the service has crashed or that the location can't be found due to waiting.

Note
  • The first positioning is usually slower than subsequent ones because the system needs to load the corresponding content after the first successful positioning. This is a normal phenomenon.
  • Rapidly moving the device may cause the positioning to be lost. Please guide users to move the device steadily.

Summary and Best Practices

  • Always Use External Tools for Initial Verification First: This can quickly narrow down the problem to either "positioning" or "rendering".
  • Set Reasonable User Expectations: Use UI prompts to let users know that positioning takes time and guide them to a suitable environment.
  • Pay Attention to Content Logic: Ensure that your content binding and other settings are correct.
  • Make Good Use of Logs: Printing logs at key nodes (such as event triggers, pose acquisition, and response status) can help you quickly locate code logic problems.

Through the above systematic troubleshooting, you should be able to resolve most "content not displaying" issues. If the problem still persists, please prepare the EIF data and logs and submit a detailed report to us through Problem Report.