#development-advanced
1 messages · Page 50 of 1
agreed
Would it be possible to add a feature in the VRCSDK, to "bake" dynamic bones movements into the walking and running animations of the player?
Like you add dynamic bone like normally, but the SDK let the Avatar moves with it's default movement animations and add the dynamic bone Transformations while the different walking animations into a custom movement animation that is based on the default but where are added the Transformations of Hairs and skirts from the dynamic bones into the animation and delete the dynamic bones contentment while building the Avatar.
Blender can do that, not dynamic bone specifically, but creating animations from baked physics is a major part of what makes Blender, blender.
Unity plugins could be made to do similar things with the third party dynamic bone asset, but I wouldn't count on the devs considering that in-scope for the VRCSDK
The UI i have made is not working well: it is like there is a large hitbox around it. I have searched for all possible reasons but couldn't find. Does anyone have any idea what could be wrong?
what it look like? are there multiple colliders?
are there multiple vr UI shapes?
there is a UI canvas with several elements in them, in total 5 interactive buttons
right next to it, but not overlapping, is a box collider used to pick up the item this UI is attached onto
where is the box collider? is it a parent or a child somewhere?
nk
the "pickup" box collider is attached to the grey board gameobject, which is the canvas's parent
so how big do the buttons feel? does the unity UI wireframe look bigger than the UI background for the buttons?
so the handle and canvas both have a box collider, but set up so they don't overlap
what is unity UI wireframe?
ah yeah
i did my best to scale things so that is all perfectly sized as should be
everything is the size it should be
i just looked, the only thing that's not 100% accurately set up right now is those corner markers
is that a big issue?
ive compared to my other UI's that don't have this problem, but they have it too
hmm. im not sure then, the buttons are flushed woith the panel?
yup i made sure of that too
the weird thing is too that the raycasting problem or whatever to call it, only really happens when looking at the buttons dead on
when aiming from the side it seems to work exactly as intended
i might just get rid of the UI and replace the buttons with shapes
oh i have seen this issue before. but it never bthered me so i never sought out to fix it, so ihni how one would fix that
sorry lad
Just a theoretical thought, not really related to anything but I'd still like to hear people's thought on this:
Unity has a known issue with large float values, because of the decreasing rounding precision the larger the float gets, something vrc is already having issues with on some large worlds.
Now here's a thought, rather than storing one float vector3 we store 2.
Now whenever the first vector exceeds lets say 10, it'll get decided by 10 and 1 will be added to the second vector.
Now when doing things in reverse to get the real space we simply multiply things back to 10.
This way things would-
actually, come to think of it, it wouldn't work because the Final number would still have the loss in precision which would still cause rounding errors
hmm I wonder if there's actually a solution to this issue, other than "allocate more bytes to the vector lol"
yes, that's what it would mean to use 64 bit numbers
and yes, you can do that but it's more expensive
and you can't change it at runtime so take your pick
so that would be overkill for the vast majority of worlds
I think the only viable way of handling it is to shift the world locally
actually, I kinda want to run that experiment sometimes to see if I can shift the world instead of the player in vrc
or to have your level design where you can teleport around
but the other issue will be other players since they won't be moved
yeah which is why I was contemplating like level design that doesn't require you to do World shifting shenanigans
AFAIK, this is an engine limitation that can't be worked around.
This is why a lot of open-world games in Unity have loading zones.
But VRChat can't really support a system like that without abusing the crap out of Udon.
Even then, it would have some issues.
Once vrchat updates to unity 2019... how do I update my projects?
I know it probably is a few more weeks away yet but... I want to know for when the time comes. Saves me from searching for it on Google and never finding a proper answer.
When the move to 2019 happens the specific version will likely be linked in the release announcement. You would install that version of unity, change your projects to that version in unity hub and then presumably update your SDKs to the latest given release also. + any additional steps that could be in the announcement.
I don't use unity hub, I use standalone unity.
If I import my projects into hub, can I still update them?
Yes
Cool, thanks! :+1:
Have the devs said specifically which version of unity 2019 they'll be updating to? I'd kinda like to pre-install it so I can test stuff ahead of time
It'll most likely be pushed to an Open beta, so you'll have time to set that up before it releases live.
Is there anyway to remove the world android build (not whole world) temporary or permanently?
No; once a blueprint has android support, it will always have android support.
Think very carefully if you want a popular world to become crossplay, there is no going back unless you change blueprints and resubmit to labs
Thanks.
I think you can send a support ticket to have the quest upload removed but not 100% if someone has had success
It's actually possible to load level from external source, but you need to encode the level data (mesh/texture) in images, instead of Unity scene.
Use https://github.com/Miner28/AvatarImageReader/ to load external image, and use Udon to decode mesh/texture from the color pixels.
It's not extremely difficult but quite time-consuming to get a polished result.
i mean at that point you might as well store it in the world files right
technically it'd work but things like lightmapping completely break and it wouldn't really give you that much
about that, if you were to use the avatar image decoder we'd probably end up having to use like 50 avatars or something for the equivalent of what a scene would contain (tho at least textures can be uploaded directly)
Is that something where you would have an automated system uploading VRC Avatar Images?
I'm curious about more of the use case.
It's there a specific use case?
i remember the creator made it to load patreon list
Oooooo that's a good use. Ok. Makes a lot of sense.
What I had in mind was a bad idea. So bad I won't repeat it.
Where could I get some help for avatar publishing?
Need some help with positioning. Anyone here good with VRCPickup, I'd like a pointer.
This is what it looks like in my hand on desktop, but on my friends avatar in vr it looks fantastic. This is using Exact Gun as the grip point.
What should I do to fix this, if it's even possible? D:
Yep Miner made a bot for his
Also for reference the readme is slightly incorrect, it actually supports 202 500 characters now
About 405kb per image
That seems really high! I figured with the jpegness it would be much lower.
d_d it wasn't fun to get to this point
Theoretically if you go over the max bandwidth for Jpeg you may start to encounter issues
But given the 3 maps I know it is hasn't reached such limit yet idc
Well you can adjust the root of the pickup but largely Avatars have different bones
So stuff tends to fit differently and not be... perfect
Really the only way to make it perfect is some sort of self configuring bone nonsence
yes it's on the beta info
There is an issue with the new 3.0 avatar systems where the arms automatically animate and override any custom animation you apply to the standing, crouching, or laying states. Here I show an example of it. You can see that the 2.0 avatar I have works fine, but the 3.0 avatar will not properly apply my 1 frame lay animation, which is the same an...
Help, please. How do you stop the automatic animation?
When you've got a specific state selected in the Animator view, you'll be able to add State Behaviors. They're a bit like components for states. They do different things. Try adding them, and you'll see what they can do! Animator Layer Controller The Animator Layer Control allows you to blend the we...
I saw some people simply swap a texture on the face of the avatar when they talk, I wonder how this can be achieved ? Do you need need to do it all on a 3D software or can it be done in unity
think i found a workaround using a flap object
Is there a way to make there be a surface where I can induce VRC to make a pointer, but redirect all motion/events/clicks/motion to a U# script?
Coming back at this - the answer is: Sort of. But, I am working on it, here. Using the physics raycasting features. https://github.com/cnlohr/cnvrctools/blob/master/Assets/CustomRaycaster/CustomRaycastSystem.cs
I don't understand what you mean by making a surface a pointer
What I "really" want is say "this surface is a canvas, make it do the point-at thing where there's the glowing orb at the end." And "please report to my udon script the coordinates of that pointer on the canvas" so I can code a shader-based UI.
I mean I'm cruising now. I have it working in Desktop and VR. It's not great and feels a little clunky but, it should be fine.
Before i could even ping the mods lol.
Anyone have any idea why every camera in my scene uses the depth texture from the main camera? This causes some weird shader issues with the other cameras. I created the excatly same setup in a fresh scene with no problems.
At what trust level does an account have access to the VRChat API?
Direct access to the API isn’t officially supported, and abusing it can get you banned, but you have access to it at any time, as long as you have an account. Because if there was a certain trust level, then there would end up being issues with people just trying to use the game/website.
i just wonder if there is since I cannot seem to authenticate to the API using a brand new account i created (visitor trust) but I can use it on my other accounts with trust higher than user
And I would assume abusing the API would lead to a ban, hence why i'm not abusing it xD
The public API documentation isn’t official, and it states that it could break at any time. So I have no clue, I’ve never used the API before
It could also just be the api being weird
Possibly. In the mean time I’m just leaving up my new account :)
or maybe it has to do with age?
idk.
account is new user now and still can't access api
weird
I have concerns about VRchat - is voice traffic encrypted?
I do not believe so
Photon supports it. Don't know if it's on.
If you’d concern is security, this is probably not the game for you. 🥲😅
is anybody having trouble launching the game since the update?
I just did a clean re-install from steam and it just kinda crashes immediately
Solved: https://help.vrchat.com/hc/en-us/articles/1500002247921-I-crashed-can-t-launch-VRChat-other-issues
It tells you what to do for Oculus if you can access the app. But i can't access the app
Is there any way I can get the reference to VRChat's scriptable object for "FX Controller" field in the VRC_AvatarDescriptor(This is a unity tool I am making, not UDON)
If we're speaking strictly humanoid, .BaseAnimationLayers[4] should be the FX Index
From there, if the field .runtimeAnimatorController isn't empty/null. Get its asset path using AssetDatabase.GetAssetPath, then use AssetDatabase.LoadAssetAtPath<AnimatorController> to get the actual Controller asset
I haven't posted any of my tools in a while, used to post them in #avatar-showcase but here feels more appropriate I guess, so here's one.
ControllerFix
A Tool that serves to edit Controllers and Animation Clips to fix somewhat obscure issues
- (Unity 2019) Fixes Pasted and Duplicated assets hideflags (Shows in inspector). Can be used on pre-existing controllers and applies it on runtime during editing too.
- Turns clips with one start frame to two frames
- Turns off Loop time on constant clips
- Turns off Transition to self on Any state transitions to states with constant motions
- Adds buffer to states with no motion
https://github.com/Dreadrith/DreadScripts/releases/download/Scripts/ControllerFix.unitypackage
@naive peak thank you so much!
I cannot access field "runtimeAnimatorController" are you explicitly using System.Reflection to access the field or am I accessing the wrong class?
Here is what I am currently using.
Edit: Found the field with object explorer, thanks to your message 😄
👍
Can never remember all field names lol. Glad you got it
While we do some cool stuff within the editor, what's your take on using a framework for writing and extracting from VRChat's SDK components? I am making a one click install for one of my assets(A VRC Marker and annotation feature for 3.0 avatars)? 😄
Basically I made a helper class for easily adding and removing VRChat Avatar parameters, expression menus, and FX layers. Here is one of the method's I've written to easily add new expression menus. While the SDK doesn't have commentary/annotations on methods it's still in theory on what I am doing, but that's where my fun begins soon when I do some testing and document it myself!
VRChat Avatar Asset Installer for your custom assets and prefabs
Creators can use this to make installation of their assets much easier.
Features so far that are working:
** General **
-Procedural backup of files before they're modified.
** Animation Controllers **
-Copy in layers from another controller onto FX controller for installing your asset's layers required to function.
-Run a text based report(for now) on animation states missing a transition and or the animation clip.
** Avatar 3.0 Features **
-Add parameters into VRC Expressions Parameters and Animation controller Parameters programmatically
-Add new menu items into VRC Expressions Menu programmatically.
-Rename parameters across the VRC expressions menu, animator controller, and VRC avatar menu.(No need to manually go across all three and the transitions if you changed your mind! Soon will support updating parameters in animation controllers as well.)
** Armature and GameObject manipulation**
-Locate finger bones within the armature of the provided avatar GameObject and apply prefabs.
-Map and link up constraints from finger to the marker cursor(and any other rigid/constraint object you wish to apply)
** Third Party **
- Integrates and listens for calls from Lyuma's Avatar 3.0 emulator to provide your own animation controller for testing without having to insert it into the playable layers.
Hello VRChat Devs, I need your help please.
Please let me know if this is the correct order for variables on subParameters array for specific menu types:
Parameter field is the primary parameter modified when the menu item is toggled or open/held.
I.e. Parameter field = parameter itself
Sub Parameters for puppets
Sub Parameters for Radial Puppet
0 = Parameter Rotation
Sub Parameters for Two Axis Puppet
0 = Parameter Horizontal
1 = Parameter Vertical
Sub Parameters for Four Axis Puppet
0 = Up
1 = Right
2 = Down
3 = Left
That's pretty close to what I do/did
Very cool! Well I am hoping to expand that functionality so I could get to a point where avatar creators can use the install wizard to easily make their assets more appealing to install and use without needing a ton of Unity Knowledge. Basically one click install and good to go. My hand writing marker asset is complex to install for a novice at the moment, but I could make it appealing to everybody with such installer. No need to copy/rewrite the FX layer for your toggles, etc.
I'm trying to look into what you asked above but I'm confused as to what you're asking about lol
The only nuisance I see is that I want to add a button onto the VRC Menu editor for the avatar, but that would break TOS as I would modify their SDK. My installer only modifies the settings and assets outside of the SDK at the moment.
Ok so about that, there is a field called "SubParameters" under the expressions menu control object.
Yeah just making sure, I will find out when I run the wizard.
Forgot to mention, I haven't used it myself but iirc VRLabs have a neat Marker package which I think has an installation script as well
https://github.com/VRLabs/VRChat-Avatars-3.0/releases
Made a tool for people that are too lazy to edit each transition individually
that looks handy
Me too! 👍
Y'all are awesome, thanks for the tools!
Is anyone else getting errors on VRWorld Toolkit's Build Analyzer? Only been happening since switching to 2019
1 just released a new version for 2019, do you have that?
it was very recent haha
Other random question - did they remove support for OSC?
If it doesn't work, that's not on purpose no
but it can be annoying to set up. You got the launch parameters?
No, I can't figure out how to actually add it to my object? It doesn't appear to be something that can be added anymore. This is not critical. Was a curiosity, after talking to ThousandFaces.
oh right I was all mixed up. Udon doesn't have OSC yet, I was thinking of midi
it does have midi, it has never had OSC
I mean I couldn't even attach the OSC component... But, that's also good to know. OSC is more versatile for my purposes, but, I guess that's ok. Is OSC geared more for avatars I guess?
OSC is not currently available for avatars either. It is only available in sdk2 worlds, though I'm unsure if that still works
It was teased at the dev stream that OSC for avatars may come some time in the future, though OSC for udon has several prerequisites so it won't be at the same time
Getting a warning each time I import an sdk and the control panel doesnt open at all.
Things im using:
sdk: VRCSDK3-AVATAR-2021.08.04.11.23_Public
Unity: Unity 2019.4.29f1 (64-bit)
Unity Warning CS0168 : The variable 'has three fingers' is declared but never used and [Always] fetching fresh local config
Sounds like you have both SDK2 and SDK3 in your project. You can't have more than one.
I think this is where I should have asked my question earlier:
I have a rather big issue, I've been building a world, and suddenly when I try to build everything errors out saying *.vrcw doesn't exist. Anybody know how to fix the issue? (sorry if this is the wrong channel)
https://pastebin.com/yrkD46AC This is the error
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
I recently put out a huge update for my Controller Editor. Here's a gif highlighting some of the best stuff.
Besides the gif, some noteworthy stuff are:
- Setting newly created Transitions and States default settings
- Setting newly created Layers default weight.
- Useful controller features using the window.
- Disabled layer view scroll reset when editing
Holy heck, where has this tool been all my life?
But I only put the sdk3 in there
Maybe one of avatars you imported into your project had SDK2 files shipped alongside it.
anyone who can help me with card physics ? 😄
What specifically about card physics?
Can someone tell me what I need to do to set up a mesh particle that will retain direction on-impact with a collider? (eg; arrows embedding into a wall). The best I've been able to puzzle out is I should use a subemitter to spawn a second particle on-impact rather than expect it to retain direction and kill the original's momentum on-impact, but the subemitted particle just faces in an arbitrary direction.
Working on the that with footprints atm, still not completely solved but it’s align by velocity
I´ve got a problem, im doing a reset script for a deck of cards, so far it works fine but if a 2nd user take a card i cant reset his used card. Anyone who could help ?
Need to transfer ownership first
does anyone have a way to use "Particle Forge" or "GPU Particles"
I'm not familiar with anything called particle forge, but shader forge might be what you're referring to
Make amazing particle effects with the new Visual Effect Graph in Unity!
This video is sponsored by Unity.
More on VFX Graph: https://ole.unity.com/vfxgraph
● Go check out Line of Code: https://lineofcode.io
● Discord: http://discord.gg/brackeys
♥ Support Brackeys on Patreon: http://patreon.com/brackeys/
··································...
When doing anything with GPU particles, you'll run into two main limitations in vrchat:
1, it has to work with the built in render pipeline. That means no scriptable render pipeline, HD render pipeline, none of those. The unity VFX graph is not compatible with this.
2, you cannot use C# scripts to create compute shaders. This is difficult to work around and anything that comes from the asset store will likely run into this. Instead you have to use tricks with cameras, which can be quite complicated.
well damn, thanks for the clear and to the point response, thanks, does the GPU prefab system still work?
from like 2018-19
NOTE : on 12:30 the animations should be dragged into the original model not the duplicate.
---Discord---
Make sure you read the # rules and please provide enough information about your problem and setup when asking for help in # questions
The GPU Particles and more can be found in # downloads
Discord Server : https://discord.gg/Va5VPev
---Pr...
im asking cause the major updates we have had
yeah, it should still work. Stuff like that uses the trick I mentioned about cameras
ok, thank you very much
Though it was made for avatars in SDK2.0. The shader itself may be the same, but it's worth mentioning that the setup and interaction with gestures will be completely different in SDK3.0 avatars
yeah, kinda thought that too, but i know my way around 3.0
gpu particles are so sexy, heres another shader setup/instruction https://github.com/lukis101/ParticleCloudVRC
for Avatar 3.0?
well no
okay, i ask cause i think i have it setup right for 3.0 from the video above
Activate on menu toggle and Reset,Push,Pull on gesture
But you could setup the layers similar to the old animator
should work, imma be testing it inna few minutes
Whelp, i give up, i can't get it to work and now when I upload materails get messed up that the arent the same in unity
OH, now my feet bones are tilted down
I have the original HTC Vive and want to learn to use Unity. Anyone know of a good resource that will walk me through how to get connectivity in Unity? Every tutorial I have watched seems to have been outdated or incomplete or maybe I just suck but I would still like to learn anyways lol. Video or text walkthroughs with recent Unity versions would be great (the dependencies seem to have changed a lot through different Unity versions). A more relevant discord community would also be very welcome.
https://forum.unity.com/ can also google unity discord, first link is an invite.
Joined the discord. Thanks, I appreciate it.
Does anyone who is far better at using probuilder than me, have any advice on properly tiling a dome?
hello! how would i go about checking to see if a player is in desktop, and then making it so if they are, they can press E to interact with something?
i think disabling the interaction behaviour isn't included by default, but you can always hide the object if the player isn't on the desktop
I believe it is "isUserInVR" or something like that 😛
I made 3.0 package for that GPU particles package, it just gets imported on top of the original package and the instructions for the 3.0 prefab setup are included in my package. It's in the downloads channel in Quantum's discord (the person who made the original package.) If you don't have the server I can DM it to you
yeah, funny thing, i was in there the other day to re-get some their sweet shaders and saw your post, cheers, thanks 😄
Haha nice, np
for some reason my cursor collides with a box around my ui buttons but wont allow me to actually use them why is this happening?
You may have it on the wrong layer
UI is not intended to be on certain layers
Yop guys. I made an issue to the Unity teams so they can fix the free mirror built in unity for use in VR. If you have an unity account that would be awesome if you could give your vote to the issue so it get fixed faster 😄
https://issuetracker.unity3d.com/issues/xr-hdrp-planar-reflection-probes-reflection-is-misaligned-for-both-eyes-when-vr-is-enabled
Reproduction steps: 1. Open the user's attached "hdrpportalvr-main.zip" project 2. Load the "PlanarReflectionProbBug" scene 3. Enter...
People won't really bother about it, since that is for HDRP, while VRChat uses Built-in Render Pipeline.
Since Udon can't access streaming/resources assets from my understanding, nor has support for unity's video player component, is it possible in any way to play an mp4 file compiled with the world? Would like a prebaked video into it.
Does substance Designer and unity's shadergraph work with VRChat?
substance designer is just a way to make textures, so yes of course
shadergraph however requires a different rendering pipeline so it is not supported
So, is there any shader creater I can use that doesn't include code?
amplify
Beautiful, thank you.
Erm... Is this normal?
It seems like the system that basically prevents you from moving when pressed against a wall (even though you aren't) just freezes you...
Anyone know a code for rbg lighting based on world sounds ?
Udon is able to read and react to audio. The most common way to do this is a prefab called AudioLink
Hello! I'm not sure if this is the right channel for this, but I'm trying to animate the shader of a mirror I've made, but for some reason it doesn't let me change the values, and I've noticed that if I disable the VRC Mirror Reflection script it works, so I'm guessing that the script somehow block the animator...? Is there a way to solve this? I still didn't tried, but I'm guessing one solution would be having a parent with the animator 🤔
I've checked and not even moving the animator to a parent object seems to work for some reason, I've tried by using an animation component and same result, it just doesn't make me change the values of the mirror shader for some reason
you can't animate mirror material properties unfortunately, but you can use udon on sdk3 to change material properties directly, and use that in lieu of an animation.
Oh, I understand, I was guessing after all of this that I had to use Udon, I was just really confused lol
thank you for the information!
This is totally off topic but does discord consistently show that this channel has unread messages even when it doesn't for anyone else? The 'unread messages' symbol comes back pretty much every day no matter what, it's really weird. There's a channel in VRC Traders that does it for me too.
Several channels in here does that for me
Huh, that's really weird, good to know it's not just me
Future request, User support and general-2 tend to blink up when theres nothing new
🤷 dunno why
Thanks discord 🙃
because of spam. Every couple of seconds most channels are hit by some a-hole with a discord hack link. The spam bot deletes it and you are left with an unread message
Messages that get deleted either from a bot, by themselves, or if the user is banned will still result in the unread messages icon appearing.
Is that why? I didn't think it was that common because I don't see it that much in the channels that I do frequent
Maybe they target less active channels or something?
I know that can explain it if it just happens here and there, it's just odd that it's every single day without fail, while I can't remember the last time I saw a spam link posted in say #avatar-help. Maybe it always happens while I'm sleeping.
how can i make a VRC World Portal a little smaller in size?
Help?
alright this is an abstract question, but i'm about to embark on a big project and I'd like to know the feasibility of this idea with performance in mind:
i'm a drummer looking to perform in VR. I have a MIDI controller drum kit, and I'm going to be working on DIY gloves following some of the designs in LucidVR Tech's server. I have some help from the community there regarding the gloves, but the next step is the software-end of things, to place the actual drumheads and cymbals relative to where the kit is IRL. I'm going to be slapping a tundra tracker on the kit as well, for the sake of keeping everything in place.
i suppose my question is this: how would I go about making a toggle-able drumset (likely with an expression) that will not only allow me to summon, reposition, and scale the drumheads, but also remember those positions inbetween worlds? is this even possible?
i should state that I have experience with unity, but I don't know much of anything about developing in VRChat
Yes, you could use avatar 3.0 to change the X Y and Z position separately. Avatar parameters can be persistent if you want them to so you only have to set it once
However the real problem is that avatars don't know where the center of your playspace is. They know where you are, and that's it. So when you place the drums down you would have to make sure you're at the exact same spot looking in the same direction
even if I had a tracker on the drums as well?
VRChat does not support tracking additional objects like that
currently if you have that additional tracker in steamvr it would just confuse VRChat as it would try to use that for a hip tracker
ah, i see
so in other words, i'd have to find some other way of calibrating the drumset's position to my own
yes
hmm, alright that complicates things quite a bit. thanks for the heads-up
yeah you'd want a "calibration pose" where you hold your arms in a particular way (sticks touching the center of specific pads, e.g.) and then summon the kit which you'd arrange to be in the right spot relative to that
you could make everything virtual, too. use the particle collision trick to tell when your virtual sticks hit things and play sounds
is it possible to make a discord bot that keeps updating a vrchat invite?
say for example you make a channel view only with a vrchat invite there, once you world hop or something the invite expires, is there a bot or something that would allow you to keep updating that invite without having to do it manually?
<@&397642795457970181>
gone, reduced to atoms
this doesn't really exist pre-made but all the information you need is in your log
oohh, where's this log?
appdata/locallow/vrchat
i see, thank
Can someone please tell me what the trick is to get mesh particles to retain their orientation on impact? Everything I try has them following the rotation of the emitter once momentum ceases.
What about the renderer orientation?
3D start rotation?
The one in the Renderer section; local/world/velocity/facing/etc.
Oh had it set as world
I've got the Renderer module's Render Alignment set to World for the subparticle emitter, but the generated "impact" version still just pivots to a standard alignment regardless of the impact direction even if I set it to inherit rotation from the parent particle emitter.
This is the "fired" particle emitter's settings:
And this is the "impact" subemitter's
@austere breach Yeah with subemitter setups I have had trouble with mesh particle behavior since unity 2018 I believe
If you find a solution I’d love to hear, ive been trying to get on-collision footprints working for a while with a similar issue
I BELIEVE the way to do that is a particle trail with a distance emission to pace them out if you mean just avatar leaving footprints behind.
https://gyazo.com/72873ade8c44b2465160d9c0e57eede4 example use case, I had this working but I lost the scene and can’t remember how I got it set up, so it’s possible
I believe I was using mesh-quad and velocity and align by velocity but I can’t duplicate it
has anyone considered using the "Distant disable" option(s) for dynamic bones?
I feel like it could potentially help with performance
(unless the game manages this automatically, which I feel would be the smartest way to do it)
The game forces it on
Aye, I'm looking to find out if I can have animated textures (like .gif textures) on an avatar?
Its possible through the use of a Shader
Switching between displaying multiple textures
Not sure if this the correct channel. looking to see if vr chat has extended api support?
such as login with vrchat? looking to make a web application using such a feature.
I would like to achieve something but im not sure how to aproach it, or how should i start whit it, i would like some advice, so i like slime girls and i have some slime girls avatars i like, i would like to be able to have a way of staining other people or things by touching them like lets say im Green, if someon goes trough me they get green stain on whatever was going trough me for a lil bit, if that makese any sense.
i just want a general direction of what do i have to look at to achieve it
Not something I've done before or any similar but I've got an idea.
Assuming you already have the slime shader working and all.
One approach to this I'd take is to have are "Buffer" particles spread across the avatar's mesh that would spawn said stains as sub-particles on collision
I think that collision particles to world only appear on the client side though, I'm not sure if there's a better way for this to have it appear properly on everyone's side
Anyone know how to get a generic bone transform of a humanoid in an editor script? I'm trying to place an object without requiring user input -- both of the ways I've tried so far are returning null or not returning at all:
animator.GetBoneTransform would work if you gave it a valid animator. But "new Animator" is not a valid animator
I'm running into a particle issue; I'm attempting to make the particle retain the orientation of the emitter at time of emission, so I can place an mesh particle at a point, in an orientation. I've tried to use a low (0.0001) velocity and render direction by velocity, but this has only partially worked. Does anyone have any suggestions on how to do this reliably?
It seems to be ignoring or mistaking the Z axis value, if that helps.
if you really need to maintain all axes and not just the forward axis, then the only way to do that is to drop an actual gameobject in world space using constraints
(Not my work, just thought that some people here may like it)
Damn. That's a shame.
I'm trying to build my own pen without Udon, because I don't understand Udon or programming very well. I got the pen working, except for being able to trigger the trail (lines) on and off; they're permanently on. How do I get the turn on/turn off feature?
Or do I have to use Udon?
if you don't want to use udon, you can still use SDK2 and triggers. There are many pen prefabs made for SDK2. But just be aware that SDK2 is no longer being developed and any new features will only come to SDK3/Udon
I tried working with the SimplePenSystem, which worked fine for my purposes. I just couldn't erase lines that I made; that was the only reason I wouldn't use it
also you cannot mix and match SDK2 with SDK3, so if you want to use prefabs that have udon in them, you have to commit to the entire world being udon
yes, SDK3 is udon
is it possible to erase lines made by the sample pen they give you?
the one in the example scene doesn't, but the ones released in the sketchbook jam can. I'm not sure if there's a singular unity package for that though, it was just released as a whole project which is now outdated
I would recommend QV pens, they are very popular and you can find it here https://booth.pm/ja/items/1555789
VRChatのワールド用のトレイルペンセットです。 消しゴム機能も付いています。 ■Udon版QvPen v3.1でLate Joinerにも同期するようになりました。 https://twitter.com/aivrc/status/1434783039121354753 (リプにも情報を載せているのでご確認ください) ・多く線があっても書かれた順にだんだん同期していきます(ペンの本数が多いと同期速度が遅くなります)。 ・同期できる線の本数に制限は特にありません(メモリの許す限り。重くなっている方が居たら線を消してみてください)
is that just an asset package I insert into the scene?
it's a unitypackage which you can import into your project and it will unpack into multiple folders. Those folders should have prefabs somewhere which you can drop into the scene
it looks like i'm missing a whole bunch of udon scripts
are you getting errors in your log?
137 errors, all with the Assets/QvPen/UdonScript/ prefix
oh, it probably requires udonsharp
I see that mentioned several times; what is that? another download?
yeah, udonsharp is a tool for creating udon programs without using the graph https://github.com/MerlinVR/UdonSharp/releases
imported udonsharp, then imported qvPen, no errors!
What's the difference between the QvPen, and the Pen Manager?
I'm not sure what pen manager is
hmm...still says i'm missing some scripts, and when I tried in VRC it wouldn't draw
could you share some pictures of your log?
or wherever you're seeing something missing
When I select QvPen, it says prefab has missing scripts. I tried with QvPen. Now i'm trying with QvPen Grad, Pen Manager, and Eraser Manager
yes, so to diagnose the issue you'll need to find where exactly the scripts are missing
can you go through the gameobjects and find a script that is missing?
is there an easy way to search that?
the prefab with the pens though
oh i found a few
looks like all the "Text" and "Canvas" scripts are missing
throughout the entire tree wherever they show up
that would be very weird, those are built into unity
oh you're on 2018.4.20
these prefabs are made for unity 2019.4.29f1
I would recommend removing udonsharp and QVPens just so you don't have errors, then go through this process https://docs.vrchat.com/docs/migrating-from-2018-lts-to-2019-lts
then reimport udonsharp and qvpens
Migrating your project from Unity 2018 to 2019 LTS isn't as difficult as you might think! Here's a guide providing each step in detail.
Is there any known way yet to make Udon Post Processing Sliders work like how it was with SDK2? That same method doesn't work in SDK3 and I can't seem to find anybody thats figures it out
yeah, you can't use the same method as sdk2 as those ui events for the Animator component are not whitelisted, but you can just use Udon to manipulate parameters in an Animator controller that animates your post processing component.
public class PostProcessSlider : UdonSharpBehaviour
{
public Animator animator;
public Slider slider;
public void _UpdatePostProcess() {
animator.SetFloat("weight", slider.value);
}
}
And then in your animator controller use a blend tree or motion time for your float parameter
or something like that
Thankyou
anyone knows what to do here? i've been the past 10 minutes not knowing what to do and it's driving me nuts :)
nvm it was a unity thing, i just fixed it
EXCELLENT avatar spotted in the wild 0u0
you could load like 13 his avatars or one mine
day when i optimize this will come
thats usually how it is doe, ive yet to go through and retopo my stuff so most of my avatars at 50k triangles would take up half of a quest if i tried building for android
not going to of course because you know
sketchy
@sudden fiber
I've just made a Metaverse Developer Survey.
I'd appreciate it if you wouldn't mind letting us know some more details about what you're up to and where you think The Metaverse needs to improve.
We're gathering some information as part of an effort to understand the current state of the Metaverse.
Be it from AR apps to VR worlds to Crypto NFTs, we want to know your current experience with development, what you're using and any cool tools you might think people should know more about.
If you want to be notified when the results are in...
has anyone attempted to make particles orbit at a collide location on a subemitter? orbit seems to go around the origin (which could have occasional cool effects, but seems less useful)
The questions on this feel a little weird as someone who works in VR both professionally and extensively as a hobby, across a wide array of technologies and projects. I think many people in this area are in a similar boat, maybe? It's difficult for me to put on a specific hat for this survey?
For Gesture Weight on Index, does anyone know what the weights actually look like, in terms of touch, click, etc?
0 is nothing, but is "touching" the trigger 1, or it is .5, etc
Gesture Weight is 1 when doing a Gesture and 0 when not.
Except for the "Fist" Gesture which is where the Trigger on the hand controls the weight 0.0-1.0
Hi 🙂 I have little bit basic question: What version of unity do you recommend for developing native VR apps for Quest 2 and why?
The latest version that VRChat supports is 2019.4.30f1. If you are not talking about VRChat, then you should ask in a discord that isn't specifically for VRChat
Thank you and sorry for offtopic then 😄 I asuming that VRC is using same version of unity for both Quest and PC version
that is correct
The main reason why vrchat uses 2019 is because it is stable and heavily tested. Newer versions of unity will have bugs. Typically it takes unity 2 years to get a version stable. But they work on multiple versions in parallel so despite 2019 being 2 years old, the specific version, 2019.4.30, was released less than a month ago.
nice, I did not knew that it is still getting updates.
so I had an idea to try and render 3D portals with a pair of cameras and the left/right eye layers
(portals to see elsewhere in the same map in 3D, not the "portals" that are just links to a separate map)
but I'm not sure what to set for the FOV on the pair of cameras....
I've seen a map that does this, so it must be possible
but do all users in VRC have the same FOV on their eye cameras regardless of headset? or is there a way to detect the user's FOV in Udon?
like, the "reference camera" connection is only one-way, right? I can't look at it to determine the player's FOV?
or come to think of it, their IPD too
I found a reddit post about making the effect work, which says "I get the head camera position and then parent it to portal A's transform", but that glosses over how it got a reference to the head camera...
In Udon TrackingData Head is the position/rotation of the players camera
but I need the offset to the individual eyes, too
Yeah that's not how VR rendering works
Unless you are doing some weird manual per eye setup with render textures
I figured that would be necessary, to render through a portal in 3D?
I would imagine you can do it like that
but only if I can get the offset and FOV for the player's own cameras, so I can match them
You could get/guess the eye offset based on camera scale
Not sure if VR FOV would be readable/usable because I don't think it's tied to the camera component directly
Any linux users here that have experience publishing content using linux?
I tried uploading avatars, works just fine on ubuntu, but can't say much more, you just need windows build support
@wind obsidian
ok sweet. i've had some trouble installing the windows build support module but i wasn't sure if i managed to install it that the SDK would even work. thanks to you i now know it does and that time spend on getting the windows build support won't be a waste of time.
thanks a lot, really appreciate it.
Yo guys how do we use alembic file VRChat? any work around?
My unity keeps importing this, not sure why
it appears to be infinitely importing, and it only happens when i import the new vrc sdk
It's using the latest required unity as well
and everytime it imports in only says Iteration 2
I’m having the hardest time uploading an avatar, I have the sdk shaders and 2019 unity that avatar looks completely fine but when I click build, nothing happens any information would really help
Anyone particularly good at writing over render scripts? in the middle of making a puzzle based map and would like the hints to over render the entire map to make them easier to locate. I've tried using basic shaders for the over render but it just doesn't look right>
you could just try using the render queue of any shader to get the result you want
stencils maybe be another way to solve this
I am trying to import mp3 files, what is going on here ?
hi everyone! i'm a vrchat developer looking for some folks who would be down to help mentor people during a vrchat worldbuilding jam 😄 it'll be part of reality fest, a fully virtual hacking event happening next weekend (oct 22-24) in vrchat and altspace!
if you're interested, please fill out this short form:
https://tinyurl.com/realityfestmentor2021
we'll provide more info to folks who fill it out - but you're also more than welcome to shoot me a DM if you have questions ☺️
also, so you know i'm legit - we're the team behind MIT reality hack, one of the world's top AR/VR hackathons, and here's our tweet about mentor recruiting:
https://twitter.com/mitrealityhack/status/1449767786285314056
lookin forward to hopefully chatting with some of you soon!!
hope this doesn't look like spam haha 🤞😗 my teammate @gleaming prairie actually cleared this post with @blissful walrus - it really is a legit vrchat event that we've been putting a lot of work into, and we would love your help!
Is it possible to set up the reference camera in a world to render in multiple passes, so you can render the world in one pass, and players in a second pass, with different post processing effects?
Would it be possible to make the SDK more accessible for those with special needs and neuro-divergent disorders as many have a hard time wanting to make content for the platform as it becomes frustrating for them to fully understand how to setup
You dont have to post the same question in multiple channels.
VRChat is doing its best to make the SDK and UI compatible and user friendly. Sit tight! A UI update is right around the corner, in fact, you can enroll in the optional beta and use the new VRC UI as you wish! @muted dove
I could actually help you use the VRC SDK later if you'd like.
Well I don’t use it as much but I know users who do who would like more accessible to be apart of the platform
you could always go to docs.vrchat.com to get assistance in using the VRC SDK and its components.
Since the replacement, manipulation or theft of any VRChat files such as the openvr dll is prohibited, will there ever be DLSS and FSR support for VRC?
We'll have to wait for VRChat to get to Unity 2021.2 for DLSS to even be supported by the editor, DLSS also requires HDRP, so it's unlikely that it will be supported.
I'm trying to create an effect which will allow a player in a world to see where other players are, in the dark. Does anyone know how I could achieve this? Rendering a second camera pass would allow me to do what I want to do, but I don't know how to set that up, or if it's even possible within VRChat. In Unity, it would involve scripting. Perhaps I could do it with Udon, but I suspect Udon won't run every frame as would be needed to trigger a camera render.
See their actual outlines or just a representative glow, because you could object pool a capsule (obstacle course example capsule) with high render queue or ztest stuff
I want to see not just their outlines, but their whole avatar, with a filter. Think predator-vision.
Could you do render queue stuff on the world materials instead then, add some transparency to it alone may be enough
https://cdn.discordapp.com/attachments/900841284141457449/900842805432315924/QuickestQuickie.gif
Setting up Dynamic Bones has always been a pain so I made a tool that makes it much quicker and easier.
Omg all the collisions. Bet that's performant lmao. Nifty tool tho.
I don't really see the need to have a bajillion colliders in the hand. A single collider, or a collider on the palm and a single additional one in the index finger.
Db collisions are rather spendy. But I'll just assume it was a demonstration xP
lol can u use personal scripts in SDK?
it just a simple scripts to spawn some platforms at the beginning tho, but it doesnt work 😦
you cannot use your own c# scripts, you have to do it through udon
🙂 ok thats hell
there is also a whitelist of scripted components https://docs.vrchat.com/docs/whitelisted-world-components
The following is the complete list of scripts usable within worlds. Components that are not in this list will not work. Unity Components WindZoneVideoPlayerTilemapTilemapRendererTerrainTreeSpriteMaskParticleEmitterEllipsoidParticleEmitterMeshParticleEmitterParticleAnimatorParticleRendererWorldPartic...
there is also a c# to udon compiler you can use https://github.com/MerlinVR/UdonSharp
and i guess theres no conversion tools tho
woah it does
thx tho i gonna try the compiler first
wait, will it work if i rewrite C# script with UdonSharpBehaviour?
sometimes. Udonsharp does not support everything that C# supports, and udon does not support everything that unity monobehaviours support
ik, but the script only implements some instantiate or random.range
if you switch it to vrcinstantiate then it could work
yeah those are pretty simple scripts, should be an easy conversion
can't use static variables unless you use a beta version of udonsharp
uhh wtf is that fix = new Quaternion(90, 0, 0, 90);
that's not how quaternions work
oh, FindGameObjectWithTag is not supported by vrchat either, because you can't upload tags with asset bundles
just find by name instead
or have a manually set ref
I'm not aware of a findbyname function, do you mean https://docs.unity3d.com/ScriptReference/GameObject.Find.html
because that is exposed to udon
welp i guess at the end u still need to use udon itself
so many bugs in udonsharp that u cant use it properly
huh? udonsharp is solid
is this fixed?
is what fixed?
As far as I'm aware that works, yeah
regardless it's a bug with vrchat, not udonsharp
Thank you, yup just for demonstration. The way you mentioned is exactly the way I usually do it
Does anyone have a good breakdown on how to do unity automation?
Like, press button, prefab applies constraints to bone labelled <x> kinda stuff.
I have experience with LISP, C# and automation programming with industrial stuff and AutoCAD, I just need a breakdown of the basics for this use case.
I will owe you a homebrew bottle of apple wine.
You would typically start with an editorwindow. https://docs.unity3d.com/ScriptReference/EditorWindow.html
OnGUI is used to draw your buttons, and then you can launch whatever code you wanted from there
That's likely the rumplestiltskin I was seeking.
Now to build a tool to automate gun constraints and controls. Muahahaha.
Anyone know a workaround for this?
"Method is not exposed to Udon: Void .ctor(Int32, Int32), Udon signature: UnityEngineTexture2D.ctorSystemInt32_SystemInt32__UnityEngineTexture"
I'm trying to generate a texture for a procedurally generated terrain
What're the limitations of Udon for avatar-based items? I wanna implement a break-action revolver but ain't sure what's actually feasible.
I'll need variables/a way to track the state of the followin':
- Bullet count
- Bullet position (aligned w/ barrels vs not)
- Chamber state (full vs empty)
- When the cylinder should rotate (which is after 4 shots in this case vs each one on standard revolvers)
- If the gun is open ("broken") or closed (able to fire).
- A way to swap UVs/color parts based on chamber state.
You cannot generate memory (a texture is memory)
You can assign a texture to edit though.
Alright well I found a way to just limit myself to a "genereated" texture by using Texture2D.black texture and applying colors to it
blursed
how do I go about cloning a game object but have it have different textures?
you should probably just make your own texture instead of using built in textures like that. Unless you're fine with your thing breaking when VRC inevitably patches out modifying built in textures.
i should probably just not develop in vrc then
I've been working on procedural generation of worlds, so being told that is really against the kind of world I'd like to make
the other way ofc is to just deal with mesh colors directly
but then no real shader support
I mean... like just make your own texture? That's no different from abusing built in ones
oh sorry I just tried reading that again, yeah that works
sorry these limitations are really starting to get to me. its pretty frustrating
do you happen to know how to do material instancing?
I can go back to using 10x10 chunks
but when I actually world test, every chunk seems to use the same generated texture
Textures are used by reference so just duplicating a chunk will keep the original textures referenced. You'd probably need to make a bunch of textures in the editor and pool them, then assign a new one from the pool when you create a new chunk.
oh christ
you know what
its a weekend
im just gonna go drink
thanks for the help
but I think that'll be it for now
👍
alright, I have another idea. one large texture, but manipulate each chunk's UVs. It'll cycle through each part of the texture when you go far enough, but my hope is that the player is too far away to notice that the past chunks' looks don't make sense
I'd like to organize my code a bit better by separating parts of it into their own files. Tried doing a static class on the side but Udon says any methods under it haven't been exposed yet. Any advice on how to organize code with respect to Udon?
We'll actually be getting support for static methods in the upcoming UdonSharp 1.0. Haven't tried the beta yet though
Ye its in the beta, beta'
beta's stable outside of enums inside of the editor
i have unity 2019.4.30f1 but it wants me to update to the next one, but its not letting me as you can see in this screenshot, how do i fix this issue?
Maybe check where you're installing it. Could be one of those 'ooh it exists, i have no idea what to do with it' type deals
Also, how does udon handle recursion? I am trying to implement a maze generator using recursive division, and it seems to only do the first recursive call inside of itself
this is what it looks like with no holes in the wall
oh ffs, yep rtfm
if anyone needs an answer, tag the recusive method with [RecursiveMethod]
ooooohhhh
okay not sure what's going on there
you could try downloading and installing manually, then making the unity hub recognize the existing installation
I have tried that as well and it says
???
like you ran the setup, then tried to locate the installation folder through the hub?
yep
64bit
Where are you downloading the setup file?
And I assume you're making sure you're downloading from the Windows one at the dropdown to the right of that as well
yep
how many times have you downloaded the same file?
maybe 6 or more, i am trying to get this new version as soon as, i try different ways every day but out of options now
okay if you're consistently getting this issue, it can't be a just bad file over transit...
I am not sure what to tell you here, someone else might now better
its a weird issue, as all options have been tried but nothing is working for this new update to be installed in unity
Could you please add a new update where you can lower resolution on quest
And implement an anti crash system for quest if possible bc people like to crash questies
Can we please upgrade the download size for avatars on the quest side?
Hi all, been searching for an answer on this and couldn't seem to find one, perhaps because it's not possible: I'd like to allow multiple instances of a world to all see and hear one avatar (the main speaker). I realize the main speaker would only see who is in their instance, but the other instances would see the main speaker as if they were in theirs. This is possible in Altspace, but I don't see that kind of support in VRC. Does anyone have knowledge on this? Thanks so much!
as far as i can tell this isnt a thing that is possible in vrchat.....yet. at some point in the f u t u r e (distant because atm the vrc team is working on the new ui, as well as avatar dynamics, and udon hooks for both) the vrchat team wanted to add more social features to vrchat such as proper groups for once among other things. if i were you, i would open a canny now for a feature like this, since i think instance-persistent changes and features would tie in nicely with their plan to add more support for social groups and events, and start signal boosting it
of course there is already a VRC feature that lets world developers allow certain speakers based on location and/or action to project their voice across the entire world, or a defined range. ive seen karaoke worlds do this by having your voice play in everyone's ears directly if they have a mic picked up and are on stage, and the community meetup's stage also does this just by getting up there
it just doesnt carry across instances. for the moment your best bet would be to do as music events do and have streams playing in multiple instances
through video players
Gotcha - thank you for the detailed response! I'll ping the dev team with this then, because I can see it being a useful feature for speaking engagements that get really large. Thanks again!
This isn't supported by vrc officially but there are community prefabs that make it work by sending an avatar's position data through a stream and deciding with a shader. This has been used to great success at various music events and conferences
https://gitlab.com/lox9973/ShaderMotion
Oh wow, thanks for the share! I'll check it out. I was wondering how music festivals did it - I'm looking for pretty much the same thing. Thanks again!
What is the process for applying for a oAuth?
If you sideload adb commands to ur Quest 1/2 wit a android phone or PC you can force the Q to run at a lower res until it reboots/restarts/turns off
I forgot howwww but I know its possible I did it myself once
im pretty sure you can automate this via adb on the device
so it always be low
https://play.google.com/store/apps/details?id=com.llamalab.automate&hl=en_US&gl=US automate can run adb commands whenever you like
lox9973 has a discord server. I'd encourage you to join their discord if you're interested in using it for an event. lox is really helpful!
hm i wanna merge two animclips with powershell hmmmm
if anyone needs a simple script to copy gameobject paths
using System;
using UnityEditor;
//snacked and modified from https://forum.unity.com/threads/please-include-a-copy-path-when-right-clicking-a-game-object.429480/#post-2777071
public static class CopyPathMenuItem
{
[MenuItem("GameObject/2D Object/Copy Path")]
private static void CopyPath()
{
var go = Selection.activeGameObject;
if (go == null)
{
return;
}
var path = go.name;
while (go.transform.parent != null)
{
go = go.transform.parent.gameObject;
path = string.Format("/{0}/{1}", go.name, path);
}
//skip first gameobject
path = path.Replace(go.name + "/", String.Empty);
//sanitize
path = path.Replace("//", "/");
//to clipboard
EditorGUIUtility.systemCopyBuffer = path;
}
[MenuItem("GameObject/2D Object/Copy Path", true)]
private static bool CopyPathValidation()
{
// We can only copy the path in case 1 object is selected
return Selection.gameObjects.Length == 1;
}
}
cursed
ayo scratch that powershell shit ^. made it in c# now, only took like 2h. if anyone wants it, heres a c# example code to merge euler and float anim properties:
using System;
using System.IO;
using System.Text.RegularExpressions;
namespace idleMerger
{
internal class Program
{
private static string RemoveEmptyLines(string lines)
{
return Regex.Replace(lines, @"^\s*$\n|\r", string.Empty, RegexOptions.Multiline).TrimEnd();
}
//simple example merger, doesnt take double animproperties into account, doesnt treat anything as objects, but just text content .-.
private static void Main(string[] args)
{
var eulers = String.Empty;
var floats = String.Empty;
//get clips
foreach (var file in Directory.GetFiles(Directory.GetCurrentDirectory(), "*.anim", SearchOption.TopDirectoryOnly))
{
if (!file.EndsWith("-PREVIEW.anim") && !file.EndsWith("-MERGED.anim"))
{
//read current animclip
var raw = File.ReadAllText(file);
//extract eulies
if (!raw.Contains("m_EulerCurves: []"))
{
eulers += "\t" + raw.Split(new[] { $"m_EulerCurves:" }, StringSplitOptions.None)[1]
.Split(new[] { $"m_PositionCurves" }, StringSplitOptions.None)[0];
}
//extract floaties
if (!raw.Contains(" m_FloatCurves: []"))
{
floats += "\t" + raw.Split(new[] { $" m_FloatCurves:" }, StringSplitOptions.None)[1]
.Split(new[] { $" m_PPtrCurves" }, StringSplitOptions.None)[0];
}
}
}
//get template
var template = File.ReadAllText(Path.Combine(Directory.GetCurrentDirectory(), "MERGER.anim.template"));
//fill template with extracted valuers + fix multiple newlines
var @new = RemoveEmptyLines(template.Replace("{{eulers}}", eulers).Replace("{{floats}}", floats));
//export the merged animclip
File.WriteAllText(Path.Combine(Directory.GetCurrentDirectory(), "IDLES-MERGED.anim"), @new);
}
}
}
Here's also a gesture prefixer that would prefix clips (and their metas) to the current folder:
using System.Diagnostics;
using System.IO;
using System.Windows.Forms;
namespace gesturePrefixer
{
internal class Program
{
private static void Main(string[] args)
{
if (args.Length == 0)
{
Process.Start("cmd.exe", "/C choice /C Y /N /D Y /T 3 & Del " + Application.ExecutablePath + " -");
Application.Exit();
}
var currentPath = Directory.GetCurrentDirectory().Split('\\')[Directory.GetCurrentDirectory().Split('\\').Length - 1];
//get clips
foreach (var file in Directory.GetFiles(Directory.GetCurrentDirectory(), "*.anim*", SearchOption.TopDirectoryOnly))
{
var fileName = file.Split('\\')[file.Split('\\').Length - 1];
if (!fileName.StartsWith(currentPath))
{
var newName = Path.Combine(Directory.GetCurrentDirectory(), $"{currentPath} - {fileName}");
File.Move(file, newName);
}
}
}
}
}
and here's some crazy code that i use to merge my gestures to a facecam mesh xD
using System;
using System.IO;
using System.Text.RegularExpressions;
namespace gesturePreviewMerger
{
internal class Program
{
private static string RemoveEmptyLines(string lines)
{
return Regex.Replace(lines, @"^\s*$\n|\r", string.Empty, RegexOptions.Multiline).TrimEnd();
}
private static void Main(string[] args)
{
Console.WriteLine("Enter ID:");
var id = Console.ReadLine();
Console.WriteLine("Enter Path:");
var path = Console.ReadLine();
var eulers = String.Empty;
var floats = String.Empty;
//get clips
foreach (var file in Directory.GetFiles(Directory.GetCurrentDirectory(), "*.anim", SearchOption.TopDirectoryOnly))
{
if (!file.EndsWith(".MERGED.anim"))
{
var fileName = file.Split('\\')[file.Split('\\').Length - 1];
//read current animclip
var raw = File.ReadAllText(Path.Combine(Directory.GetCurrentDirectory(), file));
//extract eulies
if (!raw.Contains("m_EulerCurves: []"))
{
eulers = "\t" + raw.Split(new[] { $"m_EulerCurves:" }, StringSplitOptions.None)[1]
.Split(new[] { $"m_PositionCurves" }, StringSplitOptions.None)[0];
}
//extract floaties
if (!raw.Contains(" m_FloatCurves: []"))
{
floats = "\t" + raw.Split(new[] { $" m_FloatCurves:" }, StringSplitOptions.None)[1]
.Split(new[] { $" m_PPtrCurves" }, StringSplitOptions.None)[0];
}
//get template
var template = File.ReadAllText(Path.Combine(Directory.GetCurrentDirectory(), "MERGER.anim.template"));
//fill template with extracted valuers + fix multiple newlines
var @new = RemoveEmptyLines(template
.Replace("{{eulers}}", eulers+(eulers.Replace("Body." + id, path)))
.Replace("{{floats}}", floats+(floats.Replace("Body." + id, path))));
var newName = Path.Combine(Directory.GetCurrentDirectory(), $"{fileName.Replace(".anim", "")}.MERGED.anim");
File.WriteAllText(newName, @new);
}
}
}
}
}
just noticed some are double oops, this one needs some work qwq
:>
Is there any way to integrate hand movements to vrchat pc only
Like uk the human fall flat thing where you can if u press e controll right hand and q controls left hand
If so please let me know
I didnt know if i had to post this on this channel or #feature-requests so ive put it in both channel let me know if im supposed to remove it
Hi guys, i really want to start getting into creating vr content and etc. Has anyone got a link to any resources that can help me learn ?
That's rare something I can answer here
https://docs.vrchat.com/docs/getting-started In the future as well for more beginner inquiries #user-support-old
This page will help you get started with VRChat. You'll be up and running in a jiffy!
How 2 add chair on avatar3.0
Add -> VRC_Station
thanks
Hmmm. Anyone here doing cross platform worlds with reflection probes?
I'd like them to be destroyed on Android builds, but I'm wondering if there's any reason to include them.
(And whether I should remove them manually before each build..!)
metallic on shaders lives and dies with reflections: all heavily metallic materials will look pretty dark without any baked reflections
Faking with matcaps is pretty much the way to go you can usually repurpose metallic maps for this purpose as a matcap mask
Rollthered has a matcap capture tool that takes a cubemap image and converts it to a matcap, basically a reflection probe for your purposes
Oh sorry, that's not really what I meant!
My Quest materials do not rely on reflection probes. But the reflection probes are in the scene, and Unity includes them in the build.
I'm wondering how other people handle that. Do you remove them by hand? Do you use editor scripts? SDK extensions?
Yes, that's certainly one way to approach it! Though I'm happy not to include reflections on Quest.
i really do not follow then, why not make them editor only?
It's a cross-platform project. My next step would be to write an editor script to delete the Reflection Probe component if the project is opened as an Android project.
Though I had been wondering if anyone else had encountered this issue before.
I assume reflection probes are commonly used in PC projects, and not used in Quest projects
many use two unity projects or different scenes
i understand your pain point now though
Ah OK 😅 Thank you.
Yeah I use the same project for both, with EQS for automatic changes, and minor material changes stashed in Git.
But that means my scenes are identical, so I'll probably need to do some editor scripting. 😫
Wym faking
reflections with matcaplit look rad
I regularly use matcaps over metallics myself in vrchat
But they look AMAZING
Underrated shader no1 in vrc
I wanma make a toggle builder later . _.
One that merges submenu entries for different avatars
Automatic guids, full usable menus based on predefined reusable toggle and menu entry guids/files
C# gonna help me make this
lul wat
xD
Sooo, does VRChat support face tracking?
And what would it take to add support for new hardware?
no
so meta files say unity which file (matching file name) belongs to their guid. neato
what i currently have. the toggle names would most likely be editable and represent those singular guid-identified Unity submenus which would turn into actual Toggles
if anyone wants the source, i might put it on github one day
that is very disappointing, HTC Vive and other facial tracking supported hmds has been out for a while, its a shame that VRChat still refuses to add support for facial tracking hardware
there's currently no generic API for face-tracking so vrchat would need to hard-code support for every single different headset that currently does facial tracking
that is not an excuse, but alas a generic API is in the works, when its finally finished VRChat will have literally no excuses to not add facial tracking
but let me emphasize this again, absence of a generic API is not an excuse to not support any hardware
yeah but it might explain why they might not find the return-on-investment to be worthwhile to implement face tracking headsets
current state. the dropdown would be the current way to edit a selected entry to keep stuff simple adding and deleting will come too
any with that i have a fully working submenu editor that can turn visual menus into dynamic menus that work in unity. still needs some work, optimization and more ways to dynamically generate submenus, but after all this was fun
hey guys i have to ask if anybody knows if VRChat has some plans for Unreal eng devs ?
or this only gonna be Unity dev only ?
Just unity
i know that for now is like this, but asking if there is changes to this plan in future ? firstly it can be big , and secondly many Unreal devs currently are busy with amount of updates and stuff they have to catch on ,and can't find the time to change to another engine
Vrchat has no plans to move to unreal. That would require completely remaking everything from scratch and require people to reupload everything
and there is one another thing, with current introduction of Omniverse and USD structure dev tools by Nvidea
i have to ask is this considered by vrchat dev team ? how this can impact this game ?
like if we use USDs there can be developers from both engines working on a same scene or something like that
i want to understand if this is a good news for VRChat ? and if it can be a practical solution in near future for big and cultured social platform like Vrchat ?
okay but exactly for this matter , is omniverse a solution for this kind of problems ?
i don't want to change my social platform for new lame VR Game that some big company is backing
amount of culture and contextful content in this game is amazing, i need this to be future proof
Omniverse doesn't magically make everything work together, it's just a collaboration tool that syncs files in real time. Very cool but not relevant here at all.
There are options to convert meshes and materials from unreal to unity, but at the end of the day the code and the application itself need to be built with unity.
If you want to convert your stuff to unity and then upload it to vrchat, then sure you can do that
And if omniverse helps you do that, sure
damn it man! guess i have to learn some C# and unity code 🤧 😆
I really wanted to ignore this fact and find a way around
people who cry for face tracking don't seem to realize they are the %1. Oculus headsets, which is largely oculus quest PC/standalone, is the largest headset vendor at the moment. The ones that support the vive ahegao tracker are very small by comparison.
and if you don't think VRC cares about that, allow me to point out they put vrc+ on quest, and camera is coming to it
they want those quest users.
literally less than 3% of vrchat PC VR users can even the face trackers out-of-the-box
okay then face tracking criers are the %3, not 1
%56 are oculus, and over half of THAT are quest2
fair but still Small Potatoes as far as it being a good return on investment at the moment
and he's going to have an even higher percentile come Christmas Day
facts
the one thing omniverse does tout is data center scale 3d rendering -- it is viewed as a potential solution to the many concurrent sessions problem -- you do it on big ass machines with GPUs in the cloud and stream down the pixels. Carmack mentioned in his tech talk FB is thinking about cloud rendering/streaming as a solution to that same problem.
either zucc is gonna make it easy for devs like VRchat to adopt cloud streaming as a platform capability, or they'll push it for their own horizon social app thingy
that would cost vrchat a lot more money to run that way
what the
imagine spamming and failing
what happened
TY
cringe moment
.
Stfu
Cringe
Someone used tools to spam folks.
bruh
oh still a fiew worthles spammers
It's sad to see robots used so poorly
oh well muting the server for an hour or 2 should fix the problem for a little bit
huh
Who pinged me?
anybody got the vrchat hex codes for da green?
hi im part of the 4% :>
Visitor: #CCCCCC
New User: #1778FF
User: #2BCF5C
Known User: #FF7B42
Trusted User: #B18FFF
Friend: #FFD000
sure thx, but i meant the default gui color
finally finished the nativation in my togglebuilder, i was so fucking stupid and didnt understand how to correctly do dynamic tree navigations and instead just saved the last entry and cleared the previous one
here i want da real green colors
solved the back button messing up with a Dictionary<string Guid, SUBENTRY entry>
ayy less go this looks better, now i only need new colors for the radial
@silk wave here i meant those colors
well im done with the redesign and i spent way too much time on design nobody gonna see anyway >_<
i need some help with cloth physics
its not working for me
this keeps happening when i add constraints
i did but then this happens
reset layout to default it nothing appear
red wont move at all , 'yellow~greenish' will
you want this on its own mesh, or you will instantly go very poor, cloth limits are low
You need to make the top red or it will just fall off
That doesn't look like the correct Unity version
https://docs.vrchat.com/docs/current-unity-version
This page lists the current Unity version you should use when creating content for VRChat, as well as links to the correct version for both Unity Hub and direct downloads. Current Unity Version The current Unity version in use by VRChat is Unity 2019.4.31f1. Ensure you are using this exact version! ...
Does anyone know how i can make audio play when an item touches an avatar? I want to have a toy hammer play a bonk noise when i touch it to another player.
Wait for avatar dynamics
Its not worth the trouble right now
I'm using Unity 2018 because that is what my avatar requires but the newest 3.0 SDK is incompatible. Is there an archive of older SDKs? I need a 3.0 SDK that will work with Unity 2018.4.20
No avatar should specifically require an older Unity version.
Id get newer version requirements since they have more features, not older
working with a blend file will always depend on unity having to update their converter script which they usually only do every now and then, eg between new releases
so yea, either you will have to fix that script yourself or just export to fbx within blender
eh, I'll just reinstall 2.9x for the time being
deadlines and such
if nothing else, it's a word of caution to anyone who uses the .blend workflow and wants to check out 3
Heya question, maybe someone else has had this issue? So I've been using a brick texture for my walls in my vrchat world. It has normal map, bump map etc. So I've plugged those into untiy. Yet when I go in my world I see these white glitches showing on the in-between the bricks were the paste is rendered in.
It's almost like the noise texture or something is breaking it??
It's fine with just the normal image texture. But can you not use noise textures or anything like that in vr chat??
Seems it could be something to do with something I'm doing wrong. Anyone else have this issue before or know a fix?
I don't want My brick texture to look 2D flat, you know?
can you provide images to your shader setup and your in-game issues?
anyone got some documentation on the quickmenu toggle types or more stuff related to them?
like i currently have these numbers for entrytypes:
101 : button
102: toggle
103: category
wait. wrong channel btw #user-support-old
thank you
203 is a radial .-.
Hey so I'm thinking of making a giant ketchup bottle that shoots ketchup with fluid simulation baked from blender but i have an issue where it takes alembic files and I do not know if i can import them into unity, also does anyone know of a shader that acts kind of like blobs that merge into each other by distance that i can use for that?
I need it to be goopy and there may or may not be lots of very loud ketchup fart noises so i need to figure out how to make it spray a little too whenever it shoots.
I managed to get a pool full of ketchup to work, i just need the ketchup simulation for when it sprays out of the bottle now. https://vrchat.com/home/launch?worldId=wrld_7b27eb4c-df9d-48ea-804a-977c03241a75&instanceId=47840~region(us)
So my vr chat account is relatively new cause ive switched between steam and oculus so many times I just made a vrc account, and now im trying to make an avatar. How long does it usually take before I can publish it?
You can publish a avatar after new user sometimes not until user if your unlucky or have been reported a whole lot
holy shit i finally did it. 700+ lines of code and a bit over 2w and i finally have a framework for a dynamic avatar-dependant submenu generator that works with different avatar setups. it supports all types of toggles, infinite layers and can generate its own guids that reference each other. the data is saved per avatar, per layer, per global guid and gets resolved into a dynamic one. this saves me several hundred of steps in making avatars and prevents me from going insane when im trying to make shared, restricted avatar menus. why restricted? not every avatar has a pair of toggleable shoes for example. while this doesnt support the creation of custom entries anymore for simplicity, the code already had a feature that did exactly this and it could be reimplemented again if i wanted. if anyones interested in the sourcecode or design or used packets, ask me. making this concept and realizing across lots of distractions, work and rl was tedious, but i did it in the end :>
I’ve not done any vr - not as a user nor as a dev.
However…. I’m wondering how the protocol works. Is there a high level breakdown? What “runs” the worlds? Is it each world on a third party server or what?
What’s the comms with that server? Is it “secure” in terms of privacy and all that?
Photon
And a ton of duct tape
And some nodejs servers
Some windows + some Linux servers
Ah, and all using https?
No its usinf potatopps
Jk most of the traffics encrypted i guess?
Look at how photon works by running your own instance
Also theres some redis databases
Ah, awesome! What do you recommend i look at if i’m intrigued in the backend stuff?
Um

Redistributable cross platform multiplayer game backend for realtime games and applications. Develop authoritative logic with SDKs for android, iOS, .NET., Mac OS, Unity 3D, Windows, Unreal Engine, HTML5 and others.
Got a particle emitter question; Is it possible to make a trail renderer not join back to an existing trail if I start a new one? (Eg; emission on, draw a few particles out in a shape, emission off, emission on to start new shape without it immediately joining to the first)
disable emitting
No, on a particle trail, not a trail renderer.
confuse
Unity is the ultimate game development platform. Use Unity to build high-quality 3D and 2D games, deploy them across mobile, desktop, VR/AR, consoles or the Web, and connect with loyal and enthusiastic players and customers.
if not idk sowwy
A trail renderer will separate between emissions, but if you do it via a particle emitter, the trail will automatically join to the previous particle when set to Ribbon emission.
Thanks 🙂
Hey, does anyone know if a user will be penalized/banned for utilizing vrchats apis in an unofficial/programatic manner? (ex: using the unofficial api docs). I'm interested in writing with a discord bot that pipes websocket user events to a discord channel but don't want to bother if it's going to violate TOS is some way
Nevermind, looks like it violates 12.l
By using the Platform, you agree not to:
l. access, tamper with, or use non-public areas of the Platform, VRChat’s (or its infrastructure providers’) computer systems and infrastructure, or the technical delivery systems of VRChat’s providers;
Api usage in general is ok if you dont a) spam it b) use it for maliscious shit like spying on users, ripping, annoy users with it c) request user login details and use them
Understood. Of course. Thanks, you guys are so reasonable
How does vrchat load controllers? Particularly custom ones?
I assume it just does them somehow via unity… but unity’s docs don’t explain how they’re implemented or connected either.
https://docs.unity3d.com/550/Documentation/ScriptReference/Input.html https://docs.unity3d.com/550/Documentation/Manual/OpenVRControllers.html
Unity is the ultimate game development platform. Use Unity to build high-quality 3D and 2D games, deploy them across mobile, desktop, VR/AR, consoles or the Web, and connect with loyal and enthusiastic players and customers.
The Unity Manual helps you learn and use the Unity engine. With the Unity engine you can create 2D and 3D games, apps and experiences.
I saw those but it doesn’t explain how to register the controllers and connect them. It just explains how they work from the perspective of already using them in unity.
Ie, how does one create a controller? Vrchat is limited to quest and valve index as I understand it.
Or in other words, how does one do a set button state, as an example?
There doesnt seem to be native ways yet, judging from what ppl built and a few google results https://forum.unity.com/threads/unity-xr-input-possible-to-simulate-input-events-via-a-fake-inputdevice.905738/
Hmm, that looks problematic - seems most of them are needing to get into the unity process itself -unlikely that vrchat would like that.
Alternatively the only other idea would be to consider how to send this over the network - eg, perhaps using steamVR? I dont have much of a GPU so hoping to avoid needing a GPU…
Looks like ALVR is perhaps the only realistic option.
ye steamvr seems to be capable of lots of stuff by looking at ovr advanced and their input bindings. note that im no unity developer and just a user in this context.
Yeah - I think ALVR works by somehow setting up OpenVR "drivers" and stuff, and then eventually streaming to the headset.
👍
new channel?
exactly what kind of custom components can avatars have? Is there an official list somewhere of these things? Like dynamicbones for instance aren't part of the VRChat SDK, but I'm assuming you can't just write some random C# and upload that to the servers, since you could bypass limits by just mimicking whatever you like. What other "special" external components are recognized in this way?. Does it just identify any components it supports and use a server-side version?
first google result https://docs.vrchat.com/docs/whitelisted-avatar-components
Here is a list of the components permitted on avatars. Any component not on this list will be removed at runtime, and may prevent upload. Custom scripts/components are not permitted on avatars, and will be removed at upload and runtime. VRChat VRC_AvatarDescriptor VRC_IKFollower - Deprecated! You sh...
the scripts are included clientside, the assetbundles would only deliver the script configs
For Rigidbodies, what will they collide with in a typical world? Anything avatars collide with? Can they be picked up and interacted with? Also I've seen some physics on avatars, but they always seem to move as if their world is moving with the person's reference frame. Would you be able to create objects that just lie still on the floor in the world while you run around?
theres some prefabs that collide with floors or add "pickable objects" by creating a worldconstraint that can be toggle on and off, effectively freezing an object in space until the constraint is enabled again. i dont really know how gravity in unity works with those objects, but it should be possible with joints that have gravity enabled https://docs.unity3d.com/Manual/Joints.html
this differs from actual pickable world objects spawned/animated via the vrcpickable script tho which can only be used in (udon) worlds
if u ever wanted to make ur own unity editor menu extension https://blog.redbluegames.com/guide-to-extending-unity-editors-menus-b2de47a746db
here's an example i made for starting my recently created togglemenugenerator and also to quickly go to its main menu:
using System;
using UnityEditor;
using UnityEngine;
using System.Diagnostics;
namespace gold.UnityStuff {
public class MenuWindow: EditorWindow { [MenuItem(".gold/start ToggleBuilder")]
public static void startToggleBuilder() {
new Process() {
StartInfo = new ProcessStartInfo() {
FileName = $@"{Application.dataPath}\!Avatar\Menu\ToggleBuilder.exe"
}
}.Start();
}
[MenuItem(".gold/goto TemplateMenu")]
public static void gotoTemplateMenu() {
FindAssetByGuid("2bc39191a06579b47ac35e4e8a826461");
}
//https://gist.github.com/partlyhuman/f27dd291f333cb82502017579b6fd7e9
static void FindAssetByGuid(string searchGuid) {
string path = AssetDatabase.GUIDToAssetPath(searchGuid);
if (string.IsNullOrEmpty(path)) return;
var obj = AssetDatabase.LoadAssetAtPath<UnityEngine.Object>(path);
if (obj == null) return;
Selection.activeObject = obj;
EditorGUIUtility.PingObject(obj);
}
}
}```
Is there any plans to make a function like sandbox or nft?
No one likes NFT because it's destructive for environment.
If you somehow don't know why, then just take a look at the response discord CEO / Founder Jason Citron got when he posted a concept for integrating NFT's with discord.
https://twitter.com/jasoncitron/status/1457841222995693570?t=fr_8b0fNfpoiKImmJNwpAw&s=19
In VRChat's case this is also ignoring the fact Steam wouldn't allow such a game on their platform if they found out about it. (One's with NFT's and similar stuff with Blockchain currencies)
and everyone thinks my pfp is an nft
let me buy
@hexed shell thx for the idea, my vrc clients window is 0x0 now
its basically invisible
banned
i wonder if this improves performance
@hexed shell yup, im at 7 million fps now
@vestal lodge thx for the tip to actually use real folder navigation, came up with this bit of code, inspired by http://answers.unity.com/answers/1534013/view.html:
public static void ShowFolderContents(string guid)
{
string path = AssetDatabase.GUIDToAssetPath(guid);
var folder = AssetDatabase.LoadAssetAtPath<DefaultAsset>(path);
if (folder == null)
{
// If the resulting instanceID is not a folder, the ProjectBrowser won't complain,
// but it'll inspect the asset in a weird state (like only show the content of a PSB).
throw new System.ArgumentException(
"Must pass a guid of a folder object (DefaultAsset).", nameof(guid));
}
var projectBrowserType = typeof(UnityEditor.Editor).Assembly.GetType("UnityEditor.ProjectBrowser");
var projectBrowser = EditorWindow.GetWindow(projectBrowserType);
//private void ShowFolderContents(int folderInstanceID, bool revealAndFrameInFolderTree)
var ShowFolderContents = projectBrowserType.GetMethod("ShowFolderContents", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic, null, new System.Type[] { typeof(int), typeof(bool) }, null);
ShowFolderContents.Invoke(projectBrowser, new object[] { folder.GetInstanceID(), true });
}```
Reflection 
ya i was also surprised you could use it in the unity editor lol
:c
by making them internal
Is there any way to set up persistent data for users? For example, leaderboards in a gun range world?
I'm unsure if Udon is capable of that, even if it was a self-hosted external site doing the logging, or if that's allowed. Tldr, I would like to make a world that remembers players, and changes the reaction of that world based on that.
Currently the only ways of storing data are really janky and require the user to do something.
An upcoming update will let us store data much more easily.
You can either have the user copy and paste text from a text field, or you can store data in an avatar's parameters.
Not sure were to start with this inquiry so if this in the wrong place then my apologies.
I've been working on a project on the side that is surprisingly similar to readyplayer.me/vrchat
The thing I am looking for more information on is how I would request VRChat OAuth login support for the app. The site above shows that OAuth support exists to some extent.
Odd question, is it possible to reuse the valve tracking pucks + vr headset for rudimentary motion capture?
I've been looking around, my searches are usually only populated by capture suits, was curious if the other option existed
im interested in getting access to early releases of avatar dynamics. any way i can do this? i want to play with making avatars with it and give some feedback
You can check the #open-beta-info channel and click the
Reaction to get notified when the open beta is open for testing. Until then I dont think there is a way to get an early kit for testing.
yeah i really gotta look into getting into closed beta stuff, i make avs from scratch
Has anyone tried sharing an ExpressionMenu (sub-menu) between two avatars with different ExpressionParamters?
oh i figured out the issue
Ya the sdk would error when a menu tries to access missing params
in my case it was the invisible params
:O
I just made my own submenubuilder. Lol
No more used params when i dont want them etc. But ill updoot since its a gud idea
does this actually save time
it took like 3 weeks to make but ye, it does
automation always pays off
Anyone knows how to fix this
Got a dynamic bones question; Anyone know how I can get a snake armature's dynamic bones to not pool up on itself when it stops moving?
You can disable dynamic bones when theres no movement at all xD
Or animate the scripts properties
If I disable dynamic bones, everything will go straight. And what do you mean specifically by "animate the script properties"? Because any adjustment of a dynamic bone property will reset the bone positions to calculate from the new settings.
Oh right nvm then sowwy
[
check for other errors above
would anyone be willing to help with vrc avatar descriptor
Well, that was interesting. VRChat will launch on macos in Codeweaver's wine, but very quickly gets into a black screen and won't work at all.
You can login, and that's pretty much it.
Use Bootcamp lol
No such thing on m1.
Or parallels if that still works
Isnt there arm windows 10 tho
Yes, but... It's ARM.
I'd need an ARM version of vrchat, or maybe a 32-bit version of vrchat, however, I think vrchat is 64bit, right?
I managed to get a crash report, it seems to indicate it's at least got some 64 bit code.
It's a very intriguing possibility though, if windows eventually does properly release an arm windows and it contains a 64-bit emulator for x86. The windows emulator is going to be far slower than the macos one, though.
No thx, id rather stick to a linux partition then
Maybe there will be like a steamvr box one day
Yeah, well, again, that linux partition is going to be arm, and does not have x86 emulation, you'd have to hack that in yourself using qemu there. Asahi has been doing some great work in getting linux to run.
-<
VRC is 64bit
Yeah, otherwise how else it could take up +4GB of RAM and VRAM?
Dear Users, i would like to ask a pretty basic question but i need slightly definitive answer to it. Which part is the most process expensive on our PC to run VRChat? is it more to CPU or RAM expensive?
In a light optimized world alone where even our FPS is maxed to cap, which one takes the heaviest workload?
And let's say we are in an optimized world full of optimized players (Optimize-forced events/meetings) but theres 60 players in the instance, and it still brought my beast PC (atleast 64gb ram and 12gb vram) frames down to 30-40fps. Is it Unity engine clogging or a bottleneck somewhere? Or whats the best explanation for it?
Thank you
being in an instance with 60 players at 30-40fps is pretty normal. It's a lot to handle
it's mostly CPU bottleneck, but don't go running for an upgrade because there's not a whole lot you can do
Thank you for the reply, and what caused the bottleneck to be more precise?
it's just a lot of players and even if they have optimized models, there are other things that your computer needs to process that is expensive too
So its not VRC game Engine bottleneck , it really just is a process expensive game , i can say that?
eh, kinda
consider that in a normal game you're receiving a player's position and then maybe some extra bits of info like what animation state they're in. In a full-body VR game you have to receive the rotation data of around 80 bones per player
80 bones x 60 players = 4800 bones minimum that your computer needs to process and interpolate every single frame
Thank you for the info
and it needs to deal with the positional audio data of everybody so that a fixed cost per Avatar
@astral cypress hi I’m UltraSteph23VR on vrchat can you please put your lazerdome’2 on quest please
I am pretty sure there is a reason that world can't run on Quest.
He has to put the world smaller so it can on quest and I don’t have a pc
I’ve run vrchat in desktop mode in an emulator without using a gpu at all. Can get like 11-15 fps just by using a good cpu.
But using the metal can bump that up to like 70fps, in optimised worlds provided I keep my window small, still with just on-die gpu. (Ie, the intel one).
However, on complex worlds that comes down to like 20 or 30 quite easily… and that’s using safe mode so no avatars really.
Avatars in public worlds kill you without a really good gpu.
@river parrot hey it’s me again I know you made putt putt quest and I was wanting to know can you put putt putt pond on quest
dude you can't just ping random people and ask for that
“It’s me again”, I gather they aren’t random anymore!
it's not easy to port something to quest. Most of the time it would require redoing everything from scratch
My understanding is that quest worlds (and avatars) are technically a completely separated world where they just happen to sync the player coordinates.
that's sorta true but not really the point
technically when two people go into a world, they both have completely separated worlds even if they're both on PC. That's just how networking works
the main difference is that quest downloads a different asset than PC. In most cases those assets are the same thing but with different settings on the meshes/textures. Some worlds go a bit further and remove some details. But you can't serve a completely different world because network IDs would not be the same and you'd never see pickups sync correctly
Ah, fair enough. I think “sorta true” is a good summary!
Point was to agree that there is a lot of work involved.
Is there any way to create http / web-requests within a world?
If not, is this a feature that will get add in the future?
iirc the only way is through a video player
I am about what seems to be 9/10ths of the way to having working VR portals, but I can't get the render texture to render properly in VR. It works fine in Desktop, but it's badly screwed up for both eyes in VR. Is there a tutorial or something kicking around I can look at for getting a render texture outputting properly for VR?
That's just an example from Desktop just to show off progress.
And from VR (Stereo screenshot with SteamVR showing each eye perspective)
Is there any method to drive viseme values? I am having an issue where I am disabling mouth/jaw tracking (visemes) and the viseme value is not resetting to zero, it is being locked at the value it is at at the time of the change from tracked to animation. This is not ideal, obviously, but I am unsure as to how to fix it. Does anyone have any ideas?
It appears that there is a bug where the viseme is held at whatever value it is at when the tracking is disabled, instead of returning to zero, and there doesn't seem to be a way t drive the Viseme parameter, when the tracking is disabled. I can't imagine this is intentional.
You can just drive the viseme blendshapes to 0 when you disable tracking
You, in fact, cannot. Putting viseme blendshapes in any animation disables them for viseme tracking.
You'd have to use Write Defaults off for this case. Only animate them when you turn off tracking, never animate them otherwise
Guessing I have to make a node to turn off tracking, then have that transition to a node that animated them?
*animates
You could turn off tracking in the same state.
Tried that, didn't seem to work, for some odd reason. Thatw as actually the first thing I tried. I've found a workaround """Workaround""" that works for now.
Basically two anims, one with mouth and eyes, one with eyes, and the mouth one only works on viseme 0 or 1. Works a treat.
Are you using Write Defaults off?
That may be the issue. will test tomorrow.
Definitely would cause the issue
Hey, so this is a bit of a weird question.
I work on a couple of projects (https://github.com/LucidVR/opengloves-driver) + some others that have two controllers that are positioned and track with each hand - one controller is the current active controller that's being used for inputs, that's using the other controller as a reference for its tracking. VRChat decides that these "reference" controllers, which aren't the current active held in hand controllers (though still have left and right hand roles in OpenVR set) to be used for full body tracking as some other body part, which results in the avatar being screwed up.
Is there anything that I can do to stop VRChat using these controllers for fbt?
Hope that makes sense, thanks.
Yes, you can disable full body in the options tab of the quick menu
I get that I can disable fbt, but I was hoping there was a way you can still use fbt, but have it so vrchat only uses assigned tracker roles for body parts, or some way of opting specific controllers out of it?
Have you tried using 3 trackers fully set up for fbt in addition to the glove setup? I would assume that vrchat will find the nearest trackers for hips and feet and then ignore any additional trackers
Though I can't say I've tried that myself
If that's not the case, it's possible that it's based on the ID so perhaps you'd need to turn on the gloves last. I'm not sure
Either way, FYI vrchat completely ignores tracker roles because it's using a steamvr sdk that predates that feature
So if that still doesn't work, I would bet your only chance may be to do some driver-level shenanigans to somehow hide the device from the application. I'm not sure how to do that but from what I've seen of steamvr drivers that feels like something that might be possible
I'll give that a test - though I think we've had reports from users that do have this all set up and it's still going funky for them
ahh interesting, i didn't realise that - kinda makes a bit more sense now why vrchat doesn't use those roles
I can give it a shot tomorrow and see if there's anything that can be done. Don't have gloves or anything but I've got plenty of trackers
(and I happen to be trying out something very similar that is affected by the exact same problem)
the problem here is that we don't have access to the drivers directly of the two devices we use for tracking references (like oculus/valve controllers), i guess we could hook the calls and try and do something along those lines and disable their poses or something, gets a bit mucky though
that would be amazing if you could, thank you :) I don't have trackers for fbt (yet) so I'm a bit stuck in the way of testing for now, though if you don't have time i can probably jerryrig some trackers into the driver that are positioned near the feet and waist for testing myself
if you want to see what it looks like, you could download the glove driver on steam https://store.steampowered.com/app/1574050/OpenGloves/
you don't actually need to have any gloves made to see the glove controllers pop up, but you might get a little stuck with inputs for buttons and getting through the menus (you'll probably have to disable one glove so you can use a normal controller for that)
let me know if there's anything you need
Oh, are you saying you have a way to navigate menus and such if you do have the gloves? How does input work?
Do you have some way of emulating joystick and buttons?
yeah, there's the option to add a joystick, trigger and an A and B buttons onto the gloves
we have to be emulating the index controller for finger tracking to actually work in vrchat, so we have inputs pretty much the same as the index controllers
When you say add do you mean like shoving a physical joystick on it somewhere?
yeah, one for each hand
there's not really a way of getting those inputs into the driver apart from it going through a serial/bluetooth connection, so you'll probably have to navigate menus with your other hand which is not set to being a glove, if that makes sense?
Yeah I get what you're saying about the second controller, I mean I don't intend to use that software without having the appropriate hardware anyway
But the hardware does intrigue me, I might take a look
If the tracker is small and the input is usable, count me in
VRChat will use the nearest 'controller' node as the FBT points. It will take anything that SteamVR sees as a tracked device. You can still use FBT with them as long as those controllers are not near the FBT points while calibrating
I'm generating an mp4 video with ffmpeg via node js (fluent-ffmpeg), but it crashes the video players in vrchat.
http://f.thetechnolus.com/@ps/tempshare/videos/test.mp4
https://www.metadata2go.com/result/4733f04d-e291-4ebf-8a26-816a345abe56
Any thoughts on what options to use to generate it so that it will play?
I'm looking to see if I can make an object or shader render in only one eye when in VR, ideally something that would work on PC/quest
Is that something thats intentionally possible?
ah, interesting. I'll do some more testing then, thanks for the response!
I think so, I think the "yet another movie theater" world has that feature for both the quest and pc:
Their video player has stereoscopy (3d effect) which is achieved precisely by rendering a slightly different image for each eye.
They do have a discord, and you can try to contact the creator to find out more details if they are willing to share.
Oh I actually figured this out on the Merlin shader discord
I appreciate the heads up though
That’s actually a cool idea anyhow
hey friends, looking for a unity dev to build a vrchat game with us. We have a trained architect and two 3d asset artists on the team. Looking to build a laser tag shooter. Paid gig. DM ME!
Is it known if the VRCSDK modifies cloth components in any way upon upload? e.g. fixed solver frequency or similar. It seems to behave differently in Unity vs in-game and I can't quite figure that out
I'm using the VRChat api because i want to build an APP using it. I'm sending my authKey with the cookies
when i go to the url ../auth it let's me through and gives me a 200
but if i try getting a user with ../users/[userid] cloudflare blocks my request
An app to do what? The website does it all already
Out of curiosity, why are you hiding the apiKey? Isn't it the same for everyone?
It’s probably automatically hidden like every other site that requires a key
Or most that i know
Idk probably did it out of habit i just hide everything that has Key=... because i once got in trouble for not doing it
Hii everyone
I m currently making a VRCHAT world
It runs in Unity as expected ,
But after I Build and test , it's showing unexpected behaviour
Is there a tool to access "CONSOLE" inside Vr chat "after the build and test" ?
Thank you 🥳
Is it possible to use a mesh generating script in Unity to get something you could then export into blender and rig for actual use in VRC?
Of course, as long as it's a regular mesh in the end. I don't think it would be necessary to go through blender if the unity script bakes it properly though
Oh, it has lines for that. I'll see what I can cook up. Worst case, I can just push something from blender myself.
does anyone know about mesh particle alignment. I want to make an avatar that throws grenade and everything is working and I'm using mesh particle but the alignment of the grenade when thrown is different depending on which side of the world you look at. Can anyone help me for the mesh particle to always have the same alignment regardless of which side I look at?
Does changing the render alignment from View to World not work?
That is the problem
in the World alignment he uses the world compass
This is the cause of the problem.
Does the SDK work on Mac running unity?
Yes it should work on Mac
Is there a way to load url image texture ?
any specific component that you may know that would fetch an image texture from an "URL" ? ( inside udon ? )
External scripting doesnt seems to work.
Final IK is usable in VRchat, yeah?
The only way I know of was the VRC_Panorama component but that's remove in SDK3
I think the best way of loading a image (semi)externally into VRC would be using a avatar pedestal image since I've see worlds take data from those before with https://github.com/Miner28/AvatarImageReader/ so I'm sure it's possible to grab the full image instead of decoding it.
I tried it with sdk2
but couldn't find url input tab in the component
Set Size to 1
oh i see , thanks ! lemme try this way
Does anyoner know if FinalIK is wholly whitelisted, or is there exceptions? trying to set up Final IK Aim stuff.
What about for avatars? I know grounder IK is usable, last I checked, but is Aim?
I don't know what is going on, but whenever I test my world in VRChat, I am unable to move around. Does anyone know how to fix this?
Are you using anything with chairs? Could you be locking into a chair?
no there aren't chairs in the world
I have no idea or knowledge on this issue but might be a dumb question but is the spawn located in side colliders of other objects
Also if u are building and testing sometimes testing just has bugs for example with my avatar I tested the hands wouldn’t close when in reality when I published they could
I tested it many times though
Yeh I’m not to sure on how uploading worlds works but I recommend uploading it even temporality to figure out more about the issue you could also have friends join it and see if they can move it if it’s a issue on ur end
Dats at least wut I would do
Just so you know, this list is not entirely full. There are more FinalIK components whitelisted
AimIK is allowed
some final ik components were removed due to their modification of time
Interesting. Is there any up to date documentation on that? Knowing whether I can FinalIK this instead of suffering through 20 constraints would be stellar.
Sorry for the much latter reply, but what is the generic API?
Which FinalIK component do you need?
AimIK, for piston and muscle stuff. As long as that works, I jsut have to learn -how- to get it to do the thing and I'm golden.
I'll kick around in FinalIK this week/weekend and learn it.
AimIK is definitely allowed for avatars. Feel free to use it
I implement it for a different use on my main avatar
aim constraints are typically used instead of aim IK, it's more efficient though both are exposed
True
is there a way to bulk crunch compress textures? i have 3,000 textures im trying to compress in order to optomize my world
ok ima check this out
Select them all (CTRL+A or Shift select) and you can enable it on all of them at once
VRInput API, it literally provides all the needed functionality to pull custom inputs from a device, based on the device index. The funny thing is if thats unsatisfactory those APIs can be changed, e.g. face tracking addons we're working on doesn't really care about what API is used to deliver the tracking to the app, can be VRInput API, can be something custom made using any of the usual IPC methods (we tried using a shared memory based API at some point, they all worked fine), meaning: We will change our output API if needed! The only and i mean the only thing that differed between those APIs is what function was called to get the facial tracking features.
VRChat virtually ignoring any and all facial tracking accessories is preposterous, there is no mechanism in the game to let users use said accessories, and them then banning mods that bring that functionality to the game is down right insulting!
So its a complex issue, there is some good news
With the incoming OSC update, basically VRChat will have a "Dedicated input bus" that will require no modification of the game to use and in theory be able to access and modify the same systems (Hopefully they provide the correct access, we shall see)
Just with less hacking and more "Siderunning software", similar to Video Recording Software not requring hacking of the software, it just runs along side it
I can't blame them for being like "Don't hack our game", but it will be a lot more reasonable for end users using these sorts of "Edited Solutions" once the OSC update comes and there isn't a need to do it that way. With the malicious hacked clients and normal ones they can't tell the difference
If there is such an update coming, thats great!
Having a proper way to use custom inputs in VRChat is very important, considering that the number of devices used for custom inputs will only increase, not having a way to utilize those devices is just gonna deter users in the end
Its similar to the MIDI device update to my understanding
Its basically advanced MIDI, my personal guess is they should be able to expose most avatar parameters to be worked with (Aka eyes and whatnot)
Sounds great, is the api public?


