#š„½āvirtual-reality
1 messages Ā· Page 19 of 1
C# is a foundational skill. It's not specific to VR
I would suggest spending a few weeks at least going through a generic C# coding bootcamp or something like that
I made an app using Unity for Vision Pro - Konbini: Spatial Shopping. Would appreciate if you checked it out š . Feel free to comment on the post or DM me with any questions!
https://www.reddit.com/r/apple/comments/1b5koww/konbini_for_vision_pro_teleports_you_to_a/
Is SteamVR (HTC VIve, Valve Index) suppose to work with Open XR + Unity XR Toolkit or is SteamVR plugin still suggested method in 2024?
Anyone ever run into this here? I am getting this error when my scene starts. I have a simple OVRCameraRig and nothing else. I can't see hands in editor but I can in build. Also if I enable the HandFilter component then I can see my hands but it freezes if I interact with any interactables/
DllNotFoundException: InteractionSdk assembly:<unknown assembly> type:<unknown type> member:(null)
Oculus.Interaction.Input.Filter.HandFilter.Awake () (at ./Library/PackageCache/com.meta.xr.sdk.interaction@62.0.0/Runtime/Scripts/Input/Hands/DataModifiers/HandFilter.cs:147)
Hey! Me and PunMister (PunMister's message: #š„½āvirtual-reality message) have had the same issue but as far as I'm concerned no solution has been found. Basically there's these faint horizontal lines that go across the screen in VR. I'm using unity 2022.3.20f1 and building to an APK for Quest 2 if that helps. Posting the original image and one with increased contrast to show them more clearly
Hard to be sure but are you doing any light baking? Wondering if it's compression artifacts
Although that is more consistent lines
Would've hoped I remembered this give me a minute to open the project lol
Sorry to clarify I am baking lights yes but I don't remember if I'm using compression
If it's not light baked, and it's not diffuse textured, I'm curious if it's related to shadows and URP
Oh yes I am. Normal Quality lightmap compression
That should be easy to test though, if you clear the light bake, and the problem stays, we know it's probably not related.
Yeah sorry give me a minute I'll build to my Quest with no baked lightmaps
If it doesn't stay, we can check that Generate UV maps is enabled (if you imported the object) and to try disabling yeah compression and redoing the build.
Urp messes with shadows though and I don't really use Urp, so not sure how to troubleshoot that one
Quest also does some weird forced compression on textures, which was why I'm wondering if that floor material has any textures on it
Okay so even with no lightmaps it seems to appear. I should've also mentioned that the lines act like an overlay and move with your screen pretty much everywhere. I'll try no compression though
Ah ok that's important
It means light maps, shadows, and textures probably aren't the culprit.
Without flat out blaming URP, are you using post processing of any kind?
Not right now
Is this on like mobile builds, or only over link?
Haven't tried link but on mobile builds for the quest yeah
I can try link rn though
Ok no that's fine e
I mean you can to be thorough
But I'm assuming in the editor game view and scene view there are no lines
Yeah
If it was link, there are some settings we could try
So it's rendering, for the full screen, faint lines, only for your app, and only installed on device. I'm assuming they don't exist on any other games.
Yeah
Wait you said it shows on your monitor too?
No sorry I was agreeing with you it doesn't
Ok I wasn't sure because of this
Ok. Assuming that works good, it means its something to do with android builds. It could be worth disabling auto graphics setting, and removing vulcan from the graphics list, to see if it's just a vulcan rendering problem but I've never seen this befo4.
I suppose it's worth trying that quickly because the oculus software is kind of screwing me over and wont let me connect with link
Anywys it's late I'm out of ideas at this point too
Lol no worries I appreciate the help
Thanks
You absolute LEGEND I wouldn't've thought of that fix
So I didn't have auto graphics on but removing vulcan from the graphics list fixed it
This was so annoying in desaturated areas since it was so visible
Am I allowed to look for future developers?
You are absolutely welcome. Vulcan causes all kinds of issues.
!collab
We do not accept job or collab posts on discord.
Please use the forums:
⢠Commercial Job Seeking
⢠Commercial Job Offering
⢠Non Commercial Collaboration
Thanks lol
Thank you for asking first š
why does everytime i compile a unity project for the quest 2 it makes a 2d app
and not 3d
what tf did i do wrong
Assuming you have the project plugins configured right, it likely is missing the android manifest flags.
Hello, I'd like to have some assistance in making a decision for myself. I recently started junior programmer pathway of unity and aiming to start VR pathway, after completion of JP.
Must I buy a meta quest headset?
I'm also looking forward to compete AR pathway as well but since my phone doesn't support ARcore I decided to switch to VR learning....
You donāt need a meat quest headset but you do need a VR headset. Although I would recommend a Quest 3 if you have money to spare but if you are short on cash you can get a used Quest 2 for like ~$175
Thank you for the info. I'll see what I can do. āØ
hi
how do i make.. hotkeys?
its like song in the smoke. theres an inventory slot for quick access using trigger button
i guess i meant quick access items
Someone please help me fix this fast
I have a presentation soon and it aint working 
did it Ever work?
I also can't provide any better advice than what is in the message
It says there what to do really
Im trying to make a number lock and I found a video for it but its for 3D and this is the raycaster code.
How do I change it so it works for VR?
You need to be more specific, but seems like you would want to change the Raycast direction - in this case it seems that the raycast comes out of the screen and towards the mouse. Where do you want the raycast to originate from? The playerās vision?
I also have a question of my own:
Itās about OpenXR/SteamVR/WMR. What are these things? I keep hearing the words āstandardā and āruntimeā but still unsure about the true meaning. Also, these āstandardsā are supported/implemented mostly by development software, like Unity/Unreal, so developers donāt have to deal with OpenXR/SteamVR API calls directly, correct?
Has anyone managed to find a solution for that lovely "Could not find active control after binding resolution" in Unity XR Toolkit with hand tracking?
I only seem to get this error when switching from hands to controllers, not vice-versa. I don't seem to have this issue when using the XR Interaction Hands Setup prefab (as opposed to the XR interaction Setup), but the Hands Setup gives me a bunch of other problems like duplicate/offset hands which I find to be even worse.
I saw that it still seemed to be an issue with both Valem and Shrimp's tutorials, and I'm a bit reluctant to mess with any core/existing scripts until I fully understand what's going on here. Many thanks in advance!
what are those flags?
like what flags do i have to set
Describes required Android manifest settings for apps running on Meta Quest headsets.
how do you profile memory choking on quest?
one says overdraw, i say bandwidth is the issue
why? is it because the window doesnt have a back side?
It's probably the transparency shader on the window
So.. how do i fix it?
If i remove transparrency i wont see outside, right?
Correct, depending on the render pipeline and shader though you can probably change, at the bottom of the material, the render order. It's set to like 2000. Try 1950 or 2050 on the window. Or whatever it is set to
The other option is to change it from transparent to fade or something therein
How accurate can you get the environment mesh for Quest 3?
Would it be good for environmental effects?
can anyone help? i am using xr to try and be able to grab objects, but the objects i have with the xr grab interactable script are gone when i start the game.
Sounds like the floor has no collider, and you have rigidbodies enabled with gravity on
But that's just a guess
I have a question regarding the Oculus Gallery. Is it possible to somehow open the Meta Quest gallery (where all the images are saved on the headset), pick one, and then spawn into the world? I have tried using NativeGallery and NativeFilePicker, which semi-worked. I was indeed able to pick images, however, only through a native Android-looking window without the Quest UI. And once I picked an image, I was in a black screen until I pressed the home button.
Also, when saving those images in the app, it freezes Unity when the images are loaded (on app start), since the main thread is blocked in order to do so. Does anyone know a better solution or asset for picking images from the Oculus gallery?
I have an Event System with the following components: XR UI Input Module and Input System UI Input Module.
I also have an XR Interaction Manager in the scene with a Player Input component on it, that is also referencing the Input System UI Input Module that is on my Event System gameobject.
When I assign Input Action References in the Input System UI Actions seciond of the XR UI Input Module component, and I hit play, I get four errors like unity Action map must be contained in state. I'd post the other errors here, but now its not giving me errors, its just not letting me navigate my UI anymore with a gamepad (yes, this is an XR project, but also targeting flatscreen, touchscreen, etc)
hi! I want to have my project render out at a lower resolution to achieve a pixelated look. On flatscreen I see this is often done by using a render texture, but in VR it doesn't seem like it's possible to create a stereoscopic render texture. Is there a way render in lower resolution ||or get a render texture to work in VR performantly, 1 camera per eye sounds expensive||
perhaps a shader could modify your materials to look pixelated. Otherwise you'd need your assets to already have the pixelated style.
My assets are already pixelated as they're all pixel art textures, so that's not really what I'm looking for. I want the effect of the entire screen being pixelated, so things like edges of geometry would also be pixelated, which can be achieved by 'simply' rendering at a lower resolution giving it a more retro look. Surely there's got to be another way to downscale to another resolution that works in VR right?
Ideally I'd like to just render out as a lower resolution (over a post processing effect) to reap the substantial performance benefits
hi! did you solve this? We fade to a solid color right now.
I'd love to compare notes. I started looking at the OVROverlay
Hello guys, I want to ask if anyone knows how to solve this, my brain is pretty much exploding. So my model is rigged, I don“t see the options like Model, Rig, ... on my animations. Problem is, my model always goes into the floor in the animation, I was thinking of putting the animation type from generic to humanoid. It won“t change anything probably because unity says that the Model already is rigged as humanoid. So I have no clue what to do, maybe someone of you guys knows what to do about it?
would anyone know why when i convert my XR game to an APK, when i sideload it to my quest and start it, i am in the air and can only move my hands around, no moving or anything?
Hey I have my Tracking Origin Mode set to floor but my head is still at floor height for some reason, anyone know why?
These all have their position set to 0 0 0
hello how can i make like on monitor the player will see in diffrent camera and vr will see from diffrent camera?
Try checking your character controller's height, as well as the Y Center
My height is 1.3 and my Center-Y is 0.76 and it scales very nicely
Sorry for delayed reply. That looks like a multiplier which would vary on headset resolution no? It'd need to be consistent resolution or it'd look too blocky on some headsets or too fine on others
Since all headsets are different, you'd want to test what multipier looks good on each headset. then at runtime, test for which headset the user has, and then use the correct multiplier.
Thanks for the suggestion, but this would require an update every time a new headset is released just to maintain the blocky look. I think I just need a way to force a specific resolution to the headset and don't think that's the solution I'm looking for
you could probably query the current resolution of the headset, and then apply a multiplier based on that.
Yeah I guess that is an option. Wishing there is an easier way especially for something that seems like it should be simple, though that may be what I have to do
thanks
I am having an issue with PlayerPrefs on my quest headset. It all works fine in the Unity Editor, but when I build and run the app on my headset the playerprefs don't seem to work correctly at all.
I also have trouble connecting unity to the headset so I can't easily see debug info, maybe I should just bite the bullet and set up an adb connection?
Or is it possible it's just some stupid security / permissions issue?
That doesn't look like a real log file at all. I don't know what a Unity person said on the forums, but I'm sure it can be built to the headset. Depending on what the actual error is of course.
But yeah if it is an out of date unity api sdk, you can manually upgrade it via android studio (you want target 32 for quest). If it's an out of date gradle, you can install a higher version as well too
That would be easy to do though. You can get the Screen.resolution to get the headset resolution.
But let's say you want 600 width and the screen is 3000 width. You just need TargetWidth / ScreenWidth (0.2 in this case). That'll give you a consistent screen resolution multiplier on each headset.
Then apply that via
https://docs.unity3d.com/ScriptReference/XR.XRSettings-renderViewportScale.html
I am looking for a way to have the XRIT grab component grab onto the mesh instead of the pivot. The object is generated at runtime and I have little control over the pivot.
Any ideas?
I already move the object in place so the collider touches the hand, but then it just offsets when selecting/grabbing it
Hi I am using the xr interaction toolkit. I am trying to test out eye tracking
I get this error message. I need to use a game object to metaphorically symbolise the eye
Please could you tell me if this is possible and any tips on how to make this happen please š
Thank you!
That's a good solution, thanks!
Which device are you using?
windows 11 home, Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz 2.21 GHz, 64-bit operating system, x64-based processor
I dont have an actual eye tracker yet, so thats why i want simulate one
Thanks so much @north path
Well, then it is logical it says no devices are found.
Maybe the XRIT simulator/emulator from the samples has eye tracking support?
Ok thank you i will work out how to use the simulators
Fixed it with dynamic attatch I think
Nvm, not fully fixed
Help is appreciated
Hey so small update to the "could not find active control after binding resolution" error.
Good news and bad news. Bad news is, I was unable to find a solution to the problem using the Quest Link/desktop play version. Good news is, I set up a Quest build using Justin P Barnett's tutorial, and I seem to be able to switch from hands to controllers there just fine when using the Quest2 Headset as a standalone.
So if anyone else is having this issue, if you build to the headset it should resolve the issue (as far as I can tell from my early tests anyway).
I need help building a toy example connecting two Quest 2s. When I try to create a connection by calling NetworkManager.Singleton.CreateHost() through a simple UI, I get a log saying the connection failed. What am I missing here?
Can send code samples and config ss if pinged.
Anyone working with Quest? i got this porblem, where all objects are clipping inside eachother, the further away the more, this only happens on quest standalone tho, on pc it doesnt, might it be a graphics settings issue? Glad for any help!
Hi, so I have a collider which is a trigger, which responds to my gaze interaction (so when I look at it, it changes color). However, I wanted it to change color when it's within a certain field of view. I've tried the cone cast setting but there are a few random cases where the lines happen to miss the object (from a certain angle). Is there a way to have a cone with volume be the raycast?
What if the collider was just a larger sphere than the actual object you're changing?
And maybe scale the collider based on distance from the player?
(I don't know if that's a good idea, though)
yeah that's what i set for now, seems to have done the job
wish there was a collider that could detect being in the camera fov
Nothing you can do with the frustum, eh?
you could do something like to to see if it is in view
void Start()
{
myRenderer = GetComponent<Renderer>();
}
void Update()
{
if (myRenderer.isVisible)
{
//do thing.
}
}```
can anyone familiar with gorilla tag help me out?
i'll try that!
another question - I want to detect when my headset is inside a sphere collider. The rig has a character controller and a cc driver. Can I put a direct interactor on the main camera with a collider, so another collider can detect it
No clue if anyone could help me out here
I have this skeleton
And rn itās all one model
But I want each bone to be separated so each one can be interacted with
Anyone know how I could do this?
Anyone?
anyone know how to fix this:
You'll need to check the console for errors and look for / reassign the missing script.
It may help to post in #archived-networking and share what network framework you are using. At the base of it, Quest is just Android in a headset. So anything you are doing for mobile networking would apply. There isn't enough information in your post to provide any guidance though.
Blender is the quickest
How is the framerate when you create the build and run it on the headset itself?
It's hard to say, it could be thermal throttling, or something there-in. We aren't experiencing any issues in that regard BUT about half the team uses a vive/index for editor side, and on-device for pico/quest/focus. The other half use Oculus Desktop => Quest, and haven't shared any issues. I'd take a peek at the performance monitor thing when it is happening and see if it is waiting for the CPU or GPU
Could be something as easy as a nvidia upgrade though with the unusual behaviour
Would I just have to delete every other bone and then save? For every bone?
I'd probably just cut them all in the same file, and keep them as separate objects
But it'll take a good 20mins
Its a lot easier to get a pre separated model
Itās gonna take me a lotttt longer
Also how do I make separate objects?
It's hard to say without looking at it.
Iāll send screenshots some other time
Ty for the help
thanks for the tip
if you're on windows 11, my laptop was sluggish and got better after i deprioritized many windows services in the task manager details tab
Hey are there any VR devs looking for work on here? I was paying to get a VR framework for my game done but the guy I was paying ghosted halfway through and Iām willing and able to pay for someone to either take over where he left off or start from scratch. DM me for details
(Also if this is the wrong channel sorry š )
Yep, I did so right after. My question indeed is vague, but it has more context in networking so far (VR-wise things seem okay!)
!collab
We do not accept job or collab posts on discord.
Please use the forums:
⢠Commercial Job Seeking
⢠Commercial Job Offering
⢠Non Commercial Collaboration
It's all good, there are some other unity discords you can post opportunities as well š
Thanks!!
Hello, can someone tell my why my Hand tracking is so off. and why the ray is always facing the same direction of my room?
unity and all packages are up to date. using HTC Vive Pro 2
Hey, VR folks - so, I was able to get the climb function working with hand tracking (woo!)
However, my playtesters really don't like using the pinch motion to grab or climb objects. They say it's really unnatural and feels strange to them.
Is there a way that I could somehow swap out the "pinch" gesture to use something else instead? Such as a fist or intermediate grab? If so, where would I make those changes? Thanks in advance!
if using xrt, gesture can be added, it's a per finger curl and spread
I do know how to set up custom gestures, I guess I was just wondering if it was at all possible to "replace" the pinch gesture as the grab somehow (so I could use all the default code, just with a different gesture), or if I would have to write a completely different script/function based on a custom gesture.
no need for code, there is a UI to make new custom gesture assets, just reference that asset
Remove it from your custom manifest
Wait can you add me and help me tomorrow
I don't do that kind of thing, but if you post in here tomorrow I'm sure someone will help
Ok
I don't know how you can find the time to help so many people during the day @buoyant jolt
idk how to fix
i looked on the burst form and online and no one has the error that i have
i am using unity ver 2023.3.0b10
burst ver 1.8.13
Thanks!@@
I cant see error at the moment, because I'm on my phone, but it should be mentioned you are using a beta unity version, and might be experiencing an issue related to that
Check if there are animation rigging updates maybe?
This can also be when the rig or bones are not setup properly. Keep looking for similar errors :P
Or maybe try an LTS to make sure it's not a beta issue (please file a bug report if it works in lts but not in beta so it can be fixed)
it happend before i updated too
no update, same error in older version, (why i updated), all bones setup
i also kinda need a working build in the next day
I'm not sure if anyone can help, but I'm a beginner with unity and game designs (working in cyber security) but I'm working with Meta Avatar SDKs, I found they dont provide any meshes nor any colliders or anything for their avatars, I'm trying to put a watch on the wrist, so I attached it to the lower left arm joint and calculated the distance where it needs to be sat which worked great. Now I need to position the watch so the arm is exactly in the middle, then shrink it's scale based on the distance from the bottom face of the watch to the shirt and from the bottom strap to the bottom of the shirt.
private void AdjustWatchPosition()
{
// Cast rays upwards and downwards from the watch position
RaycastHit hitBottom;
RaycastHit hitTop;
if (Physics.Raycast(watch.transform.position, Vector3.down, out hitBottom, maxRaycastDistance, detectionLayer) &&
Physics.Raycast(watch.transform.position, Vector3.up, out hitTop, maxRaycastDistance, detectionLayer))
{
// Get the positions of the top and bottom hit points
Vector3 bottomPosition = hitBottom.point;
Vector3 topPosition = hitTop.point;
// Calculate the midpoint between the top and bottom positions
Vector3 midpoint = (bottomPosition + topPosition) / 2f;
// Set the watch's position to the calculated midpoint
watch.transform.position = midpoint;
}
else
{
Debug.Log("No object detected above or below the watch.");
}
}
The current code has this effect:
Does anyone know how to make hands collide with walls? im trying to make a door but my hands just keep phasing through it becuase they dont collide? how do i stop this? (an example of what i want is in the game: Ghosts of Tabor. Can someone please help?
Is it the model or hands?
you need a separate hand game object, use physics to make it follow your tracked controllers position.
I can't really help, sorry.
Keep googling :P
And start from a fresh IK rig to build it up until it breaks
Could it be throttling?
I assume this is standalone VR.
How are the power levels and temps
have a look at the open source code of Gorilla Tags movement, they do it wonderfully, then put your IK targets/hands under the Follower and make a script that folows the controllers rotation
help plsss
theres no google results
for the error code
none
at all
i tried rebuilding
still has te error
Clear cache and search for different parts of the errors.
Again, I can't really help
how do i clear cache
Delete the library folder, but I doubt it is going to help
you bitch
my lighting
it takes 4 hours
dude
ughghghgh
Please don't call people who spend their free time to help you a bitch. Otherwise I'll ping moderators
Clearing cache, well, clears cache.
Lighting data should be stored in the project files tho
If you can't be civilized here, then don't bother posting. And stop spamming single word lines too while you're at it.
š
my lights wont bake
it stays bright
YES
I FOUND MY LIGHTING DATA IN MY RECYCLE BIN
HELL YEAH
@north path the lighting was n my asset folder
but it got deleted
how?????
If it was in the recycling bin you might have deleted it by accident in file explorer.
Not fully sure, but usually if Unity deletes something it is filly deleted
Also I am not going to continue helping, good luck with the project
hiiii...im working with photogrammetry, and i needed to export the model from Metashape to Unity. This is how it looks on Metashape vs Unity. I exported the model with 50 textures of 4096x4096. I am also attaching my Unity settings cause I was trying to look for solutions on forums and it said to put compression to "None" and other things that I tried, but i cant see any changes. Is there anyway I can improve the quality? or make it look more like in Metashape?
Hey everyone, a bit of a stumper for you all. I wanted to get URP-based bloom working on the Apple Vision Pro, and it works fine in the editor.
But running it on the headset or the visionOS simulator introduces a weird blue-ish light/texture that shows up on a portion of the right eye of the headset, everything else is fine.
The blue-ish light/texture isn't showing up on screenshots for whatever reason so my description will have to do, but just curious if anyone here has run into such issues before for post-processing effects in VR?
I'm not using a camera stack or anything fancy, just a main camera with post-processing enabled to see a global Bloom volume.
XR Interaction toolkit. Changing input action type from Vector2 to button giving exception cant read Vector2. Any way to change teleport input from Vector2 to button.
Hello, I'm using the default Unity VR scene, and when grabbing an object it seems to lag a bit behind from the controller. I have set the movement type to be instantaneous, with no smoothing and I just can't figure out what is causing it.
When using the OVRVirtualKeyboard I can't get it to spawn infront of my input device. Best I can do is stuck to a ray from my hand. Anyone have this issue?
Also in the logcat I see a ton of this error:
2024/03/15 17:05:35.483 19963 19984 Error Unity at UnityEngine.TouchScreenKeyboard..ctor (System.String text, UnityEngine.TouchScreenKeyboardType keyboardType, System.Boolean autocorrection, System.Boolean multiline, System.Boolean secure, System.Boolean alert, System.String textPlaceholder, System.Int32 characterLimit) [0x00000] in <00000000000000000000000000000000>:0
Iirc, metashape overlays a point cloud with the mesh. It took me quite a while to get a perfect output, but it's never quite perfect.
After that, you usually need to also toss it in blender and do a texture bake to a lower resolution model.
I've found metashape to have the best medium good quality, but never perfect.
You may also want to give reality capture a try now that it is free.
That looks pretty good to me from your samples, and if you are going to Quest, it won't let you go above 4K textures anyway and will downscale them
You can also try unchecking mipmaps and point texturing, it'll make it sharper but at a sacrifice of hiding pixels. Might be worth a toggle.
Also don't forget to mark as static and bake the lights on it, and bake a reflection probe if using PBR texture maps as that impacts the final render too. Unitys always (to me) had a soft diffusion that I see in renders though versus substance/blender/metashape etc.
im using photon vr and i keep getting this error:
ive already checked in the photonvrmanager the head has been assigned
(very clearly)
š
I would check were the error is in the code and see what can be causing it. I know that for the VR manager it does a few checks to make sure the object is valid so it could be failing one of those. Iām not at my computer but I could take a look around the script and see what could be going wrong in about 1 day if you still canāt figure it out by then
alright
im going to try to reimport photonvrmanager
it worked! but now i have a new problem..my player model spawns away from my actual player rig
and it doesnt react with the either of the controllers
I really donāt know what could be wrong š I just started working with multiplayer so I only know basic stuff. My guess is the controllers arenāt assigned correctly
If itās still not working I would make a test project and just do the bare minimum to test it
Too see if it always breaks or if something is wrong with your package
both of the controllers are reactive when i move them.
ive done multiple projects like this and this is my first time encountering an issue like this
I'll reinstall the package to be safe
Then itās probably just an issue with package then
But thatās just my guess
Could be
Like I said Iām not a professional so take everything I say with a grain of salt š
seemed to work tbh, i reimported the package and the original model for the player works fine. ill let yk once im done added my player model
yep, and its fixed.
wish id knew it'd have been this easy š¤£
i having this error, dont know what to do
Thank you! This is the first time Im doing something like this so this is very helpful. Question, Metashape has its down decimate tool, which I think its pretty good compared to the one with Blender. Should I still bake from high to low poly? Or just decimating and generating new texture in Metashape should work?
the xr ray things never work for me, even when i set them up like everybody else does
Yeah, you can definitely do it that way. For us, we just need perfect geometry like always, so a round of blender cleanup is normal. It's a lot of fun I'm glad your experimenting with it
working on built in render pipeline, trying to make a transparent shader graph and in editor it works fine but when i build it to meta quest it doesn't render. it does in multi pass but in single pass it doesnt š¦ is there any way around it?
You probably deactivated the light toggle in your scene view (top part of the view, third icon between the draw mode and the Gizmos settings). It basically means that you will not see the changes you are doing on this object in the scene view unless you activate the light toggle.
any advice for this error
Sure, !vrchat
Join the growing VRChat community as you explore, play, and create the future of social VR! https://discord.com/invite/vrchat
But I'd check the error that says to click on it to read the console log for more details, the errors probably in that one
thank youu
im stuck at this screen
-
Try to remove game objects from scene (one by one) to see when it will actually increase the progress of the scene build, identify the related game object or scripts
-
Check your editor logs and see if there are any errors etc. and take an action
-
Clear library, reimport project or try to build with different pc
This is setup correctly but suddenly my Hands just stopped working? they both just stick at 0,0,0 now
hi pls help
i thought i asked here already but searching back it seems i asked somewhere else
how do i make hand tools?
e.g. press a to hold stick, press b to hold gun. press again to switch back to hand
!learn
:teacher: Unity Learn ā
Over 750 hours of free live and on-demand learning content for all levels of experience!
Tutorials cover input and OpenXR @hollow moss - there are a lot or ways to tackle that
I'd encourage to minimize button use though. It's much more realistic to reach down and grab the sword, etc
theyre going to use it through out the game
like hl:A, song in the smoke, and many other games players have the option to sort of quick access certain tools
im thankful, but this is almost like telling me to google it. i did. i already learned vr development. im not new. i did not find a solution
ive made it already last time
but then the normal bugged
the tp ray never disappears
my method was to disable the normal hand and enable my tool hand
and when reenabled, the bug happens
Hmm are they working and showing up in oculus desktop or steamVR OK?
yea in SteamHome there perfectly fine
how do i fix tp ray not disapearing after i disable and enable my hand?
i can give more info inc. code. if someone is interested
Sorry, walking pups, is this for vive or index? They needed some extra steps to get working in openxr in most unity versions
Vive Cosmos
its weird though it was perfectly fine
then something both oculus popped up and boom forever broken
it was roughly when this came up
Found the issue
Metas a Cuck
pardon my french
That being added screwed EVERYTHING
how do i fix tp ray not disapearing after i disable and enable my hand?
wait muting video
Im going to sleep. More info tomorow
Hey, ive been rigging this character for VR Controllers and this has happened to the poor forearms š¤£
can someone help please
why can't i test my game in vr mode using unity with steamvr
How are you rigging it?
How is the rig setup and which IK solution do you use?
im using a 2bone Constraint for all 3 parts of the arm and then controlling the Tip using a "Avatar Controller"
using UnityEngine;
[System.Serializable]
public class MapTransform
{
public Transform vrTarget;
public Transform IKTarget;
public Vector3 trackingPositionOffset;
public Vector3 trackingRotationOffset;
public void MapVRAvatar()
{
IKTarget.position = vrTarget.TransformPoint(trackingPositionOffset);
IKTarget.rotation = vrTarget.rotation * Quaternion.Euler(trackingRotationOffset);
}
}
public class AvatarController : MonoBehaviour
{
[SerializeField] private MapTransform head;
[SerializeField] private MapTransform leftHand;
[SerializeField] private MapTransform rightHand;
[SerializeField] private float turnSmoothness;
[SerializeField] private Transform IKHead;
[SerializeField] private Vector3 headBodyOffset;
void LateUpdate()
{
transform.position = IKHead.position + headBodyOffset;
transform.forward = Vector3.Lerp(transform.forward, Vector3.ProjectOnPlane(IKHead.forward, Vector3.up).normalized, Time.deltaTime * turnSmoothness); ;
head.MapVRAvatar();
leftHand.MapVRAvatar();
rightHand.MapVRAvatar();
}
}
Not to sure what to show you sorry
I would take a look at this and see what is taking up the most storage for the build. Then you can adjust from there. https://docs.unity3d.com/Manual/ReducingFilesize.html
You could probably go to a photo editor and up the brightness then export it then reimport it
If itās a material you could add a white emission to make it brighter
Anyone able to help
go one step at a time: first do the 2 bone ik constraint with zero code
attaching target no hint to the vr hand transform
go one step at a time: first do the 2
anyone knows how to fix this? originally i was disabling it to enable a another hand. but the tp ray won't disappear
for now im not gonna disable it anymore (in my game), ill use body socket inventory instead.
the other hands are basically tools. e.g. steam home's multi tool
this thing?
Check the full errors
ok
now what?
Read what the errors say and google the errors.
If that does not return anything send it here.
We cannot magically know what the error is
ok
its saying Probably the SDK is read-only
how do i change this ?
Send the full error and no need to double ping me (:
ok.
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2022.3.20f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\32.0.0\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2022.3.20f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2022.3.20f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-31\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2022.3.20f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-32\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2022.3.20f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\package.xml. Probably the SDK is read-only (theres 3 error)
is this expected behaviour:
In Unity play editor, I can only see my hands when normal Steam is open in the background.
If it's JUST steamVR open, I can't see them.
I thought you only need steamVR open and not the normal steam dashboard?
- because when the game is built, and I only have steamVR open, it's fine
Open Editor.log after building and find the build report. It lists the assets in your game sorted by size
I'd say google around. Not sure
Try editing that file in notepad, see if it really is read only.
The error on the right says you have an androidmanifest.xml I your project that specifies quest support. Current meta SDK (finally) adds that to the manifest. So it is getting conflicted. You just need to remove that line from your manifest, which is probably in /plugins/androjd
im kindoff new
No worries, not your fault, it's a bad system caused by meta being lazy in the past. It's something you just learn over time.
But search your project heiarchy (not scene) for the word 'manifest' and open those in visual studio.
Look for any that have a matching line saying quest|quest2. That line can be deleted.
Make sure to backup the file or have source control in place in case you break something
The way it works is unity needs to merge all the manifest files together into one final one for android builds. And if it gets two files with a different answer, and it isn't sure what to do, it'll stop and abort the build process. Meta arbitrarily made everyone include a rather pointless tag in their manifest files ages ago without telling them or putting it in their SDK, which caused quite the mess in the past and this is just a long extension of that problem.
so i need to change 1 bloc.note?
I'm not sure where that comes from
In guessing you created a template or downloaded one when you made your project.
yeah, i needed to add the oculus support template to see whats wrong and fix it
and im getting 3 more errors
do these manifest problems happen at submission? for me it worked out of the box
Some - yes.
It'll block you at applab upload if the api or manifest settings they want are missing
good to know. we're submitting an unreal project but i'm not involved in that part. do they give you clear directions on how to amend the file?
Pretty much, it'll tell you why
You just drag the apk/obb into mqdh, select where to upload it, and it'll mention if there is a problem
Then once uploaded and all is good, it goes through their automated checks and makes sure it reaches all the desired framerstes etc
probably the same metafile dance as with sony š
I would just lower the vertex count on some models
Or see which models have the most vertexās and make them less detailed to see if that fixes it
It's because DAZ models are meant for photography type things, not for games. They are terribly optimized.
Blend shapes and animations have very little difference in project size (megabytes). But a poorly optimized model will have a ton of massive textures and bad model practices. It's most likely the meshes and the textures.
I'm trying to enable foveated rendering. It's activated in the Oculus XR plugin settings. The docs says to set OVRPlugin.foveatedRenderingLevel = OVRPlugin.FoveatedRenderingLevel.High;. But where? I'm new to Unity..
why is only my left eye rendering hands
Probably the shader on it isn't compatible with the rendering. If this is only in the editor, it might render fine on the headset as a standlone experience. But in BiRP, switching from forward rendering to deferred might fix it in the meantime (at a performance cost)
i fixed it it turns out single pass instanced was selected instead of multi pass in settings
which broke it
Yeah that's what I was thinking
but now for some reason i'm getting these weird warnings
'Enable Input Actions' is enabled, but Select, Activate, and/or UI Press Action is disabled. The controller input will not be handled correctly until the Input Actions are enabled. Input Actions in an Input Action Asset must be explicitly enabled to read the current value of the action. The Input Action Manager behavior can be added to a GameObject in a Scene and used to enable all Input Actions in a referenced Input Action Asset.
UnityEngine.XR.Interaction.Toolkit.XRBaseController:Update () (at Library/PackageCache/com.unity.xr.interaction.toolkit@2.5.3/Runtime/Interaction/Controllers/XRBaseController.cs:303)
it's weird
idk how to fix
any idea?
how to fix?
hh
I'm using Unity 2022.3.4f1 with the Inbuilt Render Pipeline, and I'm projecting a RenderTexture onto the Unity Terrain, on PCVR and Quest 2 it works fine, but on Quest 3 it has weird artifacting issues and I don't know why. I'm not using occlusion culling and it's just the act of projecting the rendertexture onto the terrain that seems to cause this.
Anyone know how I can fix this? Thanks
ahh that'll probably fix mime too thanks
How can i best align the VR controller hands with the avatar rigged ones?
@buoyant jolt which version control do you use?
self hosted gitlab š
yup! but ive asked the team not to use gitlfs, as we have a massive server with tons of storage
so now it just treats it the same as any other asset for versioning
what are you looking into?
we're using perforce, since we may combine unity in the mix, i was wondering what works better with Unity in a team
i personally use git on a home server for my own projects, but this would be a few people on one common repo
so perhaps Plastic makes sense to avoid the hassle
I've heard good things about perforce I'm definitely curious about it
Plastic they rebranded to unity version control, but some folks seemed to really be liking it
it's super clunky and definitely won't allow collisions but also reverting isn't as easy as in git
Hmm interesting
and as you know, when moving fast, you need to go back and forth a lot
Yeah definitely, and you do want to encourage experimentation
but that's my first experience with p4 and the other guys know since they're all AAA veterans but not expert, no sysadmin to baby sit us
p4 integration in unreal is crazy good
i mean you can diff a BP and you'll see the before and after as BP graphs
Haha yeah, hmm I'll have to keep that in mind, as we are moving a bunch of stuff to Unreal. Trying to get our stuff moved to GDXR
Oh darn yeah that would be super nicen
I think that alone sells me on it š
it's next level, i mean when i saw that i was like : oh yeah that's a tool for pros
haha yes, just make sure you have someone solid to set it up, it's like enterprise software from the 90s
Haha fair point!
Hey, couldnt find anything on this anywhere, maybe someone here has an idea for me? I'd appreciate any guidance.
My basic setup:
I have an application where you can at runtime plug in a vr headset, press a button and go into VR (while ideally the screen should keep displaying the same), I'm using OpenXR, unity 2020.3 and a Meta Quest 3 with quest link for development
My problem is the following:
The UI setup is a little finicky so i'd prefer changing it as little as possible, currently it's set up to render as Screen Space Overlay on Screen 1, but when the headset detects user presence it takes the UI, stops displaying it on the PC and instead displays it on the headset where it doesnt render anything useful and just clutters vision. Is it possible to tell the canvas to not render on my VR device and instead just on regular displays somehow?
I figured out a workaround
- i now have an overlay camera without clearing, that renders only UI
- My canvas renders to
ScreenSpace - Cameraand targets that overlay camera)
That will definitely help. For characters, we mostly use iClone, as it generates reasonable enough characters for us with blendshapes and rigs. It's meant for games, so its a bit more predictable. It IS expensive as hell.
You could use a DAZ model, but when someone creates chainmail in daz (for example) it is usually made up of millions of rings, which translates to say 100 million polygons - just for a shirt. And with Unity you really want to keep your characters below 200K at the very highest.
This isn't quite the same issue with Unreal, provided you are able to get the nanite/VR working properly for you.
What I would suggest though, is to bring those models into something (like Blender) and actually do some polygon counts on the meshes. You can also do this in Unity, I have a little utility class somewhere for that I can dig up if it helps. But if you look you might get lucky and find out it is just one shirt or one item causing the majority of the problems
How can i use "SuperSampling" in unity to crispen the VR quality
Currently some text is just not reasonably readable
Text is always a bit difficult, as different headsets have different resolutions. Depending on your headset and framework there are different ways (if you google antialiasing oculus framework for example - you'll find the info), just keep in mind antialiasing will have aperformance impact.
This app has this to control such info
is there a way to use this in Unity?
That would likely be only in the SteamVR / OpenVR (not OpenXR) SDK for Unity
You'll need to dig a bit to find that info for Unity though I imagine
I'm having issues with grabbing objects. When I grab my object with my right hand, it snaps to the correct position, but when I grab it with my left hand its hover outside of the hand.
Do I need 2 attach points?
Is that even possible?
Also, I want the object to be able to interact physically with the enviroment, and heard that means I need to use velocity tracking, but velocity tracking is super laggy.
Okay I solved this by just having the colliders be childeren of the main object
And making the movement type instant
I'm a VR developer and currently using the focus 3 headset with Business Streaming / Steam VR. I'm trying to create a custom safety boundary effect when players get with in proximity to the boundary set during installation. My question is how do i get the boundary data so that I can apply a mesh to the boundary points? Is this a Vive question, SteamVR or unity. Thanks!
what are the obstacles in using nanite in VR?
Got a simple login page but the input field is not responding properly in a Quest 2 build. Selecting and using the input field works fine in the editor but not in the build. Haven't been able to find any concrete solution online. Anyone got some insight?
I'm playing around with the XR Interaction Toolkit 3.0.1. When I move the player around using the XR Device Simulator, the Character Controller stays in place at the starting origin. Is there something I'm missing?
Hey, i was wondering if anyone has used the "Vive Hand Tracking SDK" and could help me set it up
I added the "Gesture Provider" to the camera But then it begins to crash Unity every time i load the game
š
Any help would be much appreciated
Anyone else having trouble getting the XR Interaction Toolkit working in 2023? I'm getting this error when installing "Library\PackageCache\com.unity.xr.management@4.4.1\Editor\Metadata\KnownPackages.cs(12,70): error CS0117: 'BuildTargetGroup' does not contain a definition for 'VisionOS'"
lol for me it doesn't even detect my quest 2 controllers, head tracking works fine though. Did you find out how to make the controllers appear and work? I was watching Valem's Tutorials and it looks like it worked for him immediately
I think 3.0.1 was intended for Unity 6. I installed Unity 6 and 3.0.1 was the default XR Toolkit Installation. 2022 and 2023 seem to still be on 2.X.X. I believe if you install the default XR Toolkit in 2022 first, then upgrade it to 3 it should work. XR Toolkit in 2023 seems broken, it gives me an error for VisionOS. I submitted a bug report for that issue.
I'm getting tired of Unity's QA measures when these new releases come out. I had to roll back to v20 of 2022 just the castle asset from Nature Manufacturer's asset to work properly. If I hadn't invested in so many assets I would've jumped ship and tried UE 5.
yea UE5 is instant when it comes to VR dev, much easier than what im trying to achieve on Unity. Im not even sure why some scripts / prefabs are missing in my project
How do I know in a script when my hands have grabbed a certain object (Using tags if possible)
How can i make this buttons (UI buttons) clickable on Press with the Vr hand
The openxr hands demo can interact with UI with both just fine. Some cleanup required.
by "openxr hands" do you mean the actual assigned models? as thats what im using and the Interaction toolkit?
nodemo
I use a different XR Rig that has the hand and controller models. But that one should work. It should already work with UI, minus the dumb stuff the OpenXR / XR Integration team changed. But I don't see those problems in your stack
Oculus plugin or OpenXR for a new VR project? Targeting quest devices.
i personally prefer openxr
Having tried both, I personally prefer OpenXR
Oculus has some nice features, but its a lot less customizable and more limited in my opinion.
Just found out that Unity 6 beta 12 supports GPU occlusion for single pass VR!
That's very nice
does anyone have problem importing starter assets from xr interaction toolkit? in particulare a sort of error " could not parse innput actions on JSON format............."
Share the full error if google did not help
here the full error:
Could not parse input actions in JSON format from 'Assets/Samples/XR Interaction Toolkit/3.0.1/Starter Assets/XRI Default Input Actions.inputactions' (System.InvalidOperationException: Failed to add object of type InputActionReference. Check that the definition is in a file of the same name and that it compiles properly.
at (wrapper managed-to-native) UnityEditor.AssetImporters.AssetImportContext.AddObjectToAsset(UnityEditor.AssetImporters.AssetImportContext,string,UnityEngine.Object,UnityEngine.Texture2D)
at UnityEngine.InputSystem.Editor.InputActionImporter.CreateInputActionReferences (UnityEngine.InputSystem.InputActionAsset asset, UnityEngine.InputSystem.Editor.InputActionImporter+AddObjectToAsset addObjectToAsset) [0x0004b] in .\Library\PackageCache\com.unity.inputsystem@1.8.1\InputSystem\Editor\AssetImporter\InputActionImporter.cs:186
at UnityEngine.InputSystem.Editor.InputActionImporter.SetupAsset (UnityEngine.InputSystem.InputActionAsset asset, UnityEngine.InputSystem.Editor.InputActionImporter+AddObjectToAsset addObjectToAsset) [0x00006] in .\Library\PackageCache\com.unity.inputsystem@1.8.1\InputSystem\Editor\AssetImporter\InputActionImporter.cs:147
at UnityEngine.InputSystem.Editor.InputActionImporter.CreateFromJson (UnityEditor.AssetImporters.AssetImportContext context) [0x0018c] in .\Library\PackageCache\com.unity.inputsystem@1.8.1\InputSystem\Editor\AssetImporter\InputActionImporter.cs:108 )
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)
Heyy, just migrated a project from Mac to Windows. Same editor version
All the same files, including the Library folder
And im getting a whole load of errors, mostly saying :
"Type '...' already defines a member called '...' with the same parameter types
The namespace '...' already contains a definition for '...'
I already tried deleting the library folder, for project to regenerate it
Thank you so much in advance
Using Oculus SDK, all packages are up to date
Also i just realized, ALL of my scripts are "missing or have compiled errors" my external tools are set up well, i can click any script and it opens it in visual stuido code, with all necessary plugins, i can edit and save the script, however it never changes that "missing" status
More of a general VR question than a unity one admittedly. But has anyone had an issue where hand tracking suddenly stops working, but only in quest link mode?
It works fine after I build my unity game and in the default quest scene, but it won't switch to hand tracking when running on the link
Does anyone know if itās still possible to design for the oculus go? I tried downloading an old version of unity from 2019, and even that is giving me issues š
If so, does anyone know how to set it up? Cuz whatever I did doesnāt workā¦
Is it worth just getting a quest 2 at this point since Meta discontinued the Go anyways?
I haven't worked on the Go, but I quite like the Quest 2 a lot so far. I'm still kind of a new dev but if you have any questions I'd be happy to answer to the best of my ability
Def, you can get a Quest 2 at an all time low right now if your willing to buy second hand
People are upgrading to the Quest 3 and want to get rid of their Q2
I've seen some for as low as $100
Which is a damn good deal for a working Q2 and controllers
Just make sure to get the correct charger, you don't wanna melt the charging port.
@lost prism !collab
We do not accept job or collab posts on discord.
Please use the forums:
⢠Commercial Job Seeking
⢠Commercial Job Offering
⢠Non Commercial Collaboration
It looks like your scripts were all copied and pasted twice, in two spots somehow.
Yes, the go was only 3dof, and there aren't really any 3dof headsets anymore. Might be better to let it go
Although I do have one client that still uses the go, as they prefer it for 360 videos.
Hi! Sorry for bothering, but what is the solution for re-centering on app startup? I also ran into this issue
If anyone else knows a solution for re-centering in OpenXR on startup please let me know! š Using Quest 3
I stopped looking into it, but if you find a solution it would be great if you could share it.
Oh I see š It's a bummer this is still an issue with OpenXR, I will share it with you if I find anything
Can anyone help me? Ive done the XR Plugin Management then installed the XR Interaction Toolkit package. I tried doing a xr rig but it didnt have any controllers. I tried to make the controller gameobject, but i didnt see a XR Controller script.
I also installed the starter assets
Oh, and the version is 2022.3.2f1
Nevermind, found the solution
i needed to install xr interaction toolkit again
Hey,
my game seems to be capped at a round 60fps No matter what i do
how can i fix this
My pc is not struggling at all and its a perfect 60 all the time
I think unity VR games are always capped at around 60fps, although it could be more depending on your PC
I think it's just to save performance since VR games are very performance heavy
So I don't think is too much of a problem
i used to get 90 solid and thjen it just stopped
I never trust the performance I get in editor. The bigger the project gets, the worse editor performs.
so make a build and go off that FPS?
i would. just to be sure.
Thanks
maybe your vsync is also forcing 60fps
88 is not enough for a 90 vsync
30 60 90 120 are vsyncable if I rmember correctly
Those are just generic errors. You have to read the body of those errors to find the real cause.
ok but like does anyone know how to fix them?
Hey everyone, I am having some troubles moving images on my Canvas, that I want the person that uses my VR app to see all the time in their view, no matter where they turn their head to. I managed to put the images on the canvas and make the canvas follow the camera as desired. But when I change the rectangular transforms of the images on the canvas, they move in the scene but they do not move in the game (XR device simulator, and on the VR itself) How can I adjust the positions of these images on my canvas? They are currently right in the middle of the canvas and I would like to slide them to left or right a bit.
If you post the actual error then yes of course. I'm not a mind reader so if you don't share the real error I can't help you.
The error you have now just says the build failed due to 2 errors, read the details to find out more.
I'm going to hope this UI isn't stuck to someone's face like a bad sticky note, but moving an image around on a canvas is just normal UI stuff. There isn't anything VR specific there. It's how you anchor or set up your image on the canvas. It's worth learning the UI system really well to understand how it'll work
It indeed is stuck to their face and stays in the same spot wherever they look, I want it to be this way. All of the resources I go through says:
Check render mode of the canvas is in world space (it is)
I don't see what I am doing wrong here. Every single tutorial can move them with rectangular transform. Do you know a Unity course about UI that I can follow?
If you look to see what errors are preventing the build, it will tell you what item(s) its having trouble with
I just got that one myself, and it turned out to be related to URP
But its hard to say what it would be for you because it's different for every project I imagine
Pretty sure I asked about this last week. But, someone the other day challenged me to try the XR Templates in Unity again, and that they "work great" right out of the box.
But, this here is 'game breaking' for me. If I can't figure out how to make this 1.3 meter character controller walk under a 2 meter overhang, I can't use this. And I want to, because it would speed up new projects drastically. Anyone know how to fix this issue?
I have my vr controller working, and I can walk around, but I'm EXTREMELY short when I load the game in, I can go below the floor if I crouch to the ground. While playing, I have to switch the tracking mode to device, then back to floor, then it works. I don't know why I have to switch it mid game then back to fix it once, how do I just fix the problem?
You are probably starting below the floor surface. After teleporting/moving or adjusting, the character controller they added to the XR Origin fixes the floor location for you. Check the starting pivot point for the XR Rig and make sure it isn't below the floor mesh
The starting pivot is above the ground.
When I play the collider sits perfectly on the ground, but the camera doesn't.
You can change the height of the character controller from 2 meters down to about 1.6 or 1.4
The Character Controller Driver I'm using automatically adjusts the height.
It sets to around 0.3 when Istart the game, which is really weird.
Yeah, I'm not a big fan of them stuffing the character controller into the XR Rig. It'll cause forced motion, which is pretty much VR 101 don't do.
I wonder why it works though when I switch the tracking mode back and forth mid game?
It probably recalculates...
I also have the height set to infinity, so it's not a maxing out problem.
I wouldn't be surprised if it's an xrtk openxr issue. It has some poorly designed areas. And the oculus floor / device level stuff has always been a bit problematic. And they only recently stuffed that controller in there. And in 3.0 they are redoing the entire locomotion system again... so I could see it being some kind of bug. But hard to say without replicating it and seeing what's up
I'm trying to not complain because at least they are trying now š
its already 1.3 meters. and doesn't fit. But, If i write my own movement script, my character controller can be as tall as 1.9 meters and still walk under that 2m easily. So I'm trying to figure out what in the locomotion system, is making it get stuck
Hey guys! I am working on a MR game with oculus sdk, whats the best way to test multiplayer builds?
I usually put a build in my headset. have my headset be one player, and my editor be other.
i need to keep my oculus link running in background otherwise the editor wont start and throw this error
:/
You can disable the scene capture part of the OVR Camera manager. And uncheck 'start XR on startup' in the XR manager.
sorry am not able to find disable scene capture
i disabled the OVRSceneManager and i think its working but the camera is rotating around in scene any way to fix that?
nvm figured it out, thanks a lot :P
Fwiw I use parallel sync and a headset on one editor and a simulator on the other
+1 for parallel sync, it's really nice for testing multiplayer games
one more question, is there any way to setup dummy room or do i need to create one by myself when the game begin?
Hello, I wanted to ask is it better to use Meta's VR build blocks to make a VR game, or use Unity's default XR package? I want to make a short adventure type game that wouldn't involve sophisticated mechanics but rather beautiful shaders, environment and that kind of stuff
š I'm using the xr interaction toolkit, I'm looking to make a debug.log play when you hover over a specific cube. I've assigned a script on "Hover Entered" for the cube, yet the script does not run. Any ideas?
You need to assign a function
Ah
Where is says "No Function" you need to click that find your scirpt that you refferenced then find the function you want to call
If that makes sense
Start is called at the start of the game
Ohh
You need to create a custom function
K so if I were to name the function "Glow" for example. How would I make that function inside of the class?
Haven't dinked with functions yet
Is it just a public void?
Inside the Print class Just do
Public void Glow()
{
//put your code here
}
Ya Public means it can be accessed from other scripts
Ah ha it worked!
and void is the return type
Okay so it only ends up running once, after I remove my hand from the object and enter it again it doesn't end up re-running
Is Hover Entered not the appropriate call?
Maybe, I haven't messed around with that type of stuff
Oh crap I retract that statement? It just runs when I start the game..
Do you still have the stuff in Start?
Oh nevermind I left the script somewhere else haha
Yeah it's still not running the function
Okay
It should look something like this
But Game Manager is replaced with Print and CheckScore is replaced with glow
Try referncing the script again
Becasue it should show Print instead of GlowItUp
Although I might be wrong
I ended up changing the naming*
Ah
Ya if you can send me a video of what you are doing so I can try and figure it out
It's a little bit hard to explain š
Sorry about this
Thanks for helping
Going in and naming it GlowItUp still results in the same issue
Perhaps thats not the correct call
Doesn't really explain why it says no function though
Oh did you put the script on the object
Then drag that object into the reference thing
That should work
Awesome, sorry it took so long for me to figure it out
this "haptic events" tick box never works for me (XR Ray Interactor)
any special setup needed for UI?
i found something in the project validation and i says [compatibillty] build target(unkown) is not supported, can someone help?
I'm following Valem Tutorials' video for XR Hands-based teleportation: https://www.youtube.com/watch?v=gg1eiCrY0e8&t=314s
However, I can't find bindings for Meta Aim Hands in the Input map. Please help ā I'm using XRI 3.0.1.
In this tutorial, we will learn how to teleport using hand tracking and gesture detection.
ā¤ļø Support on Patreon : https://www.patreon.com/ValemVR
š Subscribe for more Unity Tutorials : https://www.youtube.com/@ValemTutorials?sub_confirmation=1
š Discord : https://discord.gg/5uhRegs
š¦Twitter : https://twitter.com/valemvr?lang=en
š Main Channel...
Case in point..
i installed xr plugin management and xr interaction toolkit but i dont have xr controller (action-based)
Hey so I'm working on a VR game that needs to have good accuracy on controller speed to calibrate damage for swinging melee weapons.
I made a custom velocity tracking script. It works fine but I noticed the velocity values I get are very different when I do Oculus-Air-Link and play windows build of the game, and when I play on a native oculus quest2 build. The quest2 build the speeds are much less.
Is there some like "extrapolation" of the controller positions when using air link or something? Or something else thats different between openXR and oculus?
I ran into a similar issue when doing a physics based tic-tac-toe toss across game. What I did, Is detect if Android, and have a physics multiplier specific for android builds. Then if not android, have a different multiplier.
does anybody know, when a gameObject is attached to a socket, what method that manages that? That makes the gameObejct to be able attached
Could it be you're running at a different framerate?
This is most likely because you're using a different major version with the just released 3.0 XRIT. I'd recommend checking the example scenes if they do something like what you need
Maybe the XR Hand samples then.
Just checked out the hand sample ā doesn't have gesture based teleport. Might need to investigate the gesture sample I guess.
Could also try asking @gritty heart on the team, ref this message #š„½āvirtual-reality message
can someone help me, i go to build my game it loads and after it loads i go to my folder and nothing is there
and right after it builds my pc freezes for a second
The hand demo sample scene in xri samples has this configured. You also need the meta aim extension enabled in OpenXR.
Yeah not yet. Weāre working on that.
It adds a transformer to the to the grab interactable that keeps it held in place.
A socket is just an interactor with a fixed pose that grabs on contact.
Ahh i see
Thank you
I guess one way to do it is to adapt the gesture sample.
Yeah you can map gestures to the input actions needed to trigger teleport, and it should work
Also, meta aim hands have mysteriously appeared, so I can now use them
How so?
Well if you inspect the XR origin rig for controllers, thereās a few parts in charge of locomotion.
- the action based controller manager that turns input actions on and off depending on what youāre doing
- the locomotion providers
- the teleport interactor which uses input actions managed by the action based controller
If you create a gesture that fits into the input actual used by teleport, which is a vector2 afaik, youāll be able to configure your rig for hands in the same way as its configured for controllers and teleport should work.
You may need to create a custom input device that reads your gestureās events, or you can use the custom input readers (see xri 3.0 docs) to push the data through.
In xri 3.0 all input fields on interactors are input readers which means you can override the data field and set it to object, and then any monobehavior or scriptable object that implements IInputReader can trigger input
We have a sample on the hands rig on the near far interactor for hands to control how pinch release works
Can this be combined with Static Gesture Detection? Seems like an interesting application.
Sure why not
Or, maybe more simply, can I just trigger a teleport through the gesture events instead of through the input axis mapping?
I suspect I could find an input event and trigger it from a script.
Iād recommend looking at the near far interactor instead. Itās built way simpler than the ray interactor
Tho we donāt have any teleport sample with it
But yes you can trigger the teleport input actions via a script, especially if you use a custom input reader
I really recommend exploring how input readers work in 3.0
Itāll unlock a lot for you
That code you linked btw is specifically for ugui interaction. Has nothing to do with teleport
Okay, I should be looking at the Action Manager actually
Yes. It turns the input actions on and off. Tho the ray interactor still needs to trigger a select
I wish I had the kind of time to explore, but I am pinched for it. I must rely on hacks for now.
Because we built teleport in kind of a shitty way tbh. Weāre planning on streamlining it.
Input readers are a good way to hack stuff lol
It lets you modify input data read by interactors without modifying the interactor code or writing a full custom input device
Tho a full custom input device is the best solution to this problem
What I think might work is manually invoking the InputActionReference's performed action/event from the gesture event. The action mappings are public so I don't need reflection for it. Alternatively I could expose the underlying call via reflection.
Or just making it public by modifying the interactor code (opposite to using Input readers) since it's just part of the sample code, so it's editable.
This is what input readers do. They abstract the is performed calls so the interactor doesnāt know the difference
Youāre doing more work by avoiding input readers lol
On a different track: can I seemlessly switch between controllers and hands for input? Might just be a use case issue for me in that scenario.
Yep that works
Welp, I should look into this I suppose
Wait, how would I interface an InputReader with the StaticHandGesture's events?
i got it working, i remade everything
Create a script that reads the hand gesture data, and then implement IInputReader to process is performed. Then plug that into the interactors that need the input action. Thereās a 3 dots button on input fields on interactors that let you set it to type object so anything that implements the Interface is accepted
You can even set it to manual to debug in the inspector
I found IXRInputButtonReader and IXRInputValueReader<>. Guess I should go for that.
I'm trying to interface with UnityEngine.XR.Hands.Samples.GestureSample.StaticHandGesture.
imo I need to perform the action through an input value reader
I think I need to modify the StaticHandGesture script to perform the respective action when the gesture is detected.
In which case I could extend IXRInputButtonReader and perform the checks there.
Yeah its a interface so you just implement your script with that
I have an example using the IInputButtonReader interface in a script in the hands demo scene
But yes glad you're diving in
Okay so I figured that the StaticHandGesture script actually lets HandTrackingEvents poll for when the gesture is detected, so the design is not inherently event driven, as would be the case for a button or axis.
The InputReaders are polling driven as well
You have to write an update loop that checks the change in IsPerfermed state
Again, please look at how the hand demo scene handles this with its custom input reader
UnityEngine.XR.Interaction.Toolkit.Samples.Hands.ValueDerivedButtonReader right? Yeah, I can see the update loop there.
yep thats the one
@gritty heart I modified the script and added IXR*Reader to it. Which object/component should I provide this input reader to now?
Ok so now that you have the data, you can route it into the interactor that needs to read it. The teleport interator is the one that I believe requires it.
You may need to also handle some custom logic in the action manager component on the root of the controller to mediate the actions turned on and off according the other interactors being used. It should be easy to modify that script locally since it's a sample script, and instead of turning off the input action when it would for the teleport actions, you can enable/disable the input reader monobehavior component.
(though just be sure to reset isperformed and such as needed
Yeah, that's the kick: Controller Onput Action Manager doesn't support InputReaders. Modifying the script was inevitable.
right it doesn't, but it's a fairly simple script
That script is a sample script tho
vs the core xri interactor components
heres were to slot it in btw
well thats for nearfar
I dont have the teleport open
yep, hit the 3 dots on those
you can dump the activate one which I dont think is used
just set it to unused
That's okay, let me get to it.
I capped both at 72 fps so I dont think thats it...
Ya I was thinking of doing the same, just a multiplier. What did u set ur multiplier too btw?
Just checking if this is valid or not:
void SetupInteractorEvents()
{
if (m_NearFarInteractor != null)
{
m_NearFarInteractor.uiHoverEntered.AddListener(OnUIHoverEntered);
m_NearFarInteractor.uiHoverExited.AddListener(OnUIHoverExited);
m_BindingsGroup.AddBinding(
m_NearFarInteractor.selectionRegion.Subscribe(OnNearFarSelectionRegionChanged));
}
if (m_RayInteractor != null)
{
m_RayInteractor.selectEntered.AddListener(OnRaySelectEntered);
m_RayInteractor.selectExited.AddListener(OnRaySelectExited);
m_RayInteractor.uiHoverEntered.AddListener(OnUIHoverEntered);
m_RayInteractor.uiHoverExited.AddListener(OnUIHoverExited);
}
// !!!!!! CHECK HERE !!!!!!
var teleportModeAction = GetInputAction(m_TeleportMode);
if (teleportModeAction != null)
{
teleportModeAction.performed += OnStartTeleportWithContext;
teleportModeAction.performed += OnStartLocomotion;
m_StaticHandGesture.gesturePerformed.AddListener(OnStartTeleport);
teleportModeAction.canceled += OnCancelTeleportWithContext;
m_StaticHandGesture.gestureEnded.AddListener(OnCancelTeleport);
teleportModeAction.canceled += OnStopLocomotion;
}
var teleportModeCancelAction = GetInputAction(m_TeleportModeCancel);
if (teleportModeCancelAction != null)
{
teleportModeCancelAction.performed += OnCancelTeleportWithContext;
}
// !!!!!! END CHECK !!!!!!
var moveAction = GetInputAction(m_Move);
if (moveAction != null)
{
moveAction.started += OnStartLocomotion;
moveAction.canceled += OnStopLocomotion;
}
var turnAction = GetInputAction(m_Turn);
if (turnAction != null)
{
turnAction.started += OnStartLocomotion;
turnAction.canceled += OnStopLocomotion;
}
var snapTurnAction = GetInputAction(m_SnapTurn);
if (snapTurnAction != null)
{
snapTurnAction.started += OnStartLocomotion;
snapTurnAction.canceled += OnStopLocomotion;
}
}
I think that looks about right
Except I can't add the Locomotion callbacks to the CustomStaticHandGesture script ā different delegate signatures
ah but you can write new methods to handle it
I get its annoying tho
My team is working on doing this more natively btw
We just haven't gotten around to shipping it
teleport with hand gestures is 100% coming
Not quite... the locomotion callbacks rely on action contexts.
void OnStartLocomotion(InputAction.CallbackContext context)
{
m_LocomotionUsers.Add(context.action);
}
void OnStopLocomotion(InputAction.CallbackContext context)
{
m_LocomotionUsers.Remove(context.action);
if (m_LocomotionUsers.Count == 0 && m_HoveringScrollableUI)
{
DisableAllLocomotionActions();
UpdateUIActions();
}
}
fair enough but its just a matter of writing some glue code at this point
I know its tedious tho
the locomotion users set must become aware of the input reader
at this point I'm thinking it would have just been easier to make the callbacks public and to add them to the unity event list on StaticHandGesture
Right but either way you'd have to plug into the interactor itself with something
The action manager handles some of the load but the interactor itself needs the input to say -> select
The ray interactor on the teleport object fyi
Does it? I could bypass that component entirely I'm guessing.
The gesture detection happens completely separately from the input system as it is
yes but teleport doesn't
If you wrote your own teleport system sure
But the teleport logic with interactors relies on reading input data
I see. It must be linked to the body transform stuff.
anyhow I just noticed a hashset being used where an int would suffice
Feel free to post your feedback on the forums btw
This discord is fine for fast coms, but most of the team only monitors the forums
Aye, I'll probably post that thing on the forums, but I'm hyperfocused on getting my job done first, and in a working state!
Good luck
Didn't work as per usual lol
I swear I had the teleportation elements popping up on my hand earlier today, but those weren't there this time around
I'll focus on something else, my brain feels fried
No worries, I'll return to the problem some other time. Might just end up not having teleportation for fun!
fancy material on those characters?
10 skinnedmeshrenderers may be enough to lag quest
You might need to check the profiler / stats pane while looking at them to see. Could be shaders, could be lighting, could be the animation. The only way to know for sure is to catch it where you can see the stats then disable elements one at a time to figure it out.
40K tri's should be fine.
What does the stats pane show when you look at it?
If the poly count and batch count is reasonable, that'll suggest its code or shader
I'd just open the stats pane. hit play, and look at the model and see what the numbers say.
Yeah all the stats matter together, one that is a good and one that is a bad stats pane might help
At least it lets us rule things out
There are some extra influences, shaders and lighting can also do that.
Batches are good though
and 720K to 1.2M would make a diffefrence but not earth shattering
This only happens on the Quest itself right that it goes slow?
I think it might be good to check the Unity Log on the Quest and see if the shader is generating a error and spamming the evice maybe?
f:\Android\SDK\platform-tools\adb -d logcat -s Unity I use ADB for it, but you can use Logcat from the Unity Editor / Package Manager to see the logs in real time
It can be very helpful for mystery errors
No worries, if you do want to check it out though, you can install it from Package Manager.
https://docs.unity3d.com/Packages/com.unity.mobile.android-logcat@0.1/manual/index.html
And it'll show you all the errors on your quest / android devices in real time
Probably t he shaders as well. I had to rewrite about 80 shaders for BiRP VR support this week, including a bunch of particle packs off the store
But its a guess wthout looking. It could be a few things
I'm not sure, I don't really trust asset packs to be honest
But we don't do a lot of low poly unless it is for experimenting
Hi everyone, I want to ask you a question. Does anyone before tried to test VR app in HTC vive focus 3 without building?
I'm still a beginner in VR and Unity. I was following the VR project setup tutorial (VR development pathway) to do that but nothing showing in the headset when I hit play.
I tried to install WaveXR plugin but that didn't work too, even building the app failed. Isn't OpenXR plugin enough to do that as mentioned in the tutorial?
That works if they have an openxr plugin for standalone I think.
By default standalone doesn't always work sadly
Can anyone help? im on 2022.3.20f1
Do you have multiple openxr setting files?
Are there any script errors?
Are OpenXR and XR Managment up to date?
Deleted library folder to clear caches?
Tried 2022.3.22 already?
i started a project and this happend
idk imma check
Could be a corruption, who knows
true
Any idea why do I keep getting these errors whenever I leave the "Hand Visualizers" component turned on? The most interesting part is that it worked fine with it until out of random it started throwing these errors and makes VR very laggy... The hands have also disappeared except for VR controllers models
Did you import the hand visualizer sample in your project?
I would check the project validator in the XR settings
Also do a reimport all
what should I do then to make it work?
Uss their sdk if they dont have their own openxr plugin
And then fix that instead of trying to fix a workaround
Hella, i created an 360 stereosdkopic Video using rendertexture.
5760x5760.
Everything is Fine, but:
Die Part were the left und right end of the Videos wraps together (you know what i mean? š) there is a line flickering from top to bottom.
How can i fix this?
@buoyant jolt do you know why? š¤
idk and i just downgraded the xr mangement becuase the vision pro thingy and shoukd i delete the libary?
Why downgrade?
Seems like a bad idea
And deleting library can help with up and down grades
And you can check files of you dont know
downgrading is fine is just still saying the same error
ok ill delete it i guess
nvm im not fellin it
idk i might change editors
Particles should work
Vfx graph only works with Vulkan not OpenGLES
Custom shaders mostly work as long as they support single pass rendering
I'd have to see it to know why, sorry! We have also been moving to Unreal, so my last few 360 things have been over there as combined interactive experiences...
The two things I can think of though is some platforms are capped at 4096x4096. If it's coming in as a video clip, make sure to check transcode (option in Unity when the video clip is added there) and go for a coffee (it'll need a good 20mins). If creating it as a web experience, you use it as a URL to play (not an embedded clip). In which case I like to cut it up so it's easier to stream in over the web.
I recommend cutting a short video clip of 5 seconds, and using that while you are experimenting and debugging.
The Unity Particle Demo (asset store, with fire and smoke) system works fine (i just added it to a quest 3 demo project). I had to rework about 80 shaders from different projects last week to add VR support. Lots of the assets in the store use custom shaders which need to be updated for it.
If you are on URP though, your options are even more limited.
No it's a full thing. Unity has a particle demo thing in the asset store with about 20 effects. It's a great starting point and free.
All the assets there work great on quest.
Ah, I don't support URP. You are on your own š
My apologies I should have checked if you are using URP
We don't use URP, as it breaks a lot of shaders, and in my original benchmarks we found it to be less performant on the Quest 2. That was last year though, and it had a lot of performance issues with Vulcan at the time.
Without going into a lot of detail, I'm just wrapping up moving our templates to unity 2022. But stayed on the built in. We aren't seeing a reason to move to URP yet. But we probably will next year if we are still on Unity for our VR projects
I'm finally seeing positive results in benchmarking, but it doesn't solve a problem for us at the moment. I have a whole team though, so unity versions and pipelines need to be carefully considered as they have a sweeping impact
Long story short, we aren't using URP for anything, and I can't help much there I'm afraid
The stats from GDC show though about 50% of their VR projects are using URP/HDRP. So they are pushing hard to move the rest of us over.
URP has a lot of efficiency gains for batching in particular (SRP batcher is great).
It's also required if you want to use Unity's native mixed reality tooling, and if you care about vision pro, URP automatically converts to reality kit so you can do volume and unbounded mixed reality content.
This looks helpful if you need to manually convert some shaders over.
https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@8.2/manual/writing-shaders-urp-basic-unlit-structure.html
Genereally the recommendation is to use Shadergraph for custom shaders on URP, but yes you can totally write shaders by hand and convert existing ones
Anything made with shadergraph automatically supports instancing though
Even entity instancing if you care about ecs graphics
I'm not sure how long we are staying with Unity at this point, but I think if someone is planning to go Unity 6 and on, getting a URP workflow will be a must
Ah here wr go, this is the tests I came across recently, that really show strong URP performance gains including on Vulcan
In the 2x performance range in some cases, which definitely had me rethinking BiRP for once
Yup, I also reimported all and the project validator showed nothing but ā s. It worked when I restarted my PC, but I'm afraid the error will come back after some time
Weird. Feel free to post on the forums if the issue persists
https://forum.unity.com/forums/ar-vr-xr-discussion.80/
I think I found the issue, it's the Steam VR add-on
This time controllers started missing after 30 minutes, then I restarted SteamVR and it works again
Weird.
Yeah steamvr can be funky
It was ages ago. I don't remember.
hey, does anyone know how to get this menu to not pop up each time I click "Play"
Is there a reason you arent making the changes? Just curious before going down that discussion path
yes, first off, thats the screenshot from the documentation - here is mine:
I don't have enough understanding about how these plugins interact. In the current configuration, the "play" mode in unity editor works fine
The prompt that "oculus must be added to the active loaders" is strange. When I press fix, it enables both Oculus and OpenXR in my plugin in manager. By default, I can't even get into this configuration (its greyed out). So I'm not sure why the fix prompts me to do that
after clicking both fixes, it looks like this:
and the controller tracking gets into a strange state. The models are not tracked, but I can see the position values of the transform changing in the inspector. I think since by default this is greyed out, this is some sort of invalid configuration.
thats why
Sorry busy household š in the screen shot its just complaining about arkit
But I think thats the wrong sceenshot.
But yeah, I normally don't enable Oculus and OpenXR, that would behave odd. Normally I add openxr, and the oculus controller bindings. I'm not sure what's up
Yes my understanding was open xr with meta plugin enabled was correct configuration. (The ar kit screenshot was not mine it was from the documentation. I included it as a generic example of the menu)
Anyways, Iāll look into the error later but for now is there any way to stop it from popping up
Not that I know of, you could try the ignore build errors check mark. But you are in new territory for me in that regard:)
Update: I fixed it. Needed to uninstall the Oculus OpenXr package
too many packages with similar names, im getting lost in the sauce
Yes metas OpenXR loader from their sdk tends not to play nicely with Unityās built in OpenXR loader
I recommend pulling down the Mr template to get a good sense of how to configure things to get meta specific features working in OpenXR
It requires this package
https://docs.unity3d.com/Packages/com.unity.xr.meta-openxr@2.0/manual/index.html
Any ideas on how to do pose detection like Rumble VR? My initial thought was having reference points but thereās most likely a better way
And rumble vr does it how?
@gritty heart will be revisiting the teleporto thingo again today
If Looks Like this
Hey dev community!
Where do you guys put Player's scripts? is XROrigin gameObject the place for that? should "Player" be a parent of the XROrigin that has all its scripts?
@buoyant jolt problem solved! Mipmaps šš
heyy
i need help with a project
how can i add hand tracking in unity for a Google Cardboard VR project
if someone can help please guide me
its for a Hackathon
Nice!!
Maybe through OpenCV? AFAIK, that doesn't support hand tracking
Or a leap motion would do it too
There is an sdk I saw last year that implements camera based hand tracking on mobile. Not sure how it combines with cardboard, but it worked with ARCore
For mobile VR dev
What should I Learn
Itās a bit tough to describe but when you make a certain pose with your hands and HMD then it triggers some code. In rumbleās case, that summons things
You can implement ManoMotion and GoogleCardboard for hand tracking.
You can start with the development and vr development pathways on unity learn
Vr is a platform, so there is a lot to it and mastering everything is verrrry hard
I personally keep mine in their own empty game object called "player scripts", as a child of the player. For example, I have an object for my gesture tracking script, one for custom locomotion, one for player data, ect.
It probably depends on how complex it is, but I find this really helps keep things organized for me.
I have a question about the Oculus Interaction SDK.
Does anyone know how to adjust the sensitivity for recognizing an** index trigger press**? Currently, you need to press the index trigger completely down to select something in the ui.
I discovered that changing the AXIS_AS_BUTTON_THRESHOLD value from 0.5 to something close to 0 in the OVRInput class allows me to adjust the sensitivity. But that's definitely not the right solution, considering the OVR class is a core component and not something to mess with.
Is there maybe an alternative solution?
maybe mediapipe hands
hey simple thing but does anyone know why i cant find the XrController (Action based). ive found it in previous projects ive created but in this new one (and i was following steps) i cant find it. it's not there when i try search it and add it to my empty left hand
If you upgraded to XRI 3.0.1, it is no longer there. It was replaced with the Tracked Pose Driver and Input Readers on the Interactors themselves.
Can i downgrade?
What version of Unity are you using?
2022
Then yes, absolutely. You can edit the manifest and drop it to 2.5.3
yeah i wouldnt really want to use xri 3.0.1
We'll be releasing some fixes in a 2.5.4 patch fix very soon and then we have a minor version bump with 2.6.0 which includes a virtual keyboard sample and teleportation for climb interactables.
if i do keep this version though, do you know how i can allow it to track my hands movement as normal. or a simple youtube video?
because im quite confused
If you import the Starter Assets sample from Package Manager, there are some prefabs that have everything wired up and ready to go.
already done but since it's different you see im confused on where to put them!
The XR Origin (XR Rig) prefab shouldn't require any modification to use. What steps were you following? I might be able to help with modified instructions.
You can drag the XR Origin prefab into your scene at the root.
'How to make a vr game' by Valem Tut
you see in his tut he used controller action based and then applied the xr controllers default left/right. for me since now i dont have controller action based idk where things shall go its abit new. sorry also for disturbing you if i am
Ah, I'm very familiar with that series. We reviewed it to try and make the setup process more streamlined, even in XRI 2.5.3 where you no longer have to construct the XR Origin yourself. It's still good from a learning perspective.
Just a tip to avoid frustration: If do decide to change your project manifest to use 2.5.3, I recommend deleting the Samples\XR Interaction Toolkit\3.0.1 folder before doing so and reimporting the Starter Assets for the older version so you don't have compiler issues and/or possible editor crashes.
If you are going through his tutorials, I would recommend downgrading so the content is still relevant to your learning. Unfortunately, XRI 3.0 just released last week so there is not much content readily available in terms of tutorials since it is so new.
ok so i have done this. but now when i try play my game it wont play on my vr. im just there waiting. do you know why?
wait
yeah it keeps shutting down openxr
dont know why
Hello, my friends open xr does not want to work. she presses play, with all of the correct settings, and it does not open in VR.
Which headset, unity version, openxr version, do regular steam vr/oculus games work?
She built it for quest 2, and it worked, turns out she forgot to put the scene in the build.
Thanks though.
with tons of objects URP delivers. otherwise core is fine and has less edge cases. even in 2022.
writing shader in URP is not fun, shadergraph doesn't support tons of things.
The last benchmarks I ran were pretty bad for it with Quest and Pico support. But I see a slew of bugs they've patched around vulcan since, and the new benchmarks I'm seeing from third party finally look promising. That said though, built in can be optimized just fine for VR, so it still comes across as a bit of a make work project to me. I think the limitations outweigh the benefits in a lot of cases. I did see some stats from unity suggesting that there is a 50/50 split now specifically in VR for URP/HDRP vs BiRP
for those going SRP i recommend evaluating ASE
that's my experience too. Core can be optimized a lot, very flexible, dependable.
i'd say if you have 300 moving objects onscreen and can't be bothered writing your own draw indirect instancing then URP is the way. in unity 2020.LTS+ at least it was stable on Switch flavor of vulkan
Do people actually fking use the interaction SDKs for games?
Like, completed games
Obviously the bigger studios don't but even indie games, if you're actually trying to make a game with some decent interactions...
Right now I'm rewriting a couple Unreal shaders for VR, so it is quite the learning curve :D. But I still prefer that over shader graph
Do you mean the XRI? Or VR frameworks in general?
VR frameworks, I dunno, But I mean the XRI (Or XRT..?). Every tutorial I seen on VR revolves around it, I just don't understand how you could use something like that for other than prototyping
It's gotten a lot better and the last few iterations have been very forward thinking
Hey I work on XRI at Unity and I think you're wrong about it only being useful for prototyping. XRI 3.0 is very modular and extensible. You can replace the behavior of nearly every part of it to suit the needs of your game.
But, it is very much a toolkit. I think lots of people are building on top of it too.
Typically you can use it along side other frameworks too. So VRIF, AutoHands, VRTK, etc. Which gives you a lot more specific functionality if you want to go deeper.
But yeah, my general advice, is to treat all the frameworks as a prototyping start off. I'm very picking about things like comfort settings, and interactions. But what helps a lot is to use it as a stepping stone but extend it out to have your own focus and brand and style. With 2.x, it definitely isn't client ready. I think 3.x is a huge step forward but we do a lot internally that isn't in there and probably won't be (because it doesng make sense in all projects). So you'll kind of start creating your own ready to go stuff on top.
If you do a fair amount of VR, I do recommend creating your own template for things on top of OpenXR or XRIT.
You also need to get and maintain stable unity versions for cross platform, templates for AR/VR/Web. It can be a lot to do, but makes it easier to do projects consistently and quickly. But I digress.
I'm not surprised, how little we have access in shadergraph is a joke.
Are writing them by hand or using material editor?
at least ASE provides, in all pipelines, SSS, UI and adaptive tessellation
If you do a fair amount of VR, I do
for those interested in gfx performance, render pipelines and engines, here's a first video in a series. It's on an old proto made in 5.4, revived in 2022 BIRP and being ported to Unreal 5.4 https://youtu.be/Z0Z4mBhOxHw
This is to show the early port of my physics shoot'em up to Unreal 5.4.
I'm evaluating switching over to Unreal, seeing the pros and cons.
Crank material emissiveness to 100x and see the environment light up - Lumen is something else!
Nanite makes it easy to add assets, here, the brain is 30M poly and I didn't have to downres and bake delta nor...
not VR but it gives an idea of how much legroom BIRP has on a low end graphics card (about 3x the speed of a quest 2)
DAS GRINDMACHINE - Unreal 5.4 vs Unity 2...
General populas question... are people still experimenting with VRIF? I was debating bringing it into our sample project (mostly for the valves / levers and basic weapon style interactions). It feels better than writing that myself. I'm pretty sure I'll be bringing in autohands anyway and I know some people are having a good experience there. I have debated just adding both to our template - but not sure if VRIF is being used enough to warrant it. This is more for our general sample template, not our lightweight one.
looked at it, wanted a different feel, made my own. Stacking up frameworks is like playing jenga š
Yeah, we've been using our own for a long time now that is just all our tooling, openxr, and XRI (we call it CXR). This would be more of an experimental project for them to play with.
But it does help me answer it I think in context, thnk you
We originally went from VRTK -> OpenXR (our custom framework on top), then finally -> OpenXR & XRI (our custom framework on top). We've been very happy with that. But sometimes I wonder if we are in our own bubble too muhc and missing out on something good
Honestly I don't know why I have such an aversion to it
Maybe it started when I was delving into the code... lol.
The tracked pose driver is 600 lines long and can be entirely accomplished with this
private void OnEnable() { Application.onBeforeRender += UpdateHead; }
private void OnDisable() { Application.onBeforeRender -= UpdateHead; }
[BeforeRenderOrder(-30000)]
private void UpdateHead() {
head.localPosition = controls.Head.Pos.ReadValue<Vector3>();
head.localRotation = controls.Head.Rot.ReadValue<Quaternion>();
}```
After reading a bunch of the code I just don't trust it to be the backbone of my project
I like to code my own interaction system. It's dead simple, really.
There's only 2 scripts involved for the core of it
public interface IInteractable {
public Hand Interactor { get; set; }
public bool PreventInteraction { get; set; }
public void OnPicked();
public void OnHold();
public void OnDropped();
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public enum Side { Left, Right }
public class Hand : MonoBehaviour {
public Input input;
public Transform holdPoint;
public IInteractable held;
[SerializeField] Side side;
[SerializeField] GameObject vis;
[SerializeField] float grabThresh = 0.5f;
[SerializeField] bool hideOnGrab;
private Controls controls;
private void Awake() { controls = new(); }
private void OnEnable() { controls.Enable(); }
private void OnDisable() { controls.Disable(); }
public void Tick() {
if(input.grip.DidPass(grabThresh, input.lastGrip)) {
Collider[] overlap = Physics.OverlapSphere(holdPoint.position, 0.05f);
foreach (Collider col in overlap) {
if (held == null) {
if (col.TryGetComponent(out IInteractable interactable) && !interactable.PreventInteraction) {
if (interactable.Interactor) interactable.Interactor.Drop(); // Release if other controller is holding it
held = interactable;
held.Interactor = this;
held.OnPicked();
vis.SetActive(false);
break;
}
}
}
}
else if (held != null && input.grip > grabThresh) { held.OnHold(); }
else if (held != null && input.grip.DidFail(grabThresh, input.lastGrip)) { Drop(); }
}
public void Drop() {
vis.SetActive(true);
held.OnDropped();
held.Interactor = null;
held = null;
}
}```
Then you can implement that for any interaction you can imagine
Here's the most common one, a grab interactable. It also has code for very robust 2 hand grab.
https://gdl.space/tabigucoxo.cpp
But you can do anything with it, here is another implementation for the slide on a gun
https://gdl.space/enidoyofup.cpp
Here it is all in action (A few sounds are off, don't mind it)
But yeah I've only gotten into VR a few weeks ago so I haven't touched on rigidbodies or whatnot, but theoretically that system can be extended to work with anything.
I think I just see tutorials for Unity VR like how to set up a basic object you can grab, how to do this and that which is all very very basic and the XRI covers, but even (still super basic) stuff like you see in the 2 handed grab tutorial by Valem already cross into weird workarounds territory.. it just doesn't feel like something you could extend into a system for complex interactions in a complete game.
In my project I need to check if is the xr camera initialized in the XR.CoreUtils.XROrigin class. But I did not find a public accessor for m_CameraInitialized variable. Am I missing something? If not, could you please add a public accessor for the future releases.
Submit feedback through the roadmap. Don't ping groups or users outside of the conversation for support or feedback.
hello. so i was watching the part 3 of how to make a vr game with valem tut and i was up to the part where he added a continuous provider (action based). (im using xr toolkit by the way) and for some reason whenever i start my game i just get teleported up. like idk why. i have my player model abit above my map ground but whenever i start the game im just up in the air. would anyone know why??
Anyone know how what interactable event is called when you use the rigger while holding the objecct? (XR Toolkit)
Seems like you'd know
What do you mean?
Do you use the XR Interaction Toolkit?
How do you detect when the player uses the trigger whilst holding the gun?
It's done using tthe interactable events right?
No. That video is with a project that does not have the XRI toolkit installed. I provided all of the scripts involved in what you see (Well, except the magazine, rounds, and firearm reciever)
Ah oh okay
So look at the hand script, you can see that when you grab something it passes itself into the interactable. So any interactable will always be able to access the hand interacting with it during the three methods (OnPicked, OnHeld [updated framely], OnDropped).
Through this, it can access input.
So you're not actually reading input off directly from the input system, but rather the input system saves input into the hand framely, and objects being grabbed by the hand can read the input of it's interactor
Works very well for compartmentalization. hell, you could add a third hand if you wanted to.
I'm trying to write a json Application.persistantDataPath, but I keep getting an error that I don't have permission to access that path. I've seen the popup to grant the app permission, but it still doesn't work. Any ideas?
yeah i stopped using unity's stuff when i saw the tangle mess of code. all this is so trivial when you write it yourself.
you beat me on simplicity. love your style
Fixed
Can someone help me with a few errors I'm getting when I'm exporting my android VR game. (Its IL2CPP and daemon errors btw. Also the unity version I'm on is 2023.2.16f1)
https://gdl.space/tijeqabuvu.rb
https://gdl.space/isogesigaq.shell
<@&502884371011731486> thats a Ruby and shell file. I don't dare click the link
It's a paste website. It's not going to execute code.
Literally just bad extension recognition due to those being logs
Those two logs just show general errors. They say to look at other logs for the full error message.
The only thing I can note from that, is you are using a # sign in your project path, which could be a problem. But pure guess without seeing the deeper error logs
Apologies if this is a dumb question, but was the Autohands plugin compatible with hand tracking, or is it just for controllers?
Hey, im making an open world VR story game and im wondering if I should add motion blur, and if its even good for Vr games in general?
It could make someone motion sick and will need post processing (slow your game down). That said, I 100% believe in testing things and learning from them. I've mixed some odd post processing into VR and found some interesting results
I have spent the past 4 days fixing the XRKnob script from the XRI Toolkit. It now works with two hands at once. I am new to coding, so sorry if it has bugs, but I will post it on the official Github for yall to use soon, if I can. I may have to put in the issue request about this.
Here is the Github link for the fix:
https://github.com/Unity-Technologies/XR-Interaction-Toolkit-Examples/blob/76e449f15089b0667c2d7dd0ba274c1714e709a9/Assets/XRI_Examples/UI_3D/Scripts/XRKnob.cs
(Has slight bug where it messes up rotation when you let go of a hand)
maybe have it togglable
im very late but make the sphere colliders on another layer and make them smaller than the hand
Turning is a bit borked for me
I have a locomotion system and a snap turn provider. It works but for some reason when I snap turn it turns then instantly snaps back to the original rotation. 50/50 chance it'll snap turn properly and not go back. Any suggestions?
Made sure it was none of my logic and disabled all my stuff so it was only the base XR origin active
Okay so update it works but only if I set my rigidbody to kinematic
Does anyone know, with the Complete XR Origin Setup Variant in the VR Core Template, how the Turn Provider knows whether to use smooth turn or snap turn?
Should be under XR Origin > Locomotion System > Turn
Then there's a some checkboxes to say if you want snap or continuous and for which hands
Assuming that follows a similar structure to the default XR Origin
But, when they are both on, it defaults to Snap Turn. Thats why I was wondering, if there was some other method I was missing, rather than just disabling one or the other.
Not that I'm aware of off the top of my head. I think theoretically you might be able to set it up to switch between snap turn/continuous if you hold down another button along with the analog stick. Or possibly depending on the pressure/speed of the analog stick.
I've mostly been focusing on using hand/gesture control though, so I'm afraid I haven't had much of a chance to play around with that myself yet
Hey everyone, I have done something to my Canvas and now ı can't adjust the positions of my images in my UI layer in my VR app. I am using XR device simulator to test it. I can use rectangular transform to drag the images around, but when I hit play, they are always in the same place. What might be the issue?
I want them to look like this in UI, but they look like this, clipping into each other.
How to fix??/
on the top right of ur screenshot click the button right of the ? icon. and select a preset for the controller u want (left or right). if there are no presets you may have unistalled the plugins or need to import starter assets again from the openXR plugin samples. once you reinstall you will still probably need to do the first step
Guys i have been working with openXR 1.4.2 and everything was working. I had to update to 1.10 because XRHands requires 1.6+ to work. However, for some reason when i install the openXR 1.10 and set up all the things in the XR plugin management it doesnt go in vr mode when im connected through a quest link on my pc. it works if i go back to 1.4.2. Same issue if i build it. If i change from openXR to oculus on PC it works but i want to implement it with openXR. any idea why this is happening on this version?
also i tried 1.6.0 and 1.8.0 still the same issue with 1.10
This looks like an import error. Can do reimport all. Otherwise you can pull a valid version from the xri samples. The starter assets should have you covered
Hey, when making vr games, how do you guys add emphasis to certain things? For example in a flatscreen game you could add camera shake to explosions and such. While I donāt really experience vr sickness, I imagine that could feel awful for some people in vr, so what ways do you guys go about achieving such an effect without making players vomit?
You can use screen overlays, like how the tunneling vignetting works
I see thanks
also i fixed it. apparently 2021.3.2 is not considered 2021.3+ like it says in the docs. it needed a newever unity version
with an XR Grab Interactable, How can I make it not clear parent on grab?
Edit: I found the Grab() method and just commented out the SetParent(null) line.
Edit 2: NVM. It won't let me overwrite the script.
Edit 3: I just wrote a simple script that if parent is ever null, to just put it back.
You can have a local copy of the package if tou want to modify it
But yes weāre aware the parenting thing is annoying
I think itās on the list of things to address
I've tried everything, looked at so many resources, but can't find out a solid method for:
There's a gun, and it should respond to trigger and primary button, and it should share left/right inputs
Currently I think you can only get the trigger to work, by defining the activate interactable, but using this same simple system you can't use primary/secondary buttons as input (or joystick etc)
So yeah I'm completely lost, and I'm a hairs away from implementing some janky manager that might work like so:
-left controller picks up gun, tells manager that it is holding the gun
-gun realises it's been picked up, asks the manager whether left/right controller is holding it
-gun uses left/right inputs (so four input actions would be put inside the gun script)
but that's super messy and gross. there's no proper way of doing it? is a better method for getting interactions on objects regardless of handedness in the works? or am i missing something blatantly obvious?
XRI 3.0 has handedness exposed in the interactor which can probably help you a fair bit.
Input readers also make it way easier to handle input for custom scenarios like this
but when an interactable is picked up by a interactor, how can the interactable know the interactor that picked it up and thus the handedness? XRDirectInteractor interactor = GetComponent<XRDirectInteractor>(); didnt work
There are interaction events (SelectEntered) for instance, and that event comes with args that give you a reference to the interactor that selected it
sorry but I'm still super lost, can you please explain step by step how to set up the interactor/interactable's select entered events etc such that your gun script for example can know the interactors handedness?
Write a script that has a reference to the interactable, and then in your code you can call selectEntered.addListener
Then write a function that has as an argument the select entered args, and provide that function as an arg to the add listener.
Then in your function youāll get a callback when the event is triggered and you can get access to it
If this is too confusing I recommend reading about unity events in general and how they work
Thank you very much, when I go back to giving it a shot I hope it works. Again cheers!
hey does anyone know why my human model (from blender) goes down when i press play. im following valem tut on how to get a full vr body with IK working but whenever i press play my model goes down and it messes up the feet and everything
Hey guys, I have an animated humanoid avatar that moves a bit during play. I am using quest 3 and want to add interactions such that I can select this moving model and place it in different location. How complex is it? Is it feasible to do it? So far I've tried using UI Helpers and Collider with rigid body but it does not look so great.
Hey guys, i have a problem in my apk build for my quest 2. The case is, all of 3D obejct, world canvas and other stuff is kinda blurry in the buld version. From afar it looks blurry, but when i come closer to the model, it gets clearer. Is there a solution for this graphic error?
this only happens when i run the build version, when im debugging using linked in quest, all the asets are HD
placing stuff in the world comes stock in XR toolkit
Okay thanks I'll check it out !
Im using the XR toolkit and im using a character controller but it seems to just override the height to some really small number so whenever I try my game im legit very small. Any ideas?
not sure what I am doing wrong
it came back to my project and now it has this problem. ive not done anything different :/
the height is set to 2 in the editor but when I run the game, it sets it to that
Im following valem tutorials on youtube. And ive followed it to a T so im kinda lost now lol
What does the configuration of your XR Origin look like?
not to be silly, but where is that again š I had a lot of uni work to get through before coming back to this
wait found it, project settings
one second
Should be the component a level up: XR Origin (XR Rig)
oh right my dumbass thought you meant some project settings lol
1 second again
this what you mean no?
theres a fair few components
Yep, so the top one XR Origin is set to Tracking Origin Mode: Floor. Try setting this to Device and adjusting the Y offset while you are doing your in-editor testing. This value I believe is applied to the Character Controller
would this not allow for any kind of height? like i wanna accomodate a wide range of heights if possible. ill try device rn though and get back to you
it seems to have some affect yes
But yeah, the Character Controller height is directly driven under the hood by the current position above the origin (typically 0,0,0) due to how tracking is pulled
The reason is so that when someone shorter or taller is playing in VR, their real height is reflected in the character controller
guess I could have a setting for user height rather than doing it dynamically?
like what if somebody crouches when it uses device if you get me
will it not decrease height a lot or?
That's sort of what the Y Offset value is for when setting the origin mode to Device.
oh right. The tutorial I was following said to use floor. Im not sure why if device seems to be better
That's something fairly common (seated vs standing) that we don't have built-in.
i guess if its seated gameplay, I could say the height is some static offset
Yes, the tutorial is correct for the most part, but some VR hardware only supports a specific mode, so the XR Origin will actually check what is available and automatically set it in the component at runtime.
oh very interesting!
so best bet is to just use device then rather than floor
so will device essentially just say, no matter how tall a person is, their in game height is some x?
So it's always good to test against both floor and device depending on your application to ensure it works for both.
well floor, it makes me right on the floor lol

