#š„½āvirtual-reality
1 messages Ā· Page 6 of 1
Hey everyone, I'm having a weird issue with my VR project. It works fine in game mode in Oculus Link, but when I make a build and open it with my Oculus Quest 2 it randomly freezes/crashes. The only error in logcat is:
[XRCMD][failure] [XR_ERROR_HANDLE_INVALID]: xrEndFrame(m_xrSession, &frameEndInfo), arvr/projects/integrations/OVRPlugin/Src/Util/CompositorOpenXR.cpp:3391 (arvr/projects/integrations/OVRPlugin/Src\Util/CompositorOpenXR.h:124)
[XR] Unable to submit Oculus frame
When I pause and unpause my headset everything goes back to normal
What could be causing the problem? Is there any way to debug it more thoroughly?
Any HTC vive users on? I need to ask some questions.
Ayo @storm ether . I just recently got unity working on an HTC vive I'm borrowing but I was wanting to learn how other people using the same HMD start a new project.
I started using a youtube guide explaining how to get teleporting working
this amazing person added the project for free so you can start off where he explains teleporting and import everything you need
You can download this Github project to follow along!
https://github.com/Fist-Full-of-Shrimp/Unity-VR-Basics-2022
There is also a written tutorial found here.
https://fistfullofshrimp.com/unity-vr-teleportation/
0:00 Intro
0:38 Scene Review
1:10 Setup Locomotion System
2:03 Teleporting Rays
3:30 Teleportation Areas and Anchors
6:28 Making Tele...
I'm new here on the discord and wanted to ask: When importing a photogrammetry scan into unity, how many poly's can unity handle. my model is an environment i recorded in the centre of amsterdam so i want to keep as much detail as possible without crashing the program. And which specs are most important in a rig to handle large environments?
That depends entirely on your target platform
oh sorry, i fotgot to mention. its PCVR š
I mean, i would love to do XR2 aswell, so if you can tell me how to find out such nuggets i'd love do do my own reseach hehe. I just though, this is the quickest way š
XR2 = the chip in both the oculus quest 2 and the pico 4
Oculus has a page for optimization with useful info. https://developer.oculus.com/documentation/native/pc/dg-performance-guidelines/
Obviously there is a huge difference in targeting XR2 vs PCVR
yeah, that why im making it easy on meself righht now
its not for mass market. just to show off to some people
For PCVR I don't think there's any number you can get for polygon count. Unity can handle what your computer can
kool beans. with an affinity to VRAM or something i should be mindfull of?
My current rig is an i5 12-gen 64 gb of quite slow ram and atm a 1070ti, which im gonna upgrade to a 4090 at a certain point.
That's gonna help yeah haha
or would a 3090 with equal vram get me a heap of poly's too?
yeah. i'm just trying to get to like 20-ish million poly's. and not having to switch to UE5 š
Honestly I don't how much more noticeable performance you can get out of a 4090 vs a 3090
right. i was wondering myself that. maybe not go for the bad boy in the room
thanks
I have a 3070 and I'm not sure if 20 million would be a problem
I'm looking towards nerfs anyway. i know it requires VRAM most of all, and im not that much into speed or gaming, although i'm still holing on to my start citizen dream
For processing scans and nerfs having a big VRAM will help a lot too
yeah and both the 3090 and the 4090 have the same amount right? 24gb usually
thanks for the link BTW
I set up a test with a scan and I got pretty stable 90 FPS on my 3070 here with 30 million polygons in the scene
Ok settling down at 80 now actually
sick. that must be plenty. ill look around for something with highj VRAM and a nice pricetag. THANKS!
it has been such a drag figuring out these settings as im coming from a 360-degree video background and am not starting to play around with PG and such. so i was going in blind
Good morning everyone. i recently bought a link cable for my quest 2. But i've noticed that the usb 3.0 ports don't work properly, in fact connecting the Quest 2 to the pc, they are read as 2.0. now i ask: does anyone know how to fix them?
try: typing device manager into the search bar, then expanding universal serial bus controllers (usb)
to make sure the ports are actually 3.0
if you have any it should say 3.0 or 3.10
I have this situation. Now from here how do I know which usb 3.0's are front panel?
that im not sure about
I have a total of 2 in the rear and 2 in the front panel. That would be the two AMD usb 3.1 and the two 3.0 root hubs.
you say if it's 3.1 it won't read 3.0 correctly?
3.1 is a higher version of 3.0 so they are pretty much the same i think
Hey. I start a new project with XR interaction toolkit and I imported the package through the package manager and also the sample scene, but in my memory the demo scene was much more complete than what I have.
Here is what i have :
Here is what a I expected (taken from google image, sorry for the bad angle, but we can see multiple areas and not only 2 like on my screen) :
@tacit quartz aren't there any extra samples in the package manager?
I've got a bit of a problem will colliders. I have glass vials that contain a LiquidContainer script that handles liquid functionality. Each glass vial has a liquid child and a PourPosition child. The PourPosition child is just a sphere collider around the lip of the vial so that I can detect when one vial is being poured into the other.
The problem is that I want to detect when PourPosition colliders on two different vials are colliding, but if I use a OnTriggerStay() function in my LiquidContainer script, it will use all the colliders on the glass vial (including the body of the vial).
Is there any way of getting OnTriggerStay() to only use that one specific collider and to detect one specific collider on another vial?
I don't find them. But I just found a GitHub with extra example. But its a complete unity project so the package is already included and incant easy merge the example scene and prefabs with my old project..
good evening guys. one question: when I read Bakes in the lighting, what is meant?
Save lighting data to textures so it doesn't have to calculate it in real time.
Google will answer this better
I'm making a VR game (targeting Quest) and I want the player to be able to import and use a full-body avatar from a 3D model, similar to VRChat or Bonelab. But I don't currently know where to start as far as giving the user a full-body avatar with IK, nor loading user-provided Unity assets at runtime. Can anyone recommend any decent tutorials for that, and/or a premade system on the Asset Store?
can anyone help me
https://dontasktoask.com @frank aspen
You could maybe use vroid for the avatars and Final IK for the inverse kinematics?
@north path i dont know about building/coding that well so i dont no what that is sorry.
I don't see anything called "vrdroid" that looks relevant; there's VRoid (https://vroid.com/en/studio) but that's a 3D modeling tool, not a system for loading already-made 3D models in a Unity game
Whats the issue? @frank aspen
i dont know about building/coding that well so i dont no what that is sorry.
Final IK looks good and it's half off right now; how do I know how long the sale will last for?
thanks
They have an open source realtime importer. That way you can load the files from a directory and use the same humanoid rig for them all
The sale will end soon, since it's the black friday sale. I'd get it since it's the most complete IK package from my experience
Yes
I've used it for an old project
thanks š
@north path so what can i do
just bought it
@north path sorry for asking but are you gonna help me
and i making a dodgeball game
Explain what you want. You just said you throw in-fame
so i basically want it so where when i throw it fast IRL i want it to be fast when i throw it in the game
And what does not work?
What tools do you use?
I think all vr tools have that
Some like VR IF even have a multiplier for throw speed
@north path what is vrif
Vr interaction framework
@north path so it a script
hey so I am working on a project with VRIF, and I'm trying to set up multiplayer with PUN. VRIF does come with it's own multiplayer scene that's kind of premade, but that wasn't working for me and a lot of assets were missing, and if you had over 2 people join at the same time, one player would crash
I was hoping someone could show me a video on how to set it up or a solution to my problem.
if the problem persists I'm planning on switching to AutoHands, but then I would need help setting multiplayer up with that as well...
Sounds like you'll hit this issue no matter what hands framework you try
The solution is painful debugging and learning how your net library works
Pun is pretty crusty these days better off with fusion
Or like all the other fishnet mirror or unity's new netcode stuff
true but idk how to use any of those things at all
I imported an avatar from VRoid using UniVRM and set up Oculus Quest hand tracking with the āHand Visualā script. But now my fingers are backwards like this, and when I move one of my fingers, it curls in the opposite direction. How do I fix this?
This is the Hand Visual setup.
When I don't have the Hand Visual there (just the Final IK VRIK script) then my hands are oriented correctly, so that isn't the problem.
All the "None (Transform)" ones are because the VRoid export didn't include those joints.
Also "Auto Map Joints" doesn't work even though the script is on the "Root" object of the imported VRM (i.e. the one called "Root", not the actual root of the prefab) which contains all the joints. It just sets everything to None, and annoyingly Undo didn't work for that.
Which is concerning, since I want to ultimately load VRM files at runtime.
@north path Hoping you don't mind me pinging you for this, but I suspect you might be able to help
this is very speicifc to oculus but does anybody know how to get it to refresh devices connected without requiring i close and open the project every time
its really frustrating in tandem with air link
Lol rip those hands
Sadly I am not sure how to fix this @full path
@full path That seems like a problem with the orientation of the rigged bones in the hand (from VRoid) and the script that calculates/updates the hand and fingers' orientation/positions. This should be fixable in that Hand Visual script of yours.
Man, I knew that I was entering a Rabbit Hole when I decided to recreate the Unity's XR setup in a more mobile-friendly system as I'm targeting standalone VR headsets like the Quest 1/2/Pro, but damn there's a lot to look at. Hahaha!
Since you can't modify the XR codes, but only override or inherit them, which means you got to keep both the good and the ugly from it, I decide to just create a copy of the whole set of XR codes/scripts and optimize it further as well as making it more Garbage Collector (GC) friendly. I'm not even 1/8 done yet and I have already saved about 2.5MB worth of data that normally has to be scrapped on a per-frame basic by the GC following really simple mobile optimization guidelines and replaced it for a semi-permanent use of approx. 132 KB in memory blocks that never really changes or grow.
Hand Visual isnāt my script; itās part of the Oculus SDK. And while I havenāt checked that specific file, another file from the same SDK had a comment saying it was under a license that doesnāt appear to permit modification.
Hi, i have a dude about something in vr, to make it easier to understand. You see in pokemon go, you can see the pokemon while using your camera to see the actual background and it's like the pokemon is there. It can be done in vr with unity? If you didn't understand me i send a image as example.
Please do send an image.
Do you mean object placement in AR passthrough on headsets like the quest (pro)? @balmy sierra
If so, definitely possible
not in vr, since what you're talking about is an ar feature
hey anyone free to help rn?
When I play a vibrations from right controller, the haptic goes to both controllers
OpenXRInput.SendHapticImpulse(mHaptic[hand], convertedValue, Time.deltaTime );
why does this play on left hand as well
update: fixed - needed to use last optional parameter
OpenXRInput.SendHapticImpulse(mHaptic[hand], convertedValue, Time.deltaTime, UnityEngine.InputSystem.XR.XRController.rightHand);
Anyone who is doing dev with an HTC vive headset I need to ask some questions. I've been running into issues setting up a project.
@full path I'm asking so I can learn..
I have a project I'm working on and I can get it working with the steamVR asset from unity asset store, but it loads in openVR on top on openXR. I'd just like to find out from someone who's also doing dev with an HTC vive if there is a better option.
well you could try not installing the steamvr asset
Yep, just openxr works solid for me on the vive
@full path The files which are under a license that doesn't permit modification are usually the files that check or access hardware-based data or OS related data. For example, the codes that allows the Oculus menu to pop-up or the codes that generate the low-level data for the various things the Oculus can do. Those codes usually may have some impact of the hardware or OS (or, at least, their functionalities), hence why they are protected by a license. The Hand script is, most likely, an interpreter script, meaning that it should be adaptable even under the license. If the file were truly under a license that doesn't allow you to modify it (and if the script is publicly available for development), that would make it impossible to use in many cases. On the other hand, if that script was part of some package targeting a specific VR app (like VR Chat) and it includes codes for network interpretation, then that could be a case where the script has a license that doesn't allow modification.
For example, if you were using the code provided in the Custom Hand sample scene from : https://developer.oculus.com/documentation/unity/unity-sf-customhands/
That code can be modified for adaptation for a different model or set of hands.
I don't know where, in the SDK, you got that script so I can only make guesses.
Sample app depicting how to add custom hand support in Unity.
To make something like Pokemon Go, you need to apply 2 kind of virtual concept: Augmented Reality which detects the real physical area and Virtual Reality which interpret the user's input in 3D space into a virtual world. That's called "Mixed Reality" or "MR" for short. This can be done in VR with Unity, but you need to understand the hardware configuration and limitation and also got to work on a workaround.
For example, the Quest 2 has multiple cameras around the headset to detect the real world (and it allows said headset to triangulate and translate your head and 2 controllers position and orientation in a 3D world). You would think that you should be able to use those cameras for MR, but the thing about those cameras is that they are relatively low resolution and have a IR filter which is why, when out of bound (guardian), the camera display the real world in a kind of black and white view full of statics. For such an headset, there's one possibility, but it has not yet been really publicly released: You got to develop a secondary camera system and use Unity to connect the Quest 2 to that external camera. You can use the headset's USB-C port (at least) to connect to the camera.
The Quest Pro would, on the other hand, allow it without any tinkering because it has 2 proper color cameras set on it especially for MR and you can access that feed too. Again, the problem at the moment is that the Quest Pro features additional are not yet fully documented for use in Unity. The MR documentation on the Oculus is kinda barebone at the moment.
its still augmented reality, since you're augmenting the video feed with virtual content. mixed reality is just another term for it
The official definition of Augmented Reality (AR) doesn't imply any interaction, but only a projection of visual elements onto a reality based view. It was first used to define the concept of an hologram.
Virtual Reality (VR) is the implementation of a viewer/user into another reality. Mixed Reality (MR) is the fusion of both technologies where you got the AR part which define a part of the defined reality and where VR define another part of the reality, including interaction, displayed to the user.
The only reason why people started to use AR instead of MR is because of lack of understanding on the concept by unprofessional publications.
even by that definition, its still AR. but i also have never seen any ar concept described without interaction
You have never read about AR in the early 2010's then. For example, the projection of an Horse viewable from any cellphone using a specific app in London?
It's all in the terms. "Augmented" reality only adds onto reality. "Virtual" Reality is about interacting with a virtual reality. "Mixed Reality" is where both world are mixed.
You're not wrong to think that MR is AR, but it's wrong to say that AR is MR.
by augmenting reality you are inherently interacting with the real world (usually through a camera). but even if we limit it to user interaction, pokemon go has no interplay between the physical and virtual world beyond the primary input device which is your gps
and if we define that as mixed reality, then everything is mixed reality, since your using a touchscreen to interact with virtual content displayed on a physical surface called a screen
Feel free to think what you like. We could go on and on and never agree.
I'm honestly surprised this discussion doesn't happen here more often š
well almost nobody uses the term mixed reality outside of microsoft with their mixed reality toolkit
it's a common term in presentations and marketing
sure, but its not like anyone trusts those people to get it right. At best you can assume they're talking about stuff going on inside an hmd when they mention vr
@tiny niche Appreciate the insight.. if just running openXR was working for me like it does for you and Dev Dunk I wouldn't be here trying to figure out why mine isn't working :-).
Also, could mixed reality not refer to a program that has PC and VR elements combined (Not a program that offers Desktop or VR interaction separately, but desktop and VR can interact at the same time.
those are usually referred to as asymmetric experiences
Acron is an example of that
Well that just looks entertaining.
Or I guess instead of asymmetric you could just simply refer to it as cross platform
It's asymmetric because the player experience is very different based on the platform, so it's more specific than that
no cross platform is what you get when you replicate the same product across multiple platforms. in this case you're having completely different types of experiences in the vr and phone end
asymmetric experiences also extends outside of vr. like early attempts to mix strategy games and first person shooters
hmm sounds like arguing semantics at that point, but I do understand what you're getting at.
terminology is all about the semantics and their implications
before we go off topic as I said before.. I have a few builds running just openXR that don't carry over to the headset. I was just hoping to follow someone else's first few steps of getting a project started to see what I might be overlooking.
there's a million things that could go wrong, so i would recommend following a tutorial for openxr exactly (match unity versions and every button press). and then you integrate your project into that, one step at a time and git diff often to ensure you know what's going on at the file level
this isn't one of those "this happened because you forgot x", there's a ton of things that could result in the same issue
fun times.. guess I'll keep trying to dig around then. I've gone through several tutorials already, but I wasn't sure I was getting what I needed since theres not really Vive tutorials that I've seen yet. Everything I'm finding is for Occulus and if there is there a Vive one.. its for unity 2018 and older.. should I be having to go back that far in versions just to get things to work?
Thank you though. That helps put what I'm dealing with into some perspective.
no you should be able to follow any openxr tutorial
openxr without the oculus sdk or steamvr sdk added on top that is
On a side note. Is the XR interaction tool kit as bad as some people have made it out to be?
i would say its probably worse
unless you're basically making a physics lab without hands or 2-handed interactions
for that part its great
So for a project that is just going to have a guided experience and a free flight experience it could be useful?
the main problem with it is it uses an inflexible setup of sockets/interactors and it isn't made to be extended for deeper interaction models. Probably because they tend to become more device specific
depends on what you want to do. but it sounds like you don't need an interaction sdk at all
"guided experience" doesn't really describe anything beyond you being instructed on what to do
sorry I'm bad with conveying meanings apparently. The project is an art piece interaction that you'll be able to fly around or have an on rails experience (so the artist can highlight and guide the viewer toward particular spots).
the sketchfab app already does this
oh? Can you import an openbrush project into it?
is that a tiltbrush spinoff? if so, yes
ah sketchfab is like selling stock photography? I think that's not what this person is going for.
well its for sharing/selling 3d content. Which is exactly what you described
Not sure its the same. It's 3d content yes... but none of them look like an interactive experience. It just looks like a 3d model asset store.
that's because you're looking at the store and not using the vr app
Sketchfab works in VR, but it's only a viewer. It's not interactive beyond hotspots you can jump between
Its neat, but I don't think that's what I'm looking for.
The Hand Visual script Iām using says this at the top:
/*
- Copyright (c) Meta Platforms, Inc. and affiliates.
- All rights reserved.
- Licensed under the Oculus SDK License Agreement (the "License");
- you may not use the Oculus SDK except in compliance with the License,
- which is provided at the time of installation or download, or which
- otherwise accompanies this software in either electronic or hard copy form.
- You may obtain a copy of the License at
- https://developer.oculus.com/licenses/oculussdk/
- Unless required by applicable law or agreed to in writing, the Oculus SDK
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
*/
Iāll take a look at the Custom Hand thing; thank you. One thing I noticed though is that the mesh Iām trying to use has all of its bones pointing in the same direction. This would explain why they werenāt moving correctly, but Iām not sure how to fix it. This is a VRM exported from VRoid though, so I can only imagine itās designed to be usable with this type of thing.
I did manage to write my own script to replace Hand Visual, which lets me invert the rotation of specific joints, but I still donāt have the thumb appearing correctly, because itās not pointing in the same direction as its bones. Iām sure I could hard code the rotation, but I want users to be able to load any VRM they want, and that sounds like something that would break compatibility with a lot of them.
Actually, looking at it again, it's only the thumb bones that are pointing in the wrong direction. That's still a problem though because I want the thumb to look correct.
I just checked the Custom Hand example, but that isn't what I'm looking for because it uses controllers, not hand tracking.
Greetings I'm using SRP. I'm using a 'Projector' component. Its using Projector/Multiply shader, but it only displays on the left eye in HMD. Suggestions on how to modify the shader to display on both eyes?
here is the shader file
i think i just figured it out. needed to change from single plass to multipass
that rig looks busted. i doubt that's the intended bind pose
@crude frost
what unity and urp versions?
Is the vr project on single pass instanced/multiview or multi pass?
Does it also happen with default shaders?
Yeah, I'm starting to realize that.
It's exported from VRoid though so I guess VRoid has a bug?
maybe, but its just as likely that you forgot to export animations, or you didn't import them
I'm not using pre-made animations
I'm using Final IK for the body and VR tracking data for the fingers
you still need animations exported to get the bind pose for the rig
Where is the option to do that in VRoid?
hello, I am having a problem with debugging with the oculus quest 2 using the quest link cable
I am using the official one
its verified as USB 3, other programs work properly, but unity is just a slug, at like 4 FPS, also it doesn't detect the controllers
Hi, I'm trying out the unity vr learn pathway and I keep having failed builds. Unity version is 2021.3.14f1. Thanks
How is your project setup?
OpenXR? XR Interaction Toolkit? Which unity version?
What does the profiler say about performance?
Set minimum api level to 23 or higher
Hi guys, How would I code a line where: when the player hits the trigger button (on the vr controller), and that's within a gameobject's collider, then turn on that meshrenderer?
do anybody have a tutorial for how to make a grabbable object-
I have my VR hands set to hide on select; when I deselect a grabbable, the hands spawn in and collide with the grabbable, knocking them over - anyone have a solution to this?
Ideally I'd like to keep physics interactions between hands and dynamic objects
Still can't
- In untiy hub, is the android module with both submodules installed?
- In preferences - external tools, are the sdk/ndk/jdk boxes checked to use the version included with unity?
- Does it happen in a blank project if the previous 2 wasn't it?
Follow any tutorial on unity learn - vr pathway
Or maybe check out Justin P on youtube
i already did it. My stupid mistake was that i just didnt notice that i didnt add any collider...
Google unity check if point is inside another collider
Maybe add a delay for spawning, ignore the collision (physics.ignoreCollision) for a bit, check (search term is above this) if the hands are inside of the object and while they are don't spawn the hands in yet
hey can u help me
I'm not going to write out the full code for you, if you have any issues feel free to ping me
it wasnt abt the code but i fixed my issue already
thanks
How did you fix it?
i had a problems with colliders but i just didnt set one
Anyone here got experience with remapping keybindings on VR devices?
Whenever I call PerformInteractiveRebinding in VR I get spamming "If EnumerateControls() returns a control, GetStatePtrFromStateEvent should not return null for it" asserts.
My second issue is that whenever I start this interactive rebinding process it assigns "controlleristracked [LeftHand Oculus Touch Controller (OpenXR)]" or some other button touched binding. I'd like to filter this to only accept presses like PrimaryButtonPressed or triggerPressed.
I've been reading into the docs and am currently convinced "WithExpectedControlType(Type)" is what I need but I can't seem to figure out how to use it for what I'm trying to do here... Any help would be massively appreciated!
use the new action system
I am
I'm talking about remapping while in-game using InputActionRebindingExtensions
Turns out I had a problem with the keystone. Thanks Dev
So I'm making a rope simulation which uses a series of rigidbodies connected with Configurable Joints. The rope is mostly stable but it would detach and re-attach when interacting with another rigidbody like this. How do I make sure the rope doesn't detach?
I've attached the Configurable Joint's setup in the screenshots. If needed, I can provide the equivalent TOML.
it's not going to be easy to make a CJ rope so stable; you're going to need to make the rope links much stronger than the strength of the hand's influence on the rope
one place to start could be increasing the inertiaTensor of the rope links (to around something like (1,1,1) )
I should also add that your joint is configured rather strangely
eg : you're effectively negating the utility of the limit springs by setting them to 0.1 values
for a rope you would generally want the angular limits set to free, with the linear springs set to locked or limited
but in that case, if you put a value into the limit spring drives, then it will override the normal case where it tries to apply as much force as necessary to keep the joint together
I see. These are taken from the configuration provided here: https://forums.tigsource.com/index.php?topic=64389.msg1389271#msg1389271
Profundum - Steampunk virtual reality adventure puzzle game
Hi there, I have some XR Socket interactors and I need some help.
Right now I have an empty game object that is called ElectricalCircuit.
I have it set up in a way that through the interaction toolkit I am able to use tags to for example only make the brown cable connect to the socket left of the switch.
Is there a way for me to put a script on my ElectricalCircuit empty game object that will check whether a brown cable anchor (white ball) is connected to the socket? If so, then be able for me to switch the spotlight on and off? because right now the switch works, the only thing i want added is the cables to work and provide "power"
My code for now:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.XR.Interaction.Toolkit;
public class ElectricalCircuit : MonoBehaviour
{
[SerializeField] private GameObject BrownAnchor1;
[SerializeField] private GameObject BrownAnchor2;
[SerializeField] private Collider switchNegCol;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
private void OnTriggerEnter(Collider other)
{
if (other.CompareTag("BrownAnchor"))
{
Debug.Log("Good Connection");
}
else if (other.CompareTag("BlueAnchor"))
{
Debug.Log("Bad Connection");
}
}
}
I was hoping that I could just simply say. If brown anchor makes a good connection. Turn power on in the system, and allow the spotlight to be turned on by the switch (which it already does now whether it has power or not)
Sooo the thing you want to do is delegate an OnTrigger Event?
Because supposedly you want to use the OnTrigger event for the brown ball to check it, but you don't want to handle the proces of that code within that script
Hence likely just wanting to delegate it off to another script
Because it is not possible to tell the code I want the OnTrigger from object A whilst this code is being run from object B (AFAIK, but I'm pretty convinced)
So object A would still have a script, that'd invoke an event, which that event you use on object B
If you need many of these delegations for these OnTriggers, you can use inheritence to make your life easier
You can use the same event for all of them, and just make sure you parse some sort of key when it is invoked
(I'd use an enum for it probably)
I will look into this, thanks for the information!
If you give me a code example I can help you
Like how you'd want to have it
So the script where you need it
And the script that's on the object if there's one
I currently don't have acces anymore to my laptop cause I am not on internship anymore but I got a little further with what I wanted. I will write in here tomorrow if I need any help with a new situation. Thanks anyways in advance for thr help and advice
Sure just @ me if you want tomorrow (you can also ping me if Iām offline)
Otherwise maybe make a thread for it so the details and stuff don't get buried
Good tip! Will do š
Hello! I need some help regarding oculusXR. Iāve been able to build an apk and test my project on my quest 2, and it ran perfectly. However, for some reason, it doesnāt let me build it now. These are the errors.
I donāt understand why it shows that, I have checked Oculus for android in XR plug in management, thatās the solution I've been given before and it worked. I have even checked OpenXR but it just says the same thing.
Iām frustrated and I feel really stupid because it seems so simple. (Iām kind of new to unity)
Hopefully someone can help me
Is it preferable to use the XR Interaction Toolkit or Oculus Integration SDK to create a VR simulation?
XR IT is better cross platform (and less bloated)
I personally use VR Interaction Framework.
A good free alternative is Ultimate XR
@cinder beacon do what the error reads. Enable OpenXR mode in the oculus dropdown
Hello everyone,
I'm building an app that 2 person with 2 headset could manage the same virtual object in mixed reality with passthrough and the 2 person are local so the object have to be align and in the right place in real world.
The main issue I have right now is that I need the object be in same position referred to the real world because the user are in the same real room in passhtrough.
I thought to use Spatial Anchor but I have to do that sharable trough device, it could be possible? Someone have tips or my way to think it's completely wrong?
Hey, I want my sockets to only select an object when it is being selected already by the player (ie. player inserts the object into the socket, it can't just "fall in" by itself)
How could I implement this? I assume I can override some function but not sure what that would look like
public class SocketMonitor : MonoBehaviour
{
[SerializeField] XRSocketInteractor socket;
[SerializeField] XRGrabInteractable interactable;
[SerializeField] XRDirectInteractor controller;
private bool objectHoveringSocket = false;
private void Start()
{
socket.socketActive = false;
interactable.selectEntered.AddListener(onSelectEnter);
interactable.hoverEntered.AddListener(onHoverEnter);
interactable.selectExited.AddListener(onSelectExit);
}
private void onSelectEnter(SelectEnterEventArgs args)
{
if (args.interactorObject == controller)
{
socket.socketActive = true;
}
}
private void onHoverEnter(HoverEnterEventArgs args)
{
if (args.interactorObject == socket)
{
objectHoveringSocket = true;
}
}
private void onSelectExit(SelectExitEventArgs args)
{
if (args.interactorObject == controller && !objectHoveringSocket)
{
socket.socketActive = false;
}
}
}
This is how I've tried to implement it so far ^
I did enable it but it shows the same error š¦
In the drop-down? Not in xr management?
It's not the place you screenshotted
oh, no I didnāt š where is the drop-down?
oooh hahah! yes!! it worked, im so dumb lol. Thank you so so much
I need some wisdom.
I have a "Talking Head" avatar of a player walking around scene.
But, in a popup menu interface, I want that same "Talking Head" avatar. As the player owner speaks, I want to keep the same lip sync animations.
Is there a way I can duplicate the object, but have the original still control the mouth movement?
anyone know how i can make my vr game 64 bits instead of 34?
Most folks just use another camera and project it on a UI, but if you have one talking head object you can just mirror the blendshapes, bones etc to a copy pretty painlessly.
The how depends on how the talking head works and what you want to copy over. But it should all be accessible if you want to do that
The default platform support is already both 64bit and 32bit.
Whenever I try to upload my game to app lab it keeps saying that my game is not 64 bits @buoyant jolt
In project settings - player settings - android - others, enable IL2CPP and check 64bit as well @upbeat kelp
ive done that but when i try to publish it comes up with this
Do you mean build?
Make sure you are on the latest lts and use the sdk/ndk/jdk from unity hub
Hello š I am in need of some help. I'm making a virtual experience using a 360 video. I added the video to a sphere and flipped the normals. The problem is that you can still see the 'default ground' as shown in (picture 1 game view). I thought about using a cube, but then there would be edges.
Another problem is that there is a part where the video shows a line in the sphere (picture 2 - game view). The view doesn't flow properly as if it was cut, but the original video is fine. Am I supposed to make more adjustments, so it doesn't have that cut like scale it? I'm not familiar with this, so I'm kind of at a loss. Any help would be appreciated.
I think the size of your render texture may be something you want to look at. I'm struggling with some 360 videos too. seems like none of them want to react the same.
ā In my 2021.3.1f1 project, I used to be able to use mouse click to interact with buttons on XR Cavases. But now I can't. I can't seem to figure out why I can't anymore. What did i break?
ā In my 2021 3 1f1 project I used to be
you can connect it via airlink or link cable
I tried it but it lagged hard and wouldnt let me playtest it
tried what
airlink or link cable?
airlink
then do it via link cable, it should be as simple as connect your headset to the PC via the link cable, pop up the oculus app and it should work
any tutorials to use?
if its not working chances are something could also be up with your unity project
https://www.youtube.com/watch?v=JyxbA2bm7os @slender belfry
Hey all, I hope you enjoy this short tutorial on how to get started in VR development for the Oculus Quest 1/2 using Unity and a windows based or Apple mac machine.
This is suited to a beginner interested in VR game development for the Oculus Quest or training and simulation designers.
Oculus Quest and Unity VR development frameworks are mov...
does anyone know why meta quest 2 games might lag when exiting standby mode (for around 30 seconds usually, or longer), and why that lag might also be fixed by opening and closing the oculus menu?
Haven't encountered this before. What oculus xr plugin or oculus integration version are you on?
pleaseee
Question > ------Voices in 3D Space/Sound Vacuums------- I have been attempting to create areas where VRC voices can be heard with 3D sound, but on the outside of the bounds of the area, the voices sounds volume immediately drops off to 0 decibels. In other words, create an accurate vacuum outside of a structure where sound cannot be heard, while on the inside the 3D sound dynamics remain standard, or at least close to. ------------ I've tried a few paths so far using Udon Graphs, as shown in the images: using one method by VRC's Example Source, and one by a video I had found > https://youtu.be/4QoEZEVDr7w . They both get close to achieving the effect, but they really only create a sort of muffler on the voices. And as for External Assets that I have come across, they showcase relatively the same effect. -------- I suppose a potential fix could be setting up a graph or code that starts with > all players default set to mute and/or deafen voices > box collider that reads the players unique ID's when they enter it > allow each of the players to be able to speak and hear their own/others corresponding Voices. . <If you feel like thats potentially possible, id love to hear/see ideas leading to a better solution, thanks (side note - I'm not familiar with CScript) (and if there is another channel that this question is better off in, please direct which one that might be)
ąøąø£ąø±ąøą¹ąøŖąøµąø¢ąø Player ą¹ąø”ąø·ą¹ąøą¹ąøą¹ąø²ąøąø·ą¹ąøąøąøµą¹ ąøąø³ąøąø²ąøą¹ąøąø¢ Event OnPlayerTriggerEnter
If discord has no answer ask on the forums
@north path i have confirmed the problem exists in at least the 2022 and 2023 versions of unity (not sure what oculus versions they would be, gotta check)
I cant get the bug to appear in a build from unity 2020, which afaik uses a much earlier version, so i do suspect its related to the oculus package
Going to test unity 2021 soon as well
Id say make a bug repoet in a repro project.
2021 lts should be fully stabe @quartz slate
made a bug report on the oculus forums already (no project), but i'll add some info
@north path for whatever reason, the demo scene I am using pushes the Quest 2 GPU to 97-98% in 2021
interestingly, my 2020 version goes up to 60-70 ish
but my 2022 and 2023 versions are around 45-55%
might be related to upgrading and downgrading between unity and urp versions...
2021.3.14 has some performance improvements.
And make sure stuff like SSAO is disabled
Downgrading URP can also give issues yeah.. upgrading is relatively safe for most projects
I snagged 3.15 for the test assuming 14's changes were still in
I might try removing and reinstalling urp and its dependents
Rarher than just "downgrading"
i think i found at least one artifact of downgrading here :
nothing i could think to do fixed the 98% gp usage in 2021.3.14, so going to retry downgrading from a different and working 2022 version once more EDIT: fixed it by removing a particular lit shader
the cause of the GPU usage seems to be a lit shader that snuck into the scene (had marginal effect on 2020, 2022 and 2023 versions)
but as far as 2021.3.15 goes, it suffers from the same frame stutter that is caused whe exiting standby mode, or frequently at the start of a game
2020 is the only year i could not repro it on
@quartz slate could you make a bug report for that?
They're trying to fix the quest performance issues, but don't have the projects to find the issues
And preferably with projects in all unity versiona
is there a way building the application for oculus and trying in phone
Do anyone have problems with quest2 latest update (v47)? I can't make the device appear anymore with "adb devices". It was working a few days ago, the only difference I see is that the quest updated to v47
Did you manage to fix your problem?
(Also did you ever get an answer to this? I'm curious :p #archived-code-general message)
Hahahaha no I never got the answer, I send an email and they completely ignored the question, only responded to a few others HAHA
And yes!!! I decided to make 2 script. One for the negative socket and one for the positive. I just give them a gameobject to look for and drag the corresponding white ball in that. Once both negative and positive are connected I set power to true and it all works! Thanks for the tips again!
Awh bummer, was the lesson given online then? Iād just approach the teacher irl and ask him/her, but that might just be my audacity XD
On the latter part: out of curiosity, do you use inheritance for it?
Yea we are currently doing internships so I basically get class again in february. I just send an email cause next week we have a meeting. Might be able to ask them then š
And I don't think so. I do use a general script to call the funtions from the others to turn the power on if all cables are connected but I doubt that's what you mean
Iād love it if you do, Iām honestly still curious as for their argument :p
Perhaps you could inherit that script, but Iād need to context to see if thatās what youād want. My point more is since youāve a negative and positive polarity, they probably share some of the same members so if you were to just have a script named Polarity with those members in it, you could just do:
Negative : Polarity and Positive : Polarity
If that makes any sense
Again though I donāt know the exact context because I donāt know the code, but itās probably quite likely you could use inheritance here to improve it and omit duplicate code
Itās not necessary but if itās fits the context, itās also be a good way to learn a bit of inheritance
That actually makes sense. Because right now I have 7 scripts. One for the circuit in general. And 6 for positive and negative polarity check for the blue, black and brown wires. For my internship I do have a timeframe to limit myself to so idk if I will be able to implement this rn. But I have written this tip down because it could clear a lot of code for me, thank!
From the sound of that you can likely rework it quite a bit
I recon you can get it down to 3/4 scripts max
It does depend how much youāre handling in each script though
negative and positive polarity, polarity script and circuit in general basically
Having more scripts rather than few is good, but it might be unnecessary in this case
yea I am not handling much at all, just checking collision for 1 game object and turning a bool on and of on triggerenter and exit
Youāre using bools instead of delegates then?
I donāt blame you though, delegates are a bit complicated to wrap your head around at first
Yea I had the problem that once one ball was connected the power would turn on. So right now for the brown wire for example I have a bool that sais that if brown negative is connected, turn on brownpower1. Then in the positivebrown script I check for brownpower2. Then in the circuit script I check if BrownScriptNeg.brownpower1 && BrownScriptPos.brownpower2 then turn powerbrown on. and if power brown, blue and black are all on then i can turn on the light
So only if all the dots are connected, only then I can turn the light on basically
Never heard of delegates before so i will write it down for now!
@north path i did make a post about it on the meta forums. Once i conclude for sure that its not unique to my hmd (maybe its defective), then ill probably make a bug report through unity
I have had reports from others of a similar issue, but not from my apk's
Did point out delegates heh
Basically as soon as an OnTrigger happens you delegate that to another script, which in your case would check of what ball is connected
(@tender zephyr)
This also means you won't have to run it in an Update
Ahhhh that's quite an interesting concept! I will keep this in mind for future situations where I will need this. That's such an efficient solution!
Yeah that's why I recommended it in the first place, as that'd probably be the most effective solution to your problem :P
Tho to be fair, that was a wall of text so it's not surprising you missed it heh
Hahahah yeaaa I kinda did! But it works now and it's for a simple visualization for electrician student so this will do for now, but just in case I need to make more complex circuits i will keep this in mind
If you require a more complex circuit a rework from the ground up will most definitely be needed
At least if you don't want to torture yourself heh
Not sure what stuff you need to do for your internship, but things like these are a great oppertunity to write reflections and such if that's required for your internship
Or if you need provide evidence for what you've done or a TMC (Think Make Check) cycle if that's required over there
It really depends how much you need to document, but for my internship these things are quite useful cuz I've have to adhere to a lot of rules of documenting my progress in the internship :p
And even if it isnāt required, if youāve the time, Iād just do it to learn :)
That''s a really good tip tho! My internship right now basically only makes us do 1200 hours of being there and working on their stuff. My internship boss is very lenient so he just signs all the papers he has to and doesn't care about what I do. He just needs the product to be finished (VR introduction for visualisation of like things students strugle with in his school. Like seeing electricity flow) And yes I will be writing this down cause who know maybe next year I do meet a new boss who actualkly wants me to document everything so this should be good practise
Awesome tips
Ah I suppose your school is just less strict with all the things youāve to hand in, weāve to hand in an entire research paper as well as like a portfolio with 6 of the competencies you need all argumenten and provided evidence etc
Notably my internship is only 800 hours instead of 1200, which is interesting
Donāt be afraid to rework something though, you can learn a lot from it :p
Ahhh yes I have heard about that. The only thing we have to hand in is like a logbook every week with what u did each day. Then at the end u need to write a paper about ur internship, what u learned and what you would different next time, that's it
Ah so a logbook and a reflection, I see
yours is probably just a thinly veiled excuse for making you prep towards a doctors or masters continuation, while maintaining industry relations
Currently doing a bachelor, and this is the first internship, which for me is in the 3rd year
Ahh yea mine is not a bachelor by far, it's a bit lower. It's like the one that prepares u for university
Im in my third year as well, also first internship
yea, around here its basically "practice research work at a company and call it an internship" which is mainly aimed at making people continue on the academic side beyond their degree
I actually got denied for an internship purely because I couldnāt put in as much work hours because Iāve to work on that research paper
yea doing the paper usually takes up 80% of the time or more
Well the paper weāve to write is about 10 pages, which I think was a total of 56 hours or so?
Estimation by my mentor
So itās not as much
that sounds low, or perhaps you guys don't have all the ceremony around getting the paper approved to deal with
Well it still has to be approved, and if it isnāt good enough youāre pretty fucked, but itās just not that large of a task so you can actually still provide work to the company
Also 100 days is not a lot
~5 months
the ones i mentor has to participate in multiple peer reviews, hold a presentation and defend their thesis
Is this University?
we don't have colleges over here though
āAmsterdam University of Applied Sciencesā
The applied part makes it not an actually University University kek
hah, yea you might actually do some useful science by accident at one of those š
Haha

@quartz slate
The unity forums aren't monitored, so a bug report is the only way to guarantee that the team sees it
I am making a vr game, but the character controller wont follow my character, anyway to lock the position of the character controller to the main cameras position? I just started coding so I don't know (ping me with some code if you have some)
its not that simple. you have to decide on how your real world movement should affect the virtual representation
if you take a step on where you orginally were when you started, the character controller stays there, I want to know how to get th character controller to succesfully stay working in update, but it doesnt work like that, I want to knowhow to rearrage the code that updates that small part
you're not describing how you want to eliminate the delta that the real world movement created. Without that, you're basically saying "i just want it to work the way i imagine it should"
which is tough to implement
ill summarize it - make an object stick to the camera with simple code
more simple - forever teleport
that implements an error
no it should still build just fine
didnt work
then you must be doing something different than parenting a game object
im do some configuring with that idea because that originally didnt work
well it should work, just not the way you probably want it to
you have to think of the system as a whole when adding features to it. You can't just add position tracking to locomotion without defining how it should work and how it impacts the game as a whole
Hello, Roomba. How you feeling?
Assuming you are actually using a unity-based character controller and OpenXR - and not some other system. (I didn't see you give this info so I have to guess)
It uses and forces physics (gravity etc) where the VR camera does not (so people don't throw up).
You either need to override the base physics of the character controller (in which case, why use one) and parent it within the XR Rig. Or parent the XR Rig (carefully) to the character controller (and risk the nausea).
In the second case you may need to override the XR Rig height local position to 0 so it follows the character controller. But keep in mind a base XR Rig uses room space - so your center will be off. In which case you may also want to recenter based on the X/Z of the camera as well.
thanks
Hi 
I'm preparing some animated models that are going to be in a VR app and I'm wondering about the framerate of the keyframes. Are 30 frames per second fine for animation or 60/90 are the target? (Talking about FBX export)
No crazy movements in the scene, just a bed lifting up and down but I wonder if higher frame rate of animation is preferred in VR
normally you have interpolated animations, so you only keep the keyframes and skip the intermediates
its just fundamentally different from classic 2d animation
I see! So it's best if I provide a clean animation track and Unity will interpret it just fine, no need to bake the keyframes
I strongly disagree, unless you meant traditional animation š
yea, no need to bake the animation, since for simple cases the keyframes are all you need
Sweet, thank you very much! 
strictly speaking though. once its baked, the frames are no longer keyframes
I'm not sure if we are on the same page as I'm not a game dev and never used Unity - there might be differences between our workflows and naming. I referred to baking the animation to individual keyframes, so just like you said - it's no longer interpolated and driven by two simple keyframes, but rather filled with intermediate keyframes spaced evenly each frame. I think the same applies to point-level-animation (software specific term, not sure about the proper one) or 2D animation in for example After Effects
Quick example:
Keeping the keyframes instead of baking also greatly reduces the file size of your models
and ram consumption
@quartz slate you mentioned changing the inertiaTensor earlier, but I can't find that exact field on the CJ, is it on the Rigidbody?
@storm ether Yea that's a field on the rigidbody; it will essentially make the bodies harder to move around (as if they had more mass), but importantly in this case it will make it so that they're not so easy to move around (and therefore less stable in certain cases)
Ah, the inertia tensor is the property which is multiplied with angular acceleration, and which yields the torque assuming the body is a point-like mass.
How will I change the inertia tensor? From inside some script?
I can also see that my rope can be easily untangled by pulling with enough force.
In newer unity versions you can do iy from the component, but yes from script
Yea its just a hard math problem more or less
It already is more than 1 in this case on all axes?
Ths joint solvet struggles so you need to tweak in varuous ways
The solver was indeed unable to undo my knot when the segments were larger in scale.
You can factor it up but it looks possibly good as is
The final few properties basically say that they abstract both masses to be the same using a scale factor.
No I need my segments smaller, or I won't be able to make different kinds of knots.
i mean factor up the inertia tensor
it will change the properties of the rope, but i cant guarantee that it wont have undesirable results
depending on how the joints are still configured, it might be counter productive
i can make an example rope and show you the config i would try
one moment
Just changing the mass influences the inertia tensor as I can see.
yep; inertia tensors are decided from mass and shape
(colliders)
happens automatically normally
think of a bar of gold vs a block of wood
trying to push the gold bar would take more force to move it
or to accelerate it
that's what inertia tensors are for
more or less
Yeah, that's usually how it should be working -- it's some function of mass and the effective radius of gyration.
the CJ's seem to take inertiaTensors into account in peculiar ways
upping the inertia tensor relatively strengthens the joint
I get the highest possible Inertia tensor at 0.5kg mass. Mysteriously, the value drops a lot after that.
odd; the inertia should keep scaling with mass
unless i have woefully misunderstood something
It also didn't affect the rope detaching all that much sadly.
I tried changing the rope to use free constraints on the angular axes but that made the rope a bit more finicky.
I somehow need to prevent the rope from easily disentangling itself.
what is the unity scale of one of your rope segments?
The inertia tensor property at this point isn't even changing, so I am leaving it as it is.
@quartz slate
The configuration I was using originally came from a 2019 Steam VR game made in Unity. They were apparently able to get a stable rope simulation using it.
My interest is in recording different configurations of the rope with knots, and training an AI model on the recorded data. Then, I use the trained model in-game to identify knots.
can you expand these numbers more?
i suspect they're actually very very low
using exponent notation
part of the issue is that the rope scale is pretty tiny as far as unity goes, so making things stable can be difficult. The approach that your source took was to set hard limits on the amount of force the joints can apply even in cases where their anchors are too far apart
this is part of why the links separate so easily given the amount of force you're applying
you could try making your hands weaker (whatever acts on the rope), but ultimately there are many different ways to configure the joints in ways that can work
so the shape of your links are going to play a big role in overall stability; the shape of these links is fairly oblong (i would go for more round capsules) which would result in a more sane inertia tensor
this also means it takes more joints to get a rope of the same length (or you need to make it thicker), but it's one of the many tradeoffs that can be made for strength or stability
this is a rope using the collider shape you provided, although the implementation you're using might compress itself a bit more by overlapping the colliders more
when i pull it apart, you can see the sort of instability that will become apparent due to extreme forces that try to resolve the separation
as long as you dont apply extreme forces to this sort of rope, it will remain stable and inseparable much more than the version you have
I would also add that smaller links might rrsult in better data for the ai you train
Ah, that might be possible xD
A sequence of joint relative rotations (how each link is rotated compared to its anchor) should contain the info you want to recognize
Yeah, I am not sure how to reduce the interaction strength of the Oculus VR hands in this case.
Im.guessing theyre kinematic
Which might be the root issue
They apply infinite force
I had tried using spheres earlier but that representation couldn't even form knots in the first place.
Yea how the colliders overlap is an issue
Yes, they probably aren't set to use Physical interactions in this case.
And you may need to make near neighbors be hnable to collide if there is too much overlap
I basically make the capsules overlap slightly. I also turned off the collider interactions in the CJ for making it relatively knot-friendly. Without that, the segments would slide even more, and that wouldn't do.
yea disabling collisions in the CJ is definitely required
but you might also need to make them not collide with the next links too
(depending on the amount of overlap)
there is a way to use capsule colliders overlapped signigifantly to get the best possible rope, and you need to use that tweak to make it work
ill make it and show you the gist
Okay, good news and bad news. The bad news is to get an inertia tensor close to 1, 0.1, and 1, the mass has to be a whopping 5500. The good news is that the Oculus VR hands aren't kinematic in this case, since they couldn't move the insanely heavy rope.
ok, then try setting the ienrtiaTensor in script instead of modifying the mass
Yeah, let's try that.
you can also use a trick to get more collisions ignored if necessary (get the rigidbody that each joint component is anchored to (it's "connectedBody"), and then get the joint on that connected body, and then ignore collisions between the first rb, and that second connected body
i.e: ignore collisions with any connectedBody's connectedBody
have to use the collision.ignore command individually in this case i reckon
No, it creates a highly unstable simulation which just starts moving on its own. Not ideal.
this is going to depend on a lot of things though, so dont assume that it's the inertia modification alone
(eg, collisions, drive settings, etc...)
I don't think that's necessary, the collisions are ignored anyway.
only collisions between immediate links
The main problem I'm seeing so far is that the hands can impart a significant force which can detach the rope segments.
lets say your colliders look something like this
due to small rope instability, you might get collisions here
Oh, that's probably not happening, since the colliders don't overlap all the way. There's only a bit of overlap near the tips.
more overlap would make it harder for things to push the ends apart and slip through
which is why i bring it up
if you can figure out how your hands are animated, and can reduce the strength, that might work
That's probably what I might need to look out for
as i said at the outset, the influence of the hands on the rope needs to be weaker than the rope itself
so make the rope stronger (by such things like the tweaks i have brought up), or making the hands weaker really are the only two options
there is also a component called the articulation joint which is inherently more stable, but it can only have a max of 64 links and might have issues of its own for your use case
What are some of the other settings on CJ I can change?
I am unable to find anything obvious to change on the Oculus OVR hands.
basically everything needs to be configured right all at once, or you might get some strangeness
depending on how you're limits are set up (limit modes, limit spring values, limit values, drives, etc...), instability or random behavior can occur
i would say leave the settings as they are if the rope is stable and as you like it, and focus on trying to weaken the OVR hands (assuming they're not just kinematic)
I found that making them kinematic makes it far easier to break the simulation.
Or at least, treating the interacting hand rigidbody as kinematic does that.
Making the rope segments slightly heavy makes them relatively stable if I don't stretch my hands too much. It's problematic but can do I guess?
So do your hands actually have non kinematic rigidbodies?
Would surprise me if true, but if that is the case then somewhere there is going to be a joint or script that applies forces
There you would find a way to weaken the hands
It appears to be the case, yes.
Now there is such a thing as adding a Physics Grabbable to my rope segments, but I have purposefully disabled that component because when I enable it, I can't manipulate the segments at all.
All I have is the Hand Grab Interactor prefabs tbh
They don't have any fields with grab strength on them
Im not at all familiar with ovr unfortunately
I disliked the over complexity of the vr api s a few years ago so ive been using my own lol
Oh, that's going to be tough for me to unravel then. If you can forgive my rope pun.
Still, making the rope heavier does reduce the effect of detachment, if just making the rope a bit unwieldy. I think I can manage with this for now.
Ultimately you need to get to the bottom of what forces drive your hands
You can potentially make them weaker without slowing them down and that would be your best solution
i should also add that making a tiny rope also places some slight strain on unity's physX, as it will be less precise the smaller and smaller you get
if you want better rope simulation, you're just gonna have to roll your own physics solution for that part
Yep, the most performant way is to bake the environment with an SDF and then calculate physics in a compute shader I think.
Not sure how obi robe does it, but that also seems solid
Good morning. I am following a tutorial to create hands respecting physics. At one point it asks me for the ForwardRenderer. However searching the project I don't have any reference to it.
sounds like you didn't follow the tutorial exactly, or they missed a step
to be honest I followed everything. But we see that this Forward Renderer already had it before. Also in the comments I read that now you call High-Fidelity-Renderer.
Could it depend on the URP? I'm using the Unity Standard in the project
yes, but following a tutorial exactly means matching their unity version and creating a new project with their settings
personally i'd go look for a sample from the tutorial and save an hour of pointlessly replicating their results
Actually it doesn't make sense to roll back with the unity version and redo everything. There is definitely a way to continue in the current version as well .
sure, but you need a working state to compare against
so you replicate their results and then git diff your way back to what you actually wanted
I think I've solved it. I created the URP Asset (Universal Render Pipeline). After that after associating URP properly, I proceeded to convert the materials to the new URP. And then I selected "URPAsset_Renderer" and am continuing from there.
can anyone help me work out why my drawers configurable joint z-limit isn't working?
it can be extended infinitely on the z-axis
everything else is working as intended
Hi everyone!
I have some problems with feedback from users and my game regarding the controllers in a VR Game.
I have developped my game using OpenXR on Oculus Rift, and set all using oculus touch.
The problem comes from players who want to play using other headset than Oculus Rift, exemple Quest2 with Airlink.
The game starts, but the controller inverse Axis, and buttons are not responding.
because I used old input system, and raycast from the Left and Right Hand Anchor Tracking, and because i d'ont have other Headset to make my own test and check if it will works,
I'm wondering if the new input system may help passing through the differences and can avoid problems like this ones or if I should do Better reworking my settup in another way ?
@sacred token does it have weird scaling?
also, try removing the 1 from the limit spring field
not sure i got it to work by writing a script instead
ill give that a try thanks š
ah wait i need the damper actually
haha well that fixed it š¤¦āāļø thanks dude
Which unity version? Input system version? Xr plugin? Openxr version?
I'm on Unity 2020.
Input System 1.3.0
XR Plugin Management 4.2.1
Open XR Plugin 1.3.1
Oculus XR Plugin 1.12.1
I'd say update openxr and maybe the input system
@quartz slate hey! Just returned from testing out the different parameters in the configurable joint.
I'm hypothesising that the weirdness happens because the segment in question is pulled farther apart from its position, and the properties for it to act like a spring are muted, causing it to behave rigidly and failing.
Making the segments heavier would then obviously work since I would in effect have to apply more force to break the joint technically.
However this also means that making the segments bigger, like I had them before, might help with the stability as I won't be able to pull them apart as easily. The disadvantage will be that making knots will be unwieldy due to the sheer size of the rope in VR. I'd have to stand up from my comfortable chair and really start moving around to make the knot.
You can try scaling up the player
Things should not be noticeably different when done right, and it allows for rope at a better scale
the basic idea is make your player gigantic relative to normal size; essentially you just factor up the positions of the hmd and the hands (as they apply to the in-world hand assets and camera), and make the hands much bigger. This would allow you to have a rope at a scale that Unity plays nice with.
if that's still a bit difficult, then there's still a good chance that finding the right inertia, mass, and joint settings can increase stability
I'm hypothesising that the weirdness happens because the segment in question is pulled farther apart from its position, and the properties for it to act like a spring are muted, causing it to behave rigidly and failing.
Yes, this is the main reason your rope is easy to pull apart as-is; the limit springs are very weak, which is a decision they made to prevent something we call "joint explosions" (catastrophic instability)
they simply must have been limiting hand strength to compensate
@storm ether
@quartz slate simply scaling up the rig (or scaling it down) doesn't do it. There's a correlation between the Unity units scaled by the hand(s) with respect to a segment it is grabbing and the segment's mass -- this appears to be some force I am not able to manipulate directly.
At larger scales, I can use my tiny hands to break a simulation with bigger segments just like before, and at smaller scales, my larger hands can still separate the segments enough for them to slip through one another if enough force is applied.
Another person suggested that I can simply drop the rope in case any connected segments get stretched too much from the joint.
that could work as an interesting fix
It seems like a doable option for now. All I need to do is check how far each segment is from its connected one and trigger an event in case it happens.
The other oddity I found is that I only really need to spawn the objects in world space and assign them to the configurable joint, wherever they spawn from is considered with respect to the joint's position. In case I spawned one segment farther from its connector, it would still have a joint described in the middle (-ish position depending on the anchor position).
I can simply compare how far two segments are from each other to trigger the requisite behaviour, simplifying the process.
Hello, does anybody else have problems toggling developer mode? I need it to see my project in MQDH, but Im not able to connect the oculus to the app.
It seems to be happening to a lot of people
Is there a list for performance of how many tris can be on a headset at a given time
https://developer.oculus.com/documentation/unity/unity-perf/ @quiet lynx
Just know that there is a while lot more then tri count. 1 mil here might mean a single mesh with 1 material having 1 mil tris. I personally stick to 500k max for quest 2
Overview of performance requirements and recommendations for Meta Quest Unity apps.
Mqhd?
Thanks a lot. Very new to VR game dev so soaking up as much info as I can
https://youtube.com/playlist?list=PLjnZTAR0BuTDNeDPy44G4bUpYRHGzy_xh
Starting some guides related to unity and VR performance. Might be helpful.
I'd personally say experiment as much as possible with different tools and mechanics etc. If you got any questions feel free to ask here on in the forums :p
For sure
meta quest developer hub, its used to put APKs and see the unity project you created
Is there any way to test a virtual reality project other than the developer hub?
Like, to stream it in the oculus
how do I fix the com.android.gradle.internal.tasks.Workers$ActionFacade failed build error (quest 2 android)
it is driving me INSANE
gradle tends to do that
should have something atleast playable by the end of the week so really excited for that. Just downloaded the xr interaction toolkit
Fastest is oculus link. Otherwise just build and run in unity
Hey y'all! I was wondering if any of you have recommendations for Unity assets that would take care of trees swaying (like they are getting blown by the wind) ? I am looking for something that isn't performance heavy as I am developing for the Quest 2, but if you think there is a better way to go about it I am open for suggestions too! š
Almost all bigger tree assets have this. Just look at the demo scenes.
It's also not too hard to write a custom shader for this, which will probably be faster since you just write what you need
Gotcha, thank you!
Iām making a map thatāll probably be done in 6 months for vr, Iāve recently seen a unity equivalent of nanite thatās going to be released sometime next year, should I go crazy with the detail and geometry without worrying about lods or take the traditional route? Wondering since by the time Iām done I could just wait till the tech comes out soon after
There is no real solution for it yet.
There is an HLOD system on the unity GitHub. Not officially supported but might work.
There also is nano tech, which is in development by a 3rd party dev.
For now in Unity take the traditional route and use baked normal maps etc
Basing your entire development on an unreleased 3rd party plugin would be a huge risk factor
note: the paid unity nanite clone thingy that went pretty big on youtube is said to not work on quest native at all; which is kinda expected
so even if you decide to go that route you're pretty much locking yourself into a high end pcvr territory
if you can make the game with quest limitations in mind you'll reach a much wider audience
did anybody ever deal with this issue? No launchable activity when you install it on oculus. It does work but I am trying to install it on PICO as well and after it gets installed i cant find it anywhere. Tried reinstalling and removing all the apps but nothing. Im suspecting the "No launchable activity" has something to do with this issue
I have a pair of tongs and while the tongs are held by the player, I want the tongs to pick up coal if the trigger is pressed while the tongs are near the coal
Do I use the Activated event? And then run a script on the tongs which checks for the above
or is there a better way to do this?
Hmm, interesting. He said it would work and that he tested with PCVR and android, just not the combination
i wouldn't count on it being released and usable within the next 3 years
it may not even be suited for your game when it is
Hey, I can't enable my developper mode (when i try to use the slider, I have this error). Any idea please ?
Translation : We had problem loading the this content. Please retry.
Have you made a developer account
Don't have a Quest 2? Get it here! https://amzn.to/3pXnbyc
Need help with something? Leave a comment and join the
OPEN PC Discord Server here!: https://discord.gg/PPgbApG
How to put the Oculus Quest 2 into Developer mode:
Go to:
https://developer.oculus.com/manage/organizations/create/
It will prompt you to log in if you're not already.
This is...
Hey, thanks for your answer. Sure, I already did everything properly. My headset was in developper mode few month ago, but idk why I had to re enable it (maybe because now we need to have 2 authentification factor OR credit card linked to meta account in order to maintain developper account)
Try from another device maybe? Or restart device?
Do you have the same account in app as on the headset?
Already tried those, but thanks ! Yes it's the same account ... I also tried from the Meta Developper Hub software but it's the same, i also have an error
Then contact meta support. They are decently responsive
I tried, apparently it's a known issue and i just have to wait ...
Yea that sucks
Had a question about particles I havnt tried it yet but was looking to add dust particles to my vr game as well as some when enemies get destroyed
How much performance will I use or can vr handle particles
Just looked through some things and saw it was possible but maybe adding a on off switch in the UI will probably help
I have set up a basic VR scene, just a camera with the xr origin and some hands but when i click play it does not show in my headset, i am using a Quest 2 which i have connected to my pc via link cable
i have also installed all the necessary plugins
Not sure what i am doing wrong
Do pc vr games work? @royal crown
Test it and profile it. No other way to find out. Particles should be fine if you don't overuse them tho
yes but i use virtual desktop for playing pcvr games
Well, then test yoir game with that as well xD
If you use oculus link, test a pcvr game with link
That way you'll see if it's a unity issue or oculus issue
but how would i do that with unity? virtual desktop is a seperate application
Yes, but it just runs the headset inside steamvr, right?
yea
steamvr and unity are different
You can make steamvr games in unity
Oculus and unity also are different
Just use openxr and your game can run in oculus, steamvr, and windows mr without much trouble :p
Steamvr seems to work
Then make sure oculus link works before trying oculus link with unity
And put the OpenXR runtime to oculus
@quartz slate the auto-drop solution is working okay for now, and I am going to turn the joints slipping past each other bug into a feature -- "the rope just unentangles on its own if enough force is applied!"
Using XR Interaction toolkit and streaming to a Focus 3. Even though Camera object has its FOV set to horizontal 106 degrees, Unity changes it down to 96 degrees when the build is run from within the editor.
Can this automatic change be stopped?
As far as I know the FOV is set by the hardware and can not be overridden
Seems to makes a mockery of manufacturers producing wider FOV HMDs @pine bison
The FOV changes even if the HMD is off and the project is run - so it can't be talking to the HMD for this setting.
Well no, that's the thing. It's set by the hardware so it can be different for each headset. You can use pimax with unity for example
Agree with that @pine bison but what POV do you get for the camera in Unity when using a Pimax? If it were to be 96 degrees then that is a little 'poor' when 200 is on offer at the hardware.
When I say "set by the hardware" I mean that it's the headset itself that provides the required FOV
it's not like 96 is some hard coded value
Hi Guys,
I'm trying to follow this tutorial regarding XR Toolkit for unity:
https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.2/manual/general-setup.html
I have installed Samples, started creating the player rig, but when i play the game, only the Headset is working, Right and left controller doesn't respond, neither in position and rotation, or action buttons.
the process seems very simple, GameObject > XR > XR Origin(VR)
then assign presets to left and right controllers if they are not assigned (which is my case)
and it should be enough to see the GO following the controllers, but they are still in place and i can't figure out why ?
Do you use OpenXR? If so, have you added the controller profiles?
I have a question. Is it possible for apps that are made with Unity to use color passthrough on the Pico 4? Or isn't this yet supported on a Pico 4?
@north path I think yes
@north path By the way, i don't know if it's a good idea or not to activate everything like that ?
I think it's possible if you use their sdk. You could check it and the docs out to see
Id not use eye gaze if you don't use eye gaze hardware. Stuff like actually vr controllers should be added for better cross platform support.
Seems fine tho, so maybe check out a setup guide on YouTube
Justin P has good guides
Okay. Does that mean OpenXR too? Do you have a good source for documentation with roadmaps etc?
No, their own sdk. Not the pico OpenXR sdk
And the roadmaps are on their dev site or forums
+1
You know where I can find the roadmap related to this?
https://bytedance.feishu.cn/docx/doxcnWWl9pXkctpCXfNpOT9sgTc
It was on the forums. Seems like see through API is delayed to q1 2023, so probably will release mid q2 2023 knowing pico haha
Some guys do have it working already here: https://www.reddit.com/r/PICO_VR/comments/yu6bcl/passthrough_and_unity/
What is MR?
Mixed reality
Well. The guy in the Reddit post did post some Twitter examples too already.
Not sure about limitations.
One way to find out :P
Let me know if you got anything working
You have a Pico 4?
Yep
I played Fruit ninja already with color passthrough. Not sure if it's made with Unity/OpenXR. I'm waiting to get Immersed ready for it.
Unity, yes
OpenXR, maybe OpenXR supported, but definitely not fully. Been out for too long
Only way to find out is to send an email to Pico.
Yep, you can also try the pico forums
Yes
The FOV value changes to 96 even if the HMD is off and the project is run - so it can't be talking to the HMD for this setting.
Does it do the same if you unplug the headset?
Hey everyone, when I grab something and hold something in my hand, I can pull it towards me and away using my right joystick. What setting to I have to check for this to be removed. I don't want my object to turn or whatever when I use my continuous turn
Hello, I have an issue with Oculus underlay compositor layer and passthrough. When I enable passthrough for selective passthrough feature, my canvas with OVROverlayCanvas (with underlay mode) attached showing passthrough as well. Does anyone here know why this could be happening?
[Help with Oculus GO Build]
Hey guys, somebody can help me?
I'm trying to build for oculus Go, but it's giving it a black screen no matter what settings are made, but apparently it's running on quest. I've followed all possible tutorials making each recommendation, but it still doesn't work.
Main configs and tweaks:
- Unity 2021.3.11f1
- Used Asset: "Oculus Integration".
- I already added support for Oculus without activating Quest
- Color Space: Linear
- Removed Vulkran from Graphics APIs
- Minimum API 25 (our oculus API)
- Target: automatic
- IL2CPP, ARM64, .NET Framework
- Texture Compression: ASTC
- Stereo Rendering Mode: Multi Pass
Currently, I am using OpenXR from unity, but I think I gonna delete all my OpenXR scripts and codelines to replace them with SteamVR. I am not sure how good or bad this will be, but the idea behind that is, OpenXR is not supported on linux and especially, I can not combine different types of controllers with OpenXR, who are not from the same headset producer.
Like mixing a HP Reverb G2 or Oculus Rift Headset with Valve Index Controllers.
Anyone have the issue where glInvalidateFramebuffer is somehow taking 4ms / frame on Quest 2
measured on renderdoc so timing isnt accurate but the delta from everything else - Final Blit, copy Color, etc. is massive
I'm going to wind my neck in here š
After a reboot of the PC I can confirm that the camera FOV automatically reduces down to 96 degrees as soon as the Focus 3 HMD connects. Otherwise Unity just sits there at 106 (or whatever setting I was playing with at the time) waiting to render something.
Still odd that it is only 96 degrees though and not as wide as the reported FOV of well over 100.
š Always challenge your assumptions. I couldn't tell you why it's like that, but there's not much you can do about it, for better or worse
Is graphics jobs disabled? This can make vr on android crash.
Otherwise I don't know, haven't worked with the go at all
I think the setup is bad in that case. The whole thing about OpenXR is that it runs on all hardware without much effort. Make sure unity, OpenXR, and the input system is up to date .
If you develop with OpenXR, the game will run in steamvr, oculus runtime, windows mr, and more without adding the packages etc for said runtime.
I am not sure about mixing steamvr and oculus controllers, but index controllers with other base station tracked headsets should be just fine. If not, definitely make a big report, as it should work. Just add the controller profile for each controller.
About linux, what issues are you running into? It should work with steamvr if steamvr works on linux.
Even found an article on it: https://dochavez.github.io/Documenting-with-Docusaurus-V2.-/docs/monado/
Monado is an open source XR runtime delivering immersive experiences such as VR and AR on mobile, PC/desktop, and other devices. Monado aims to be a complete and conformant implementation of the OpenXR API made by Khronos. The project is currently being developed for GNU/Linux and aims to support other operating systems such as Windows in the ne...
I'm new to VR game development, been trying out Unity 2021.3.11f1 with URP and Unity XR for my project. Besides disabling post processing, what else could I do to improve VR performance in headset? It is subpar to say the least, and not at all what I expected with such a minimal game. It seems there's a lot of issues online with Quest performance and URP though others claim to have resolved them. Just wondering if there's a list of "known solutions" to fix the horrible performance. I am using baked lighting and my direct light is using Mixed mode if that matters.
Feel free to ask for more information about my setup
Thanks
@unkempt breach try using 2021.3.15 (or 3.14). some performance fixes were included there
other than that, use msaa x4, use fixed foveated rendering, don't use lit materials
Alright cool, i was going to use 2022.2.24f1 eventually
Why not lit materials? Are they inherently expensive?
Iāve been using a lot of those⦠woops
Right ok so whatās the alternative
Unlit?
(was a typo)
Ah alright
unlit or baked are your best bets
Iāll go give those a shot then, thank you very much
Custom shaders not withstanding in other words means theyāre fine, just to make sure.
Yeah Iām only use one for water, hopefully thatās fine š
Alright thanks, Iāll come back here if I still run into issues
do you know off hand if unity's basic XR interaction toolkit can be made to run in steamVR without actually using the steamVR API? I built my own device bridge and input system using it, and was wondering how hard it might be to make it universal for PCVR
(i used the common usages method of getting device inputs and data)
the info i can find on google seems dated and indicates that it's not possible
What you are describing is OpenXR?
What issues are you having?
@unkempt breach simple lit also is a good alternative if you need realtime lighting. If you have decent textures it can still be realistic if that's what youre going for. Otherwise unlit or baked lit are great for performance.
Also make sure to use the performant urp preset for android. Balanced already has SSAO in it, which kills performance.
And make sure to tweak your settings properly to get the easy performance wins: https://youtube.com/playlist?list=PLjnZTAR0BuTDNeDPy44G4bUpYRHGzy_xh
Yup, it's fine. We have our own internal framework called CXR, it runs on OpenXR, no other plugins. And works for Steam VR, Rift, Quest 1, Quest 2, Pico and WMR devices
ah very nice!
seems like with very little tweaking it should work in the steamVR landscape then!
Actually looking now we do have an inclusion for Pico, as they have a third party OpenXR connector
If you get stuck I can send you our base template that supports the device family. Just note that OpenXR doesnt seem to work reliably with SteamVR for all unity versions
i don't have openXR installed so i assumed they were different
i might ask for this one day soon, but i have not yet started to tackle things, just trying to get an understanding of what might be required
Depending on the device you are targeting, the supplier will have a best practices page. Oculus quest for example has an exhaustive one.
No problem, even 7 years in it embarrassingly still took me a week to get the right combination of everything to get cross platform to truely play nicely with OpenXR.
assuming my common usages approach holds up, it will definitely be worth trying to get my minimalistic bridge working cross-platformly. thanks very much for the info!
where would I find or select the URP performance preset? Can't seem to find anything suggesting preset functionality
look for a "settings" folder in your assets folder
does not seem to exist, you're referring to the Unity assets folder right?
or did you mean Assets -> XR -> Settings?
yea normally it will populate in assets\settings
hey guys! So basically i have a series of 9 buttons like this, and I want each of them to be interactable with a VR controller (in a VR game). How would I go about doing that? Each of the 9 cubes are buttons, and the whole thing is a canvas ui gameobject
I've watched like 2 dozen videos, but they are quite confusing to me as a beginner so if anyone could offer some help that'd be awesome!
uh what exactly is the "performance" preset?
how does input work with 2018.3
Performance preseta are just different urp assets with differwnt settings
You can select them im project settings graphics
I reccpmend deleting all of them but a songle set
Thay way there will be less confusion
oh you mean those, alright yeah I switched to Low (I realized it defaulted to Ultra High)
Sorry for the amount of redundant questions, just to make sure, does Unity 2022.2.0f1 work well for VR? This seems to suggest the beta version is affected
im unsure, i can only confirm that the ones that page says is fixed or fix in review
How does xr input work on unity 2018 Iām so confused
Why are you starting a vr project in 2018?
Thanks for jumping in to help mate.
Iām modding a project
It uses unity 2018
Hi
is this the right channel to ask a question?
It s about xr interaction toolkit
I have a script for diffƩrents action like jump sprint, but i m confused about sprinting, actually i use a waitForSecond to the time sprint but i want to sprint with joystick clic holding
For the moment i have this script
Would this be a channel for VTuber stuff or just VR ?
Vr
Alrighty then
I m a c# beginer, i just start this week, the interaction toolkit look so diffƩrent of the classic input system
2020.3.38f is the last stable version for VR we've passed internally. 2021 and 2022 haven't successfully passed our internal QA yet. So personally I'd avoid 2022 at this time. But I'm sure the right configuration probably works fine, we just haven't tested one that is working properly yet
What's your actual question?
If I was using a Headset from HP for example, I could not mix the Headset with different controllers. they would not co-exist in SteamVR, evne if I turned off my HP controllers, mya Game would not use the Vlave Index Controllers. - But this was with my old headset... IDK if this is still a problem, because now I am using a wireless Pico 4 with Virtual Desktop. I can disable over virtual desktop my pico controllers, so that I can start my game with the valve index controllers together with my pico 4.
IDk why, but now I have the problem, that my screen turns black if I change the unity scene while being in VR.
it is no problem to start the VR in my mainmenu. it works perfectly! but if I press "Start Game" to change my scene from the mainmenu, to the game scene... My screen is black, I can hear the music who would play in the scene in my VR Headset Speakers, but have no image.
I did not had this issue before with my old HP Reverb G2 VR-Headset...
My question is how to transform my script into a script that allow a holding sprint
I don't think you can combine inside out tracking HMDs with base station tracked controllers. Not in any way afaik.
About the black screen, that's something else. Check the console, update unity, update urp, openxr and all those things, use debug logs, etc
Which part is the problem, the holding or the sprinting?
It seems like you could just set it to on button down -> move speed = 5, on button up -> move speed = start speed
Yes but how to do that with the xr interaction toolkit
Your current code works doesn't it? So the only thing you need is to change the sprint from 10 seconds to constant while holding?
The 10 seconds to constant while holding
I believe the sprint action should have a Started and Cancelled event that you can attach functions to instead of Performed
Alternatively you should have access to the button value from the parameter in Performed
But this is a question about the input system, it actually isn't related to the XR interaction toolkit
Alright thanks, does that mean it fails the test or that it wasnāt tested? Thanks again!
We are a small team, so we only QA their builds about once every 2 or 3 months. We have a build server that does the first round of QA and catches things like broken Gradle and broken WebGL. It fails a lot.
Man thatās unfortunate, I started my project in 2021 š
Thanks again, sad to see Unity VR in such a bad state when I got used to BS modding being super polished. (It uses 2019, now I see why)
It isn't super important. But weve never had a clean 2021 or 2022 build on our side yet. But need to retest 2021 soon anyway
Good luck to the Unity developers doing the work they do, hopefully it all gets sorted out soon
To be fair, it's mostly because we need every cross platform module to work really well. Most people don't need it as stable as we do
the thing is, the mainmenu works perfectly, but if I change the scene...
I read that yes. Same answer. Also try starting inside the 'broken' scene
anyone know if force prepass is more performant than After Transparents as a Depth Texture Mode?
heyo! has anyone got a quest 2 unity build uncapping the refresh rate to above 72hz without using the oculus integration?
Why don't you try? It takes just 2 builds
It probably depends on the project
Do you use the oculus xr plugin or OpenXR?
xr plugin @north path
good evening everyone! is there anyone who can suggest? I would like to do different interactions. I was wondering is it better to do them using Animator as well or is it better to do them with Physics?
Is there any tutorials on how to make a fps game?
I have, but there are no immediately noticeable differences in performance. If i see a few stale frames in either of the runs, it's also risky to assume it's caused by this one setting
Is SteamVR a own OpenXR interface?
What do you mean exactly?
SteamVR fully supports OpenXR if that's what you mean
Then I'd say leave it at the default and if you get performance issues maybe try it out
Many VR packages already got guns in it. Then it's just the normal shooter development
We need more info to help out. What kind of interactions?
Generally I prefer using physics in VR since it's more fun and Realistic
https://forum.unity.com/threads/90hz-for-quest-2.1006934/
Try the method at the single last post
not sure if this is the right place for this: Is there a way to playtest using my quest 2 straight into playmode by using oculus airlink or any other method that does not require a cable?
Did you even try? Airlink and virtual desktop should work fine
yh it doesn't work sadly, just let's me stay in the game view window but doesn't put me into vr mode obvs
I updated all my assets and plugins to the newest and I still got that issue.
With SteamVR, I would be able to support Linux with VR like the Valve Index for example..
But I dont know what exactly the SteamVR asset for unity is? is it an laternative to Unity's: "OpenXR"?
After 2 years, I though Unity would finally support Linux for OpenXR, but that doesent like like right now. Thats why I wonder if I could uninstall all my OpenXR elements and delete all my OpenXR Scripts and restart with SteamVR instead in my unity project...
According to OVR Metrics, my game runs at 72 FPS while I've attempted to set it to 90. Been using the solution offered here š¤
Owh that's really sucky, didn't know. Especially since it does support android.
Maybe make a bug report?
Hi
me and my friend is creating a game and in that game we are facing issue in prefab
I have created a player and trying to create a prefab for that player but when i create prefab it doesn't override the script in prefab
Yes, there is basically SteamVR, which created OpenVR to make it easier to support Steam as a VR device.
Oculus has its own runtime and doesnt work with anyone else really.
And Unity finally stopped relying on individual plugins about 5 years later than they should have, and now has OpenXR, which is a long overdue standard. However official built in integration they charge a licensing / support fee for that most companies can't or won't pay.
And as it took Unity so long, many other standards came out with variations and OpenXR itself still remains rather incomplete. So the other standards just keep pushing in all directions
That's likely why you also don't see Linux support for OpenXR, as no one is willing to pay the yearly fee to have them include it. And Unity themselves won't add it if it isn't immediately profitable.
this one i assume?
if (Unity.XR.Oculus.Performance.TryGetDisplayRefreshRate(out var rate))
{
float newRate = 90f; // fallback to this value if the query fails.
if (Unity.XR.Oculus.Performance.TryGetAvailableDisplayRefreshRates(out var rates))
{
newRate = rates.Max();
}
if (rate < newRate)
{
if (Unity.XR.Oculus.Performance.TrySetDisplayRefreshRate(newRate))
{
Time.fixedDeltaTime = 1f / newRate;
Time.maximumDeltaTime = 1f / newRate;
}
}
}
Yeah
thanks! ill give this a try:)
unfortunately i've only got a quest 1, but i assume i can use this same method to lower my framerate to confirm it's working, and then raise it to 90 for when the user is using a q2
I think that might set it to 120, btw, but the trysetdisplay... Is the thing you need
Ahhh, maybe find someone to test your app?
looks like it sets to 90 in the 3rd line no:?
yes i have some friends with q2 that will test it but i'd rather be sure it's working before i send to them
If you check the rest of the code it takes the max fps the headset returns. 90 is the fallback
oooh okay i see
this wouldnt try to run my q1 at 90 tho right?
also this script isnt adjusting time, just using it to figure out a matched framerate right?
It won't be able to, the q1 is limited below that (72).
right the hardware limit's i'm aware of, i was just wondering if the fallback refresh rate would make more sense to be 72 or if it being set to 90 does nothing to q1
One alternative you could look into. There is a WebVR for WebGL plugin for Unity. If your browser supports VR on Linux, that may work
If you set it too high, I believe it is supposed to lock it at the highest available framerate. But I haven't test this myself on the Oculus flavour of Android, so I hesitate to make it a factual statement..
so, Im trying to get the new interaction SDK set up, is there a way to make a grab "permanent"?
the SSK has probably the worst doc I have ever seen
For some reason, my locomotion continous move doesn't respect the forward direction of the VR camera and instead just moves forward in the default axis. Any ideas?
yeah it doesn't seem to respect the forward source of any object I use :(
Hey guys, I followed a Unity VR setup tutorial but the scene won't run in my headset.
In the video the person is able to run the scene by clicking the play button in their headset but it doesn't work on mine
make sure you followed the tutorial exactly and that your headset is configured for pcvr correctly
if you get either of those wrong, you end up with your symptoms
Good evening. I've created a menu. And before it a welcome message. The latter when I press OK it comes off and ok. But the menu instead I set a MenuManager to which I set the "menu.Button" to open it. But it doesn't work. Why?
Currently, my Games does run on Desktop and VR Mode for WIndows x64 and only for Desktop for Linux and Mac.
Currently, I am forced to disable OpenXR and move all files from the SteamVR Asset folder expect: "OpenVRUnityXRPackage", out of my Unity Project, to build for Linux. So that all Linux Users can atleast the Desktop version of it. But I would also like to support VR for Linux, just to be one of that kind of Devs, that counteract this Windows-compulsion.
a friend tried to run the windows version with proton, but that doesent work well with OpenXR because the controller would not work or something.
I really would love to support my Games also for Linux and Windows on: "ARM" and also VR Games for Linux, but even if you always hear about how good unity is with the broad platform compatibility, unfortunately it ends at these points for me.
I mean it's almost 2023 and we still don't have support for VR on Linux operating systems, WTF?
(Especially when Steam actually does so much for Linux...)
But also importent for is, that I dont want to develop my game just for a specific plattform, like Oculus only for example!
- So I wonder if SteamVR itself would allow multiple VR Plattform support and that an Windows AND Linux?
(Atleast if your Headset have a driver for Linux or just doesn't need one, like the Valve Index.)
Is using Terrain Lit shader in URP usually bad performance in VR? There doesn't seem to be an alternative when using a terrain system
terrain itself is bad for VR (mobile)
yep... I'm seeing that now
are there any common alternatives? Microsplat isn't free so that's unfortunately out of the question
depends on the kind of terrain you're after I guess
one big mesh collider is one way to go
well I'm really just looking for something to make the small VR space more lively
you want cliff boundaries?
no idea what that means so probably not
i mean do you want the player to be naturally trapped inside this 1km or so terrain box
by tall terrain at the edge
ah then yep
you could try using a plane, or a modified plane (give it bumps or texture in blender or something), and then have other mountain meshes that form the cliffs
or bake them directly into the plane but i reckon you could save on vertices and make the mountains convex
hm I see, I'll probably try to make a mesh in Blender then
be sure to make it a box and not just a plane so it has some depth
(eg modify the top of a large box instead of a plane)
hm?
that should also help if you do physics collisions
Whatās the normal shooter thing tho
do you happen to know any resources for accomplishing this? Maybe I'll have a better time following through with it step-by-step š
im no blender guru but this is an easy one!
@unkempt breach
ignore the export stuff at the end. just save it (it will be a blend file) and import that into your project
awesome, thanks so much!
check the import settings and remove the light and camera (or remove from the blender file)
It's probably better to use FBX format, otherwise you'll need the same version of blender installed to open that project in the future. The wrong version can/will import different (changing all your models) and no blender will make the models blank on opening the project
Look for shooter guides on YT
There all outdated
good to know, thanks
good afternoon. i noticed that the teleport ray and ray interactor in UI, using the trigger as a command, tend to overlap and therefore i can't use the UI correctly. How can i solve this?
I set the "Ray Interactable" and "Teleportation" layers for the two purposes. In addition for teleportation I also disabled the "Enable Interaction with UI".
I have this setup currently for the VR to communicate with my PC
just bumping this, as it seems to have gotten lost
no, not through the interaction toolkit
Do you have another way to do that in mind?
the interaction toolkit basically does what's in the escape room sample and nothing else
parent an object to the hand
I mean, yeah, but I would like the fingers to wrap around the object as they should
you're gonna have to handle that yourself. the interaction toolkit doesn't do that either
it does now, doesnt it
no
at least in the test scenes it does
it plays an animation, it doesn't do anything special
waait, is the finger wrap just an animation?
yea
I think I have everything set up correctly now but it doesn't seem to still run in the headset
I enabled developer mode as well
I guess I could work with that
just play the animation permanently and parent the object under the hand
you can tell that it's set up correctly by seeing it run in the headset. That's the only way
why would you even have a hand if its permanent? just merge the hand and the object models
well, I need the hand to be actually holding the object
doesn't mean the hand and the object can't be the same mesh'
well, 2 issues with that - firstly, I would need to make that outside of unity, right? and secondly, how would I track a hand with that?
well i'd advice doing it outside unity, but you don't have to
the bigger issue is mapping tho
and the xr rig takes care of the hand tracking. the visuals have nothing to do with it
how would I set it up then?
you take the object with the hand visuals and swap it out for a hand+object visual
well, I will get the 2 objects and see
but it sounds like you should familiarize yourself with unity and game dev in general
you should be thinking about the logic, physics and visuals independently when you design something
Do you have any ideas as to why it doesn't run?
What desktop headset are you using? Steam VR? Oculus? WMR?
Step 1 is make sure the appropriate sub framework recognizes your headset
Step 2 is using the unity console to see if the headset is detected on pressing play
I am using the Oculus Quest 2
What does the oculus desktop show you for connected headset devices? Is oculus link running? Etc.
I am using the oculus mobile app, should I use the desktop version instead?
It says my headset is connected
The mobile app is only for your device as a standalone.
Are you able to play any desktop VR games on your headset right now? Or only the ones installed locally
I only played the ones I installed on the actual headset
But I did try to test the build and it worked
Let me try running it with just the unity editor this time
OK, it sounds to me like your computer isn't setup for Desktop VR or isn't VR ready
And the guide you posted should solve that right
As my best guess at the moment anyway
Yes, there is an oculus desktop app (black screen type dark app) that you want, it converts a desktop VR experience to the Quest
It will also make sure your computer can handle if, that cables are good, etc.
Hey all! Can anyone possibly help me with something in a VR project? I had recoil on a weapon working perfectly the other day, changed some things in the hierarchy and can't seem to get it to work right again when its held in the hand. Adding the same motion to another targeted object is giving the desired results, it just stopped working for the weapon in hand
Does this mean that I can't use the unity editor to test on the headset?
I'm using OpenXR, and I have a customer that's using WMR Odyssey, if I mess with these settings and publish it, does it change anything for him?
okay there's got to be an official way to force a controller to drop the currently held object in the XR Interaction Toolkit but google has been very unhelpful, does anybody know how I should do this in the most recent version?
š okay i might have to steal the ridiculously janky code I have in an old VR project then
no that's one common thing that's actually not supported by it's design
it supports picking things up, pulling the trigger to activate and waving things around but pretty much nothing else
i feel like this is a bit too limiting, like, I get it would be confusing to have things forcefully dropped, but when I'm trying to design hidden mechanics where you cant see the object i feel like its a different scenario
absolutely, the interaction toolkit is designed with a very specific type of interaction model in mind. When you're outside of that, you're better off rolling your own
you're always gonna have to make tradeoffs between reworking existing solutions and rolling your own. Normally you'd be better off using the existing frameworks as a base and expanding upon that, but in this case the toolkit just isn't architected to become fully featured
My UI is invisible when switching to passthrough. I can't setup any ui canvas with vr passthrough. Any help?
I have a deadline very soon and I'm pulling my hair out trying to fix this
always start a project by eliminating unknowns. Putting them off for later just means you end up in these situations
@quartz iris you can use the SelectExit method inside of XRInteractionManager to force unequip an item
Ive used the SelectEnter method to force equip before so im pretty sure you would use XRInteractionManager.SelectExit(IXRSelectInteractor, IXRSelectInteractable) and pass in the hand for IXRSelectInteractor and item for IXRSelectInteractable, also you can use the toolkit for alot, its a very good base, you just need to modify the code yourself
Hey everyone, whenever I hold an object in VR using the XR GRab interactable and I move my right joystick for continuous turn, the object rotates. How can I disable this?
same with the right joystick up and down, it moves the object further away or pulls it towards me
Yup it means your graphics card isn't strong enough for PC VR
How do i disable this?
Hi. My customers that own Oculus cannot display my game on their monitor(for streaming per example). Anyone else having this issue? I'm using OpenXR and Unity version 2021.3.6f1
You're right. I fixed it by creating a seperate camera that is set to overlay with the UI layer mask being culled and used camera stacking on the center eye. Now it works.
sounds like you did something wrong with the turning. the object should stay still in your hand when you grab it, even if you turn around
Alright thanks! Will take a look at my turn script tomorrow!
Well, at least I can still build it and test it that way. Thanks for the help!
how to make colour changing system with buttons you press with your hands
????????????????????????????????????????????
š thank you, i did find that you can also just disable/enable the grab component and it doesnt throw errors like it used to anymore but having a less jank solution may be a better call
I'm trying to make a hand presence script in my Unity VR project. I have working animations, however in the script that manages the animations the trigger and grip buttons only return 0 even when they're held, but the controllers still give haptic feedback when I press or release the grip/trigger.
I'm using a Quest 2 via Virtual Desktop, and Unity 2021.3.13f1 with the new input system and the XR Toolkit
My hand animator script: https://hastebin.com/iqamesores.csharp
My controller detector script: https://hastebin.com/ranufobuce.csharp
@tender zephyrseems like it might be both targeting your held object and your player. does it turn every object and it's children together?
Has anyone noticed the hierarchy of your prefab affecting the stability of a grabbed object with the xr toolkit?
If someone is having this issue. Go to the packages.json, open the notepad and change the OpenXR version to 1.6.0(I think that the version), then save then open Unity
Is there anyone familiar with XR Toolkit that might be able to help me diagnose a weird problem I'm having with an object rotating in the hand as intended?
it do nothing
ok i ve resoved my problem
var center = _xrOrigin.CameraInOriginSpacePos;
_Collider.height = Mathf.Clamp(_xrOrigin.CameraInOriginSpaceHeight, 1.0f, 3.0f);
_Collider.center = new Vector3(center.x, _Collider.height / 2, center.z);
in the player controller script
create an action reference in the input action toolkit
you must have xr interaction toolkit installed
get rid of the character controller and it should go down to the floor