How to balance both Oculus game Quality and Performance in Unity?
Hello Guys, I have been working on a car simulator for Oculus CV1 in Unity...Initially I gained 100+ FPS but image resolution was so weird and then I changed RenderScale to 2. It made my game look perfect but FPS went below 60 FPS (with Realtime Lighting and shadows enabled). When shadows get disabled FPS reaches 70 - 75..CPU usage in Profiler shows Rendering takes some extra time that cause FPS drop and I couldn't track GPU performance as there is a bug in Unity 5.5..3...So the question is how can I get sharp and crisp visual with req FPS? Hope I will get some solution here. FYI, Unity Settings I use : Unity Version : 5.5.3 (for some reasons I don't want to upgrade to 5.6) Color Space : Gamma Stereo Rendering Method : Multi-Pass AA : 2x Multi Sampling Anisotrophic Textures : Forced On VSync : Disabled Texture Quality : Full Res Rendering Path : Forward RenderScale : 2 (currently using) PC specs : Processor : Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz 4.00GHz RAM : 32GB Gfx : NVIDIA GeForce GTX 10703KViews0likes2CommentsHow to make the cursor in the center of the screen?
Hello everyone! I am developing an application in which I need to implement control using a gaze using a gaze cursor. I tried two implementations: 1) A cursor that slides over surfaces similar to the example from the ouclus integration package. I faced the problem that when using IPD tracking and cameras for each eye, it is noticeable how the cursor jumps from distant surfaces to near ones. This is due to the distance between the eyes, the change in the size of the cursor when switching between the near far surfaces is not noticeable only if you render one image per left and right eye. I need to preserve IPD tracking to create a VR effect, so this implementation is not suitable 2) I tried the implementation through a culling mask, when we create a separate camera that draws the cursor in the center of the screen and superimposes it on the image of other cameras. Here there was a problem of double cursor because when drawing the cursor relative to the central camera, this very center for the left and right cameras is located at different points Please suggest a suitable implementation or modification of the above Any help would be welcome :)1.2KViews0likes0CommentsOVR Lint marks diffuse and unlit mobile shaders as if they weren't single pass
Why is OVR Lint telling me "Please use materials with 2 or less passes" and listing materials that already have single pass shaders such as Unity's Mobile / Diffuse or Mobile / Unlit? Is this a bug in OVR Lint or should I be concerned about it? Looks like I just can't find any shaders at all that wouldn't be reported by OVR Lint as having more than 2 passes. I'm using Unity 5.5.3f, platform android (Gear VR).3.8KViews1like9CommentsGetting play area dimensions in Unity 5.4.0 not working
Calling OVRManager.boundary.GetDimensions(OVRBoundary.BoundaryType.PlayArea) or OVRManager.boundary.GetDimensions(OVRBoundary.BoundaryType.OuterBoundary) in Unity 5.4.0 always just returns a zero vector. OVRManager.boundary.GetConfigured() also returns false. We've tried this on multiple machines with the same result. This seems to have been fixed with later versions of Unity, we tried both 5.4.3 and 5.5.0 with success. Is there a workaround or some other way to get play area size in Unity 5.4.0? Steps to reproduce issue: - Create empty project in Unity 5.4.0f3 - Import Oculus utilites (tried on both 1.10.0 and 1.11.0) - Set up scene with OVRCameraRig, enable Virtual Reality support in Unity, etc. - Call OVRManager.boundary.GetDimensions in some script2.7KViews0likes9CommentsStuck at loading screen
Hello, Im developing a vr game. İt was working just fine. I have Buy a SSD and clean win10 at it. my program now just dont launch. I have try xr-plugin , manual OVRPlugin but not working. İf I enable any of them unity returns me "Unable to load OvrPlugin.dll" or a crash. İf I dont my game start at unity but stuck at loading screen on Rift S. I tried a new project with oculus integration packages "Room" scene but same thing happened. As you can see bellow there is "SDK v0.0..0" is this problem about it? how can ı install/update this. Unity v2020.2.0b14, Oculus Utilities v1.55.0, OVRPlugin v1.55.0, SDK v0.0.0. UnityEngine.Debug:Log (object) OVRManager:InitOVRManager () (at Assets/Oculus/VR/Scripts/OVRManager.cs:1246) OVRManager:Awake () (at Assets/Oculus/VR/Scripts/OVRManager.cs:1404)1.4KViews0likes0CommentsOculus Entitlement Check Fail from Oculus Library Launch?
Our submitted App VRBowling is visible in our Oculus App library tab. -- Unity v5.6.2f1, Oculus Utilities v1.15.0, OVRPlugin v1.14.1, SDK v1.16.0. -- Documentation says that entitlement check will pass if User can view the app from their library. This seems to be the case as it's visible. However when I launch the app from library I get Entitlement check fail. Also Entitlement Checks pass when in stand alone build (Unity 5.6.1f1 or 5.6.2f1) as well as working in Unity Editor Play mode in both versions with User Token. I have attached the Oculus Entitlement Check C# file we are using based on the Oculus / Unity Entitlement Check example code for reference here : using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.Events; using Oculus; using Oculus.Platform; public class OculusEntitlementCheck : MonoBehaviour { public string appID = "1078093085625410"; public GameObject extraNotice; public GameObject warningNotice; public GameObject enabler; // Use this for initialization void Start () { Oculus.Platform.Core.AsyncInitialize(appID); Oculus.Platform.Entitlements.IsUserEntitledToApplication().OnComplete(EntitlementCheckInit); } void Update(){ Oculus.Platform.Request.RunCallbacks(); } void EntitlementCheckInit(Message msg){ if (msg.IsError){ // User is NOT entitled. StartCoroutine(WaitForWarningShow(msg)); } else { // User IS entitled if(enabler!=null){ enabler.SetActive(true); } } } IEnumerator WaitForWarningShow(Message msg){ if(warningNotice!=null){ warningNotice.SetActive(true); } if(extraNotice!=null){ extraNotice.GetComponent<Text>().text = ""+msg; extraNotice.SetActive(true); } yield return new WaitForSeconds(30); NowQuit(); } void NowQuit(){ UnityEngine.Application.Quit(); } } However as Entitlement passes everywhere else except from a library launch it seems unlikely this is the cause of our issue. There's also a screen grab of the app appearing in the library. However as it seems to pass in Editor and Stand alone build and is also visible from the Oculus runtime app library, it seems unlikely that the C# code could be the issue as Entitlement check passes everywhere else. We have tried about 12 implementations with slight changes and variations to the above code but with no change in outcome. The problem seems to be launching the app from in the Oculus library when entitlement checks then seem to fail. At no other time. Also according to documentation Oculus Entitlement check should pass if the app is visible to the user from the library. As we can see the app from the library, entitlement checks should pass, it seems that the problem seems to only occur when launching the app from the library. not sure what the issue here is? When executing a local standalone or PIE the app loads straight away: We have submitted a few builds with tweaks to our environment set up and code for Entitlement Checks, but without yielding positive results so far. Rather than continuing to submit builds I thought it prudent to ask for support in this instance. Has anybody any idea why this is occurring for our builds launched only from the Oculus library? From what we have discerned if the app is visible to an Oculus user account in the library then that user will already have correct entitlement privileges, meaning entitlement check should pass from the library like it does in editor and stand alone builds. We have contacted submissions email reporting the issue in as much detail as supplied here and are awaiting response. In the meantime any insights/support/help anybody could give would be appreciated!2.7KViews0likes7CommentsGetting Touch Controller Velocity
Hello, I have been trying to implement everything from the character controller and grabbing objects using touch controllers from scratch. I have set up my player object such that when I want to rotate I rotate a parent object and not the camera itself since I have no access to it thanks to the way VR is implemented in Unity. Now I am getting my Velocity for my Controller like this OVRInput.GetLocalControllerVelocity(RightOrLeftController) and this works fine. But when I rotate camera and toss an object the physics works the opposite direction because I am guessing the controller velocity is relative (local) to parent object. How do I get Controller Velocity with respect to the world and not local to an object?3.2KViews0likes1Comment[Solved] Unity - Entitlement working but unable to retrieve AssetFiles
Hi ! My environment is the following : Unity v2017.3.1f1, Oculus Utilities v1.27.0, OVRPlugin v1.27.0, SDK v1.29.0, Oculus Go I've set up the Platform SDK. The Entitlement and the AsyncInitialize is working fine on the Editor with the OculusPlatformSettings configured with my Oculus account, but when I'm calling AssetFile.GetList().OnComplete(MyFunction), I'm never getting a callback to my "MyFunction" method. If I push it to my alpha channel, it seems to reach it properly, but then I have another issue : it doesn't find any asset file despite the fact that I can see them on the build details. I'm not sure what I'm doing wrong here ? Commands like Users.GetLoggedInUser() are working fine on the editor, but anything related to the AssetFiles doesn't seems to trigger any event on the editor. Thanks, also paging @imperativity :) Edit 1 : By doing more test I've noticed the following : - On the Oculus Go, If I launch the app for the first time after an update or the first instalation, AssetFile.GetList() return an empty array - If I launch the app at least a second time after an installation or an update, it does return all my Assets. That's really weird. Edit 2 : Additional information : I've tried upgrading to Unity 2017.4.9, still the exact same behavior. Edit 3 : I'm still experiencing both issues : - Unable to get the AssetFiles on the Editor (callback method never called) - Unable to get AssetFile on first launch after an install or an update I'm trying to go deeper in the process, here's what's working when I'm able to get the assetfiles : - I can loop my AssetFile list and get the one I want - I can download it, after it's downloaded, it's put on the following folder according to AssetFileDownloadResult : /storage/emulated/0/Android/obb/fr.InsideLearning.AQUIOThermes/myFile - I'm able to retrieve it using "UnityEngine.Networking.UnityWebRequest.GetAssetBundle" with the URI : "file:///storage/emulated/0/Android/obb/fr.InsideLearning.AQUIOThermes/myFile", I'm also downloading the .meta and .manifest file. However, when I'm trying to get the AssetBundle using DownloadHandlerAssetBundle.GetContent(), I'm getting the following error : "Failed to open file 'archive:/CAB-5aadb2fd12ba293da215f3179655470e/CAB-5aadb2fd12ba293da215f3179655470e.resource'. (No such file or directory)". Am I doing something wrong ? Is this the right way to read AssetBundle files generated using Unity and set as "DLC" on Oculus ? It's kind of driving me crazy, this is a critical piece of the app I'm creating for a customer. For information, I've set permissions to READ and WRITE to external storage. I really, really need your help, PS : Maybe that's related, but you say on the documentation that users can manually download DLC file outside the app, but I can't find a way to do it when I'm on the app main page on the Oculus go, or from my smartphone4.1KViews0likes14Comments