Custom Camera Permission config in Unity generated xcode project - unity3d

I have a Unity project that is kicking out an Xcode project for ARKit. It's a single scene project and uses Vuforia as the camera since I am performing some image recognition for AR - my questions are:
Is there a way to show a custom permissions view prior to showing the actual Apple permission? Such as this: https://github.com/IvanVorobei/RequestPermission
If Don't allow is hit on the camera permissions alert from Apple, Vuforia seems to its own screen indicating to the user they'll need to navigate to the settings app in order to enable the camera for the app after "Don't Allow" was selected. Is there a way to ditch this screen in place of my own?
In a normal Xcode project this wouldn't be an issue but I can't seem to locate where this would be done at since I don't see anything related to the Vuforia camera in the project.

When you create a Vuforia ARCamera it has the DefaultInitializationErrorHandler script attached. If you want a custom design for the error handler, copy the DefaultInitializationErrorHandler script, rename it and use it instead.

Related

Unity : project works in editor but black screen when build

I'm on a project using Unity 2019 LTS and some unity SDK / package:
Mapbox SDK
DreamWorld SDK (the SDK of my AR headset)
some other default AR packages (Foundation, Subsystem)
I would like to reused the Mapbox World-scale AR example in order to implement the possibility to move the scene according my AR headset position.
To do so, I removed the default main camera of the example (in AR Root) and added instead a the camera for my headset, as explained in the headset's docs (DW Developer Kit SDK).
Here are some pictures of what I've done:
No here's my problem: when I run the project in the editor with the player mode, all works perfectly fine and I see the camera rotation following the position of my AR headset.
Therefore, if I try to build the project, I cannot the see the "view" of the camera. I know that the project run because I still can see the overlay menu provides by the Mapbox World-scale example but not my camera.
Editor :
Build :
I searched online to find some solution to my issue but I only found some answer about building to Android and iPhone while I trying to build on my laptop.
The fact I see a black screen (and the overlay) seems to me that Unity cannot find a camera to show me the scene.
I just started using Unity, so it is possible that I missed an obvious thing but I don't know what.
If someone as any idea of what my problem is...
In case the suggestion from the comments with the In-Game logs does not work, you can check the external log file.
According to https://docs.unity3d.com/Manual/LogFiles.html
it is found under "C:\Users\YOUR_USERNAME\AppData\LocalLow\CompanyName\ProductName\Player.log"
CompanyName and ProductName are two names you can project somewhere in the unity project settings but there are default values.

I am trying to run a project based on gesture recognition and my iOS simulator says front camera not found

This is the image showing a simulator with a popup denoting a message
I am trying to run a swift project on Xcode Version 12.0 beta 5 (12A8189h). I am attaching the link from where I have downloaded the project. It is based on gesture recognition using Computer Vision. When I try to run the project a popup comes on the simulator mentioning that the front camera could not be found. What can I do further?
P.S. The link of the screenshot of the picture is attached.
Link of the screenshot - https://i.stack.imgur.com/fMZol.jpg
Link of the project - https://developer.apple.com/documentation/vision/detecting_hand_poses_with_vision
You have to use a real device for test your case
Make sure you set a value for the Privacy - Camera Usage Description key in your Info.plist file when requesting camera access.

Google VR SDK stuck in portrait mode

I've built the app and compiled it with VR enabled and cardboard selected as my VR device. I can install and run it on my phone (Samsung S8) BUT the in game camera is stuck in portrait mode and the yew is inverted (turning my head left turns the camera right). I have scoured the internet but still can't find a way to fix this.
I've enabled VR in playersettings and added google cardboard as my VR.
I've also disabled portrait views under orientation.
I've set the camera as both a child and parent object.
I've built the app with both cardboard and daydream selected as the VR (and each individually) but still the same issue.
I've tried forcing different higher levels of API requirement
I have added and removed GvrEditorEmulator from the project and the GvrControllerMain and no luck.
I've even flipped the camera manually by a 180 degrees and this made the view be in landscape but in this case the pitch was inverted (when I look up the camera looks down) and I haven't found a way to resolve this.
In the editor view the screen looks fine, but every time I run it on my Android phone it force starts in portrait mode and the pitch or yew is inverted.
Is there a hidden option I need to switch, does anybody have more suggestions that I could try?
You can see what the app looks like when I hold the phone i portrait mode on the link bellow (the image breaks when I try to add it to the post for some reason).
https://imgur.com/a/o80NRe4
Its worth mentioning that I'm working with Unity version 2019 2.0b2 because any other version I tried would not detect my installed Android SDK and would not let me build the project. I've tried on multiple machines and always had that problem so I'm afraid of attempting an upgrade to a newer version would break my build ability.
This seems to be a known and reported issue for Google VR SDK for unity. Its been reported on their github page.
The only possible fix is reverting back to Unity 2018.3.14f1. I did this by exporting my v2019 project, then creating a new 2018.3.14f1 version project and importing the original into it. This rebuilds the project and should avoid conflicts if you're lucky.

How to remove unity build-in loading screen in Facebook instant game?

I am working Facebook instant game using unity2017.2. I deployed build for Facebook and uploaded it on Facebook. Everything is fine but when instant game start there is unity loading bar appears which take 8,9 seconds even if you have just one scene with one button in your game. So how can i remove that build-in unity loading screen. Please help. Thanks
https://i.stack.imgur.com/0IodM.png
It is not possible to skip the whole loading screen. As mentioned in the comments you can modify your UnityLoader.js - you can find this script in the Build folder of your build.
To read the code I recommend this beautifier
I just opend my build and found the object Progress in line 1849. Perhaps you have a different version and it is at a different line. Search for Progress
Here you can see what Unity is doing. In the Progress.update they are updating the ProgressBar.
At all it is not easy to read.
The easy way to customize you loading screen is to replace the graphics under TemplateData - here you can copy your own pictures. The names have to be the same as the original filenames: (default is light)
progressLogo.Light.png
progressFull.Light.png
progressEmpty.Light.png
I think this could be a solution for you?
Yup, it's a little bit frustrating to see a logo for a long time. I've worked on Unity version 2018.31f, and there, it's easily removable if you are using Unity Pro.
To remove the logo in Unity Pro, open your Unity WebGL project, Go to File -> Build Settings -> Player settings. You'll see settings for WebGL and a Splash Image column in that window, as shown in this picture.
As you can see in Splash Image settings, show splash screen column is inaccessible for me to tick/untick. The same goes with Show Unity Logo. This is because I'm currently using a free version of Unity. But in the Unity Pro version, you can untick this option and make that Unity Logo screen hidden.
If you are using the Unity free version, ensure a minimum Logo Duration of 2-sec, at least in the accessible version of Unity.

When I install apk on android, one scene is black. How to fix it?

So, I made my game for Android device and I've got a menu, store, info scene and a main scene. The main scene is where I play the game. But when I hit start on the menu it loads the "MainScene" and all I can see is the GUI but nothing else. I can collect items but the scene is just black (except the GUI).
I tested out with a web player and everything was fine then changed to Android and after I installed it (several times) I looked at the black screen.
How to fix this?
(I'm using Unity 4.6.1)
Can't comment, not enough rep.
Anyway, there are lot of things that can cause a black screen to happen on Android. Here are a few to look at -
Be sure your camera is not getting deactivated (in your case maybe not).
Are you using any plugin that is using alpha channel or stencil buffer?
Any other plugin that may causing this, disable them to check.
Is your 24/32 bit buffer ticked/not on build settings?
Double check your camera settings, lighting.
Stripping level to disable and rendering path on build settings etc.
Check the game on another device.
Provide more info about the scene here
There's definitely something on that specific scene.