FAQs - Develop
Frequently asked questions related to development
Last updated
Frequently asked questions related to development
Last updated
Make sure all of these are checked in the project settings > publishing settings:
Custom Main Manifest
Custom Main Gradle Template
Custom Base Gradle Template
Custom Gradle Properties Template
The application can appear to be on a single screen as it covers the entire screen space. Therefore, if you are using overlay canvas, switch it to world space or JMRSDK canvas.
This issue usually occurs when the files are not properly imported into the project. If you are facing this issue, follow the below-mentioned Steps: 1. Delete the folder inside the Assets >> Plugins >> Android 2. Re-import the JMRSDK plugins folder.
Go to the head, left, and right cameras and enable/disable the required layer in the culling mask of the cameras.
Do check the culling mask at runtime -
On Head camera - Left and Right layer gets disabled On Left camera - Head and Right layer gets disabled On Right camera - Head and left layer gets disabled
Default behavior: Layer number 13 is used internally for the screen casting. So layer 13 does not render anything in left and right cameras. This might change depending on your project settings.
Layer "Left" and Layer "Right" does not render on respective cameras so you can use these layers if you want to render some object only on some particular camera.
In unity editor, Goto JMRSDK > Core > Plugins > Android > Readme > tmrServicesSDK-release-JMRSDK Version
In apk,
Check the AndroidManifest.xml of your application build using android studio
or any 3rd party analyzer for meta data
- com.jiotesseract.DeviceServiceSDKVersion
corresponding to which SDK version is present.
With JMRSDK 4.27.10, implementing quit functionality is only possible through JMR Toolkit and with the Home page setup.
These are the debug logs/warnings/errors to be ignored in the current JMRSDK
Cannot destroy GameObject that is part of a prefab instance.
NullReferenceException: Object reference not set to an instance of an object JMRSDK.JMRCameraManager.OnEnable ()
Casting API instance is null UnityEngine.Debug:LogError (object) JMRSDK.JMRScreenCastManager:GetCastingState ()
RegisterCallback : Camera API is Null
UnityEngine.Debug:LogError (object)
Casting API instance is null
UnityEngine.Debug:LogError (object)
NullReferenceException: Object reference not set to an instance of an object ScreenCasting.ScreenCastHandler.b__52_0 (System.Boolean isConnected) (at Assets/JMRSDK/Screencast/ScreenCastHandler.cs:664) ScreenCasting.ScreenCastHandler+d__54.MoveNext () (at Assets/JMRSDK/Screencast/ScreenCastHandler.cs:722)
Note: Debug error 6 arises once every 3 seconds
When two or more primitives have very similar distances to the camera. This would cause them to have near-similar or identical values in the z-buffer, which keeps track of depth.
To fix that, physically move the objects further apart
Make sure that you have added the global listener to the gameobject if you want it to register input when the pointer is not focusing on the gameobject
To enable the Controller Input Actions APIs, you must add JMRInteraction Script to a GameObject in your scene.
Use this keybinding for triggering input in the unity editor.
Refer to this:
You can get the pointing source from JMRPointerManager. Refer to this:
Although the controller can remain connected when 'gaze and dwell' is enabled, only the home button works to switch the application to the MR Launcher screen.
None of the other buttons or actions are registered when 'Gaze and Dwell' is enabled.
Use this code to change the controller in application instructions
Refer to Skybox in AR devices
FOV is changed automatically according to the selected device.
However, if you want to update the FOV, you can do so after a few frames from the start of the JMRMixedReality prefab instance.
Use this code for specific device type to change FOV only for that device.
Hiding these errors:
Debug Error 2,3,4,5,6 are related to screen casting. If you want to hide these errors for development purposes, disable JMRCamera Manager.