#udon-showoff

1 messages ยท Page 1 of 1 (latest)

strong quest
#

Have your Desktop players hold items and still use interact triggers!

tidal orchid
#

Finally released my pack of raymarching-shader based Lava Lamps! 19 ready to drag and drop into your worlds. Been working on this for months. Now on Booth!
https://tanukiart.booth.pm/items/4025480

This asset includes 19 ready-to-use drag and drop Lava Lamp Prefabs, and 14 Lava Lamp Materials. The lava effect uses realtime shaders and a technique called "raymarching". This makes the lamps infinitely customisable. You can easily adjust liquid colour, wax colour, transparency, emission, speed,

dense steeple
timid flume
potent hatch
tulip aurora
#

maybe he was eating udon while recording this ||or posted it in wrong channel, which is more likely||

coral sun
#

Been working on an udon/shader asl transcription thing. Still super early

pastel moon
#

This is my new work, and it contains a lot of features

pastel moon
#

This is what I used to do, I hope you like it, and then make a friend with mevrcFriendreq ~

bitter atlas
pastel moon
warped dune
#

OpenWorldMovementLogic update for SaccFlight 1.6 has been released.

Basically an origin point shifting system tailored for SaccFlight. Player synchronization is also included.

This system basically allows you to go further the usual 40km x 40km limit when it comes to standard unity stuff before it starts going into a jittering mess. (Floating point errors)

Who knows, maybe you can make space travel with it as well.

Requires SaccFlight 1.6.
https://zzhako.booth.pm/items/3814760

Zhakami's Open World Movement Logic System for VRC's Sacchan Flight and Vehicles This system allows you to fly further than the usual 20km x 20km floating point limit for VRC. This can also be applied for standard Unity, but this system is tailored for VRC. # !! LIMITATIONS !! - You will have to

warped dune
#

@pastel moon The way how player sync works is each player has their own attached stations.

Only the local player doesn't look like they have their own station; But everyone else is in a station, and is synchronized according to where they are at locally; And is synchronized accordingly based off their offset in the map position.

pastel moon
warped dune
frigid jungle
pastel moon
quartz torrent
#

I've been using UdonXML created by @west barn but found I was going to need to work with very large data sets for some of my upcoming projects that would halt VRChat if I tried to load them in one go. I've created a fork of the project and added an Async loading system now. https://github.com/Nidonocu/UdonXML
It includes a demo scene as well showing how to use it, I've published a live version here: https://vrchat.com/home/launch?worldId=wrld_d08332cb-09d6-4952-8081-ed9b8b90b32f
Let me know Foorack if you'd like me to do a pull request or some such to merge back to the main branch or such!

GitHub

UdonXML is an XML parser written in Udon for VRChat! - GitHub - Nidonocu/UdonXML: UdonXML is an XML parser written in Udon for VRChat!

Demos loading large XML datasets using Udonโ€ค Checkout Nidonocuโ„UdonXML on Github for more infoโ€ค

coral sun
#

thats pretty neat!

coral sun
quartz torrent
#

Previous solutions required updating the world every time, this means we won't have to any more!

coral sun
#

how are they imported? is there like an ingame textbox that you paste into somewhere that this script then processes?

quartz torrent
#

Initial plan is a textbox to paste into. There's also ideas I'm investigating around encoding them in to image data in a video stream generated directly from the quiz database. But that's... a much deeper dive and something to look at down the line. But would be very cool if I can pull it off.

#

I've seen some other libraries by others though that show proof of concepts on how to do that.

coral sun
#

remember that VRC does not allow editing of URLs within udon at runtime

#

you can can take a look later as this gets more polished, but tbh that may be more work than its worth

#

conversely, there are also limits to how fast you can transfer data between clients. An absolutely massive string like an xml with tons of questions and answers probably cannot be transferred in one go, and instead should be broken into chunks

#

its nothing insurmountable, but keep them in mind as you work on this

quartz torrent
#

The way this works is that only one person, the host of the show, loads the full dataset. Once the game starts, only the current question and answer data is selected and sync'd and displayed like normal. I was chatting with others and there's ways to make sure the video is 'clear' enough to not have ambiguous data, using checksums to validate as well. And yes. I think the idea would be, for safety, I'd point it at a locked URL for the quiz data and my quiz server would provide it an actual video that would be played and consumed by a video player. It just wouldn't be viewed by anyone and the hosting player's client would scan the video frames to turn it in to text, which in turn would be fed in to this.
That said, this would save like... one copy paste. Which given they are adding a Paste button soon. Well.... I might just keep it easy. XD

#

This would be one of those 'creative legal work arounds' that people love to make in Udon, but for all I know, VRC might suddenly surprise us with a websockets API of some kind and I would be both over joyed... and annoyed at all the work wasted. XD

coral sun
#

The current question/answer being synced only is so obvious its funny I didnt realize it lol. Yeah I think thats the best.
Ives been doing funky stuff with udon scanning textures/shaders, and while it is possible, it can be... funky

#

I think keeping this simple is the key, I wish you the best of luck!

pastel moon
#

Continuous drawing function, will not be caused by too fast movement caused by breaking

delicate axle
#

Dead chat xD

warped dune
atomic crane
#

oh my god this is cool hahaha

tidal orchid
west barn
pastel moon
atomic crane
#

Do you have to do the 3D portal effect using shaders?

tidal orchid
#

Messing around with some clocks that display the time in hexadecimal glowing in the colour the current time represents!~ always been fascinated with hex clocks

quartz torrent
# west barn Sure! Please do a PR if you want! Alternatively if you want to continue maintain...

Sure thing, might tweak the text a bit more first on the Readme first then send one as I wrote it from a PoV of it being a separate module and I moved the folder in to a root folder rather than under your username. But that would break people upgrading so I'll pop it back in there. I'd rather it be merged in though as your repo has all the links to it! ^^
It also has the fixes for the bug report I sent in so that'll get taken care of too.

bitter atlas
#

this is like nearly all the code for the music sync btw

#

thought I'd share

#

this also works if you're changing the pitch and even playing the track backwards

hoary nimbus
warped dune
neat fern
weary kelp
blissful ocean
#

may i ask, is this world public and if not are there any other world with decent drifting

hazy trout
#

You could try searching "drift" or "drifting" for worlds. For this one specifically a user named uoppoH has some public worlds.

Let me know what level of physics you're after and I could point out some worlds

blissful ocean
hazy trout
#

You could try this one. It allows rebinding, not sure if you can grab the steering wheel https://vrchat.com/home/world/wrld_56b44888-ca6f-40aa-95c3-7be9e8d6393f

KK's Drift-khana ๏ผ† Circuit Powered by Chikuwa car system httpsหธโ„โ„boothโ€คpmโ„jaโ„itemsโ„3129945 Car models by me๏ผˆS13โ€šAE86๏ผ‰ and gongchang๏ผˆjzx100๏ผ‰ Car parts special thanks ๏ผ r15qwertyuiop ๏ผ supra7000 ๏ผ Aoitoriโ€ฆ

blissful ocean
hazy trout
#

While we're on the topic of cars here is a later iteration of some sound processing for the cars. E.g. being more muffled behind buildings

blissful ocean
#

ok, thats cool

celest burrow
coral sun
#

Still cool that you did it by hand tho!

hazy trout
#

fingers crossed that will be performant. And if so I can probably remove the udon implementation I did for performance gains

neat fern
ivory sorrel
#

Curious though, do your cars' sounds work off of pre-recorded audio, or is it synthesized? ๐Ÿค”

sinful hearth
#

starting work on IL2UAsm, a better version of UdonSharp

hazy trout
raven slate
sinful hearth
raven slate
#

I mean if you're using IL, can't you compile C to IL?

grizzled nexus
#

now this is epic

midnight pike
lone gust
#

yo, is there anything new with this? ๐Ÿ‘€

copper cedar
tacit prawn
hazy trout
tacit prawn
#

sick

hazy trout
#

Here is where a 1500 bhp car is used on the track. We can balance our input so that we minimize wheel spin

#

and another car where you can have more confidence with speeding through a corner due to downforce and a grippier tire compound

tacit prawn
#

I almost creamed my pants

warped dune
sinful hearth
sinful hearth
# sinful hearth ๐Ÿ‘€

only some of these methods can work 100% guaranteed. Like Name, Namespace, and FullName will work on any type you pass it, but IsInterface (for example) will only work on user types. For VRChat types, it returns false always

proven totem
meager lodge
raven slate
copper cedar
raven slate
frank lily
copper cedar
# raven slate It's usually only used _as_ a plugin, instead of as game code. Though, I have s...

I am somewhat confused ๐Ÿ˜…
Yes, my project is converting IL to Udon. But not everything in IL can be converted. For example, it seems to me that C often uses so-called "unmanaged" approaches, such as pointers. They can be emulated in some way, but limited. For this reason i was trying to find out how C code would eventually compile to IL. I took Unity as an example, as it's interesting how exactly a plugin is created for this environment. It seemed to me that you are writing a similar code, and for this i was interested in you examples of such code, sorry for the trouble.

coral sun
raven slate
violet karma
#

Here's a tutorial on respawning a bunch of synced objects in your world, as well as an over-engineered chess set.
https://youtu.be/cAQWVq7o5x0

Let's set up a way to respawn a bunch of objects in your scene, such as a full chess set for example!
All assets are available on my Patreon if you'd like to have access to anything I made during the video.

Further information on Networking in VRChat:
https://docs.vrchat.com/docs/udon-networking

Full Tutorial Playlist:
https://youtube.com/play...

โ–ถ Play video
smoky bay
# violet karma Here's a tutorial on respawning a bunch of synced objects in your world, as well...

Lol, we both released a video on how to respawn an object
https://youtu.be/VTQgI5WwH6s

Here's a follow up from my previous video on how to respawn an object, where instead of making it respawn with a button, the object now respawns when it touches and object. Or as the commenter wanted, 'respawn when put in a trash can'

Doing it this way would allow for some cool mechanics, instead of just trying to return the item when asked

So...

โ–ถ Play video
violet karma
#

Phenomenal

#

Literally would have had this up the same day as you if YouTube was faster at processing 4k lol

smoky bay
violet karma
smoky bay
violet karma
#

I also recommend doing the GetComponent for the object sync then checking if it's not null, then respawning. That way you don't have to worry about managing naming correctly.
And nope, it works perfectly fine in Unity. OnCollisionEnter requires at least one non-trigger collider, while OnTriggerEnter can be between trigger and non or two triggers.

smoky bay
violet karma
#

You're checking for "Item" to exist in an objects name, and while this works perfectly fine, it's something that you have to take into consideration and not accidentally change the name outside of that check. Again, your version works 100%, it just means other features need to be designed with that in mind.

smoky bay
violet karma
#

Ye no worries, definitely good to have ways to filter it.

smoky bay
little stone
queen aurora
#

the new instancing call is verry nice being able to render around 87000 stars in 100+ fps

stable phoenix
#

0so what does the instancing call do and very nice

boreal nest
#

it allows you to render stuff using code vrcTupStare

#

it's very cool

queen aurora
#

super cool stuff

nocturne pulsar
ocean arrow
nocturne pulsar
lunar lark
#

Maybe move the camera a bit up ๐Ÿ˜…

tulip aurora
#

wrong channel, bud

bitter atlas
coral sun
odd void
dawn oxide
tulip aurora
#

my eyes hurts
(also, third screenshot looks like french hub, so i'm not sure about how your screenshots refer to udon)

hazy trout
#

Trying out my vehicle simulator in high speed conditions by tuning properties such as the gear ratios, turbo mapping, wheel alignment, wing angles. The only thing not available for this current version is an easy to use tire compound creator. These tires are currently at the limit

glass phoenix
#

might be unintentional but that looks like a really interesting mechanic :o

weary kelp
slim peak
weary kelp
#

nope, I only release worlds once they're 100% done instead of releasing wip ones

#

but there will be a demo out soon as part of an event

#

(keep any eye out for raindance immersive festival in october)

slim peak
#

oh cool, I'll give you a follow

#

Will do!

#

Could I ask where you get your materials from?

#

Or do you make them yourself?

weary kelp
#

a lot of them are by myself using substance painter

#

but the ones that are premade you can find on sites like artstation or substance share

#

artstation ones will be paid ones, depending on the license you pick

#

(the premade ones are used within substance though)

slim peak
#

Thank you! I've got 4 websites I go to for pbrs however I noticed for a lot of stuff you can't just put a single material on it to look good

weary kelp
#

oh yeah for sure, my environments are all atlased and textured in groups

#

substance is great at baking things and autogenerating stuff on edges + ao built on which is nice

slim peak
#

oh sweet

weary kelp
#

and then painting in normals using height map + masking

#

trimsheets also help a lot too so its useful to build those in aswell

#

and you can reuse those for different meshes

slim peak
#

Every time I think I know a lot I'm suddenly reminded how deep the iceberg goes lol

weary kelp
#

yeah I have so much to learn still too

#

an example of trim sheet object

#

built a bench out of one ๐Ÿ˜„

slim peak
#

Oh cool

#

Closest thing I've done is having 4 pixels, rgb and black for volume knobs to use the same material and have different colours but never anything with textures

weary kelp
#

its worth looking into, it'll open so many doors for you ๐Ÿ™‚

slim peak
#

Thanks for the advice!

weary kelp
#

no prob ^_^

slim peak
#

I just got accepted into uni for game design / development so hopefully I'll learn more there

weary kelp
#

๐Ÿ™Œ

#

good luck

slim peak
#

thx!

weary kelp
#

I'm gonna be a little cheeky and repost my link since its way above now XD
https://twitter.com/LakuzaVR/status/1563215129340047362

Current progress on my #VRChat world.
(the glass shattering was all hand animated, no particles or baked simulation). All environment & characters I've made from scratch too, with the environment in the 2nd half being made in the past week or 2.
#unity #indiegame

โ–ถ Play video
stable phoenix
smoky bay
#

A bunch of people been asking how to use an object pool, so I made a video showing how to use one ^^
https://youtu.be/s96fkF2MsaY

This has been a long video in the making, going over how to use an object pool to spawn in a object, whenever you click on the stack of cards. This is how you would go about instantiating an object into your game, while allowing the objects position to also be synced, so everyone else can see the object moving as well.

In this video I only used...

โ–ถ Play video
bitter atlas
#

Big fan of glitch art, please let me know when this is public ^^'

dawn oxide
dawn oxide
frozen kelp
potent hatch
frozen kelp
#

Momo thanks ....Its an udon world. Just a chill space. All of my other worlds have a lot of interactivity....this one is purely meditative.

weary kelp
#

Another update, this time showing off a new enemy type which I've been working on since the weekend (from modelling start to completing all the udon/logic for it) ๐Ÿ™‚
https://twitter.com/LakuzaVR/status/1564770074480746502
(for context, you use a weapon to slow time down, which is why the bullets are slowing alot when it gets close to me in the vid)
(discord quality is a bit low, so open the vid in browser instead for better quality ๐Ÿ‘€)

Firewall assembly complete. ๐Ÿค–
Reporting for duty.๐Ÿ˜ˆ
#VRChat #indiegame #VR

โ–ถ Play video
tidal orchid
candid quiver
#

Ambient music player, load as many tracks as you want

gaunt night
candid quiver
coral sun
#

certainly a good sense of color. Is it all Unity UI panels or is it also shader stuff?

candid quiver
#

I was going to put my UI elements on github

coral sun
#

Thats pretty impressive

candid quiver
#

thank you :)_

wispy patio
#

damn it looks very clean

bitter atlas
#

I wonder why there's very little custom fonts being used in worlds

#

Love clean looks like this

dawn oxide
#

Know any good places for fonts?

bitter atlas
#

google fonts is a goto

candid quiver
#

look how overly complicated i made this

knotty bison
#

Dunno, just happy with how much I've grown over the past year, able to make a king of the hill game mode for my world. Particle systems and manipulating them, coding a location system to check for game areas (brings me back to my SC mapping days.), team logic, syncing everyhing, aaaa. x3

candid quiver
dawn oxide
lone gust
heady cradle
candid quiver
#

<3

knotty bison
#

As the desc in the tweet says. I just love how eager I am to polish this game, with solid UI and all that.

#

x3

chilly stratus
#

AvatarImageReader V3 has just been released! UdonSharp >1.0 ONLY and requires VRChat Creator Companion version of VRCSDK3!
Now support UTF-8 and read-only mode, Inspector has been improved and decoding speed has been increased majorly!
https://github.com/Miner28/AvatarImageReader/releases/tag/v3.0
Massive thanks goes to @chrome cedar and @muted island!

GitHub

Requires UdonSharp >1.0 and VRChat Creator Companion version of VRCSDK3
UTF8 support
Added support for encoding and reading UTF8, which in most cases will have lower byte usage than UTF16.
Choos...

violet karma
#

Yo, here's an updated tutorial on how to handle syncing simple toggles inside of VRChat using Udon.
https://youtu.be/K3kAGQvrH9A

Synced toggles are back! Now we've got them set up using a Synced Bool, which is a way more efficient way then the Send Custom Network Event we had previously, as well as making full use of Ownership transfer and Manual sync!
All assets are available on my Patreon if you'd like to have access to anything I made during or before the video.

Full ...

โ–ถ Play video
smoky bay
violet karma
# smoky bay You used 'event, onDeserialization' in this video, but I honestly find using 'ev...

One of the main things I try to do is keep the setup as similar as possible between Graph and U#. I graph the OnVariableChanged is pretty basic and easy to understand. But in U# the feature is much less obvious and takes quite a bit explaining, though the end result is about the same speed, it's much less intuitive and more difficult to explain. I actually went back and forth on which I'd use for this, and I might do a short video in the future where I show using OnVariableChanged as well.

smoky bay
dawn sky
bitter atlas
#

That's amazing

coral sun
dawn sky
vale fox
#

Youve just had to rewrite that stuff?

#

F

coral sun
stuck juniper
ocean saffron
tidal orchid
#

Nixie Tube Displays for VRChat powered by UdonSharp~! I just released my latest asset. It includes a prefab Nixie Tube Clock asset that you can drag and drop, but you can also create your own Nixie Tube displays to show anything you want. Check it out on my booth - there's also a world to see it in-person and a video on my Twitter!
https://tanukiart.booth.pm/items/4182615

https://twitter.com/Tanuki_Art/status/1572118390449348608

Functional Nixie Tubes for VRChat! The old-timey retro (and now very much Steampunk) vacuum tube displays are now at your virtual fingertips. Powered by UdonSharp, you can display any numbers you can imagine. Are you an U# creator? Drag and drop the Nixie Tube prefab into your world and tell it what

NixieUdon - Nixie Tube Displays for VRChat. Now available on booth~!

https://t.co/MTrizVxVN6

#vrchat #madewithudon

โ–ถ Play video
smoky bay
# stuck juniper found this and used it on another section of my world, ill have the kana cannon ...

Glad you found this useful ^^
That being said, since releasing the video I found out that, due to a bug with object pools, the summoning script can cause the vrchat client to crash. There is a canny for it, so check it out for more details (https://feedback.vrchat.com/vrchat-udon-closed-alpha-bugs/p/vrcobjectpooltrytospawn-causes-client-crash-in-certain-uses)

As for how to get around it; as it's to do with becoming the owner of an empty object pool, you can simply replace the 'networking, set owner' node with a networked event. This will unfortunately make the spawning of the object a little laggy, and you won't be the owner of the spawned object:

#

Or alternatively, you could check the pool yourself to see if there are any objects that are inactive that can be spawned. A word of caution though, is that inactive objects != objects available to spawn. If you have a way of deactivating an object without returning it to the pool in your scene, this method won't work. If however you don't, then this method should work fine, and you would script it like so:

#

With all that said, if there is no way for the object pool to run out, then these checks won't be needed ^^

stuck juniper
#

i do have a question for you on how to add an animation to the same trigger script. i have a screenshot in the questions section if your willing to assist.

smoky bay
#

I'll reply there then ^^

rotund pilot
#

See

violet karma
scenic schooner
hazy trout
coral sun
hazy trout
#

I have not even considered writing a shader for it. There is only physics calculation for it at the moment

#

just think of it as a spring for that calculation

#

The cleanest most relevant diagram I can find is for motorcycle dynamics where they have to calculate the cambered tire when the rider turns a corner. My application is to have the tire pressure affect the ride quality and handling

glossy ice
#

i want to make a personalized roulette , someone have one?

rotund maple
#

I love that you're looking to technical papers for inspiration and guidance.

vale fox
#

Technical papers are the source we can steal learn from

#

They did all the math for us, may as well use it!

hazy trout
#

Kinda have to if I don't want to spend years or months coming up with my own formulas just to be able to have measurements up to ISO/SAE standards

hazy trout
#

also been working on different drivetrain setups such as all wheel drive, and implementing ways to fine tune more of the sounds I put onto the cars

vale fox
#

A true engineer

coral sun
#

you are putting more effort into a vrchat asset than some indie teams put into their entire racing / driving simulator games. respect

vale fox
#

Engineers built different

rich mountain
#

Can someone who knows blender really well, help me with something later today?

#

I need to make this into a 3d mesh

#

The planet

timber lily
rich mountain
#

can anyone who knows how to use blender well help me with something

#

im trying to get a specific curve but cant get it right

#

trying to get this curve on the 2 beams

hazy trout
#

More than 12 hz would be nice which is what I estimated for OSC when it comes out for worlds

#

Ideally more than 30hz

#

Also pay me

timber lily
#

I was working on steering wheel app that would convert the analog inputs to midi so it could be used in vrchat because i wanted to make something like you're doing but yours seems way better so i might give you the app instead for you to implement it

hazy trout
#

I would see a generic udon class being the outcome for this, and anyone who wishes to use it will have to write an adapter for their udon car system

hazy trout
hard axle
tall terrace
#

playerPool.GetObjectByOwner(Networking.LocalPlayer).gameObject.transform.Find("PhoenixPlayerManager").GetComponent<PH_PlayerManager>().SetProgramVariable("teamID", id);

#

please show me your udon gore, im sure theres worse

hard axle
tall terrace
#

I keep references where I can, but some things need to lookup your local player's assigned controller at some point. I could get rid of Find by just having my controller script on the same object ig. If we had static variable support I could make a dummy singleton object that at the very start cached your local controller and always go through that to grab the reference.

#

For everything thats getting your local controller I'm sure I could store it at the very top in like the gamemode manager and always pass it down, or instead of making a static singleton literally manually reference an object that stored a local reference every time I make a new random piece of game logic. but usually using this functionality to find someone else's assigned controller.

#

Mostly its just because I try to avoid having rpcs and operating on all the information each player has locally to deterministically come to the same result, but a lot of that requires up to date knowledge of which controller is assigned to who. Incase people leave or rejoin and controllers get swapped around from the pool.

hard axle
#

I just keep a reference when I assign the character binding to the player, so I can reference and checking this player's character data just by accessing to this localCharacter variable. And unbind the character from the player if they leave. But I'm not sure how you structured your player pool network system. This may not fit in your case.

tall terrace
#

yeah I could cache the local player, but if a trigger needs to lookup the assigned player controller based on just the vrchat player that walked into it still need to lookup which one that player owns right? Unless theres a better way to handle individual player data.

tall terrace
#

oh god ๐Ÿ˜†

bitter atlas
arctic swift
#

What world is that

bitter atlas
#

me farting

arctic swift
#

Ah

keen tiger
#

K

scenic schooner
# bitter atlas me farting

Have you seeen that horror game. in silence- where the predator is blind but can hear the other players?

havent seen it done in vrc yet, but that thing you got there would be so cool if you or someone wanted to make a vrc game like that

bitter atlas
#

I'm not good enough at horror or level design to fully get something like that done though

#

Last time I tried making a horror map it got pretty popular and then people ended up threatening me over it being a tech demo more than anything (which it was). Not going to make that mistake twice

vale fox
#

People getting angry at maps confuses me so much

pallid smelt
#

It's the same kinds of people that get angry in youtube comments over someone not being 100% historically correct about something irrelevant (bonus, those comments are usually wrong)

#

armchair devs, armchair engineers, etc

#

wheeeee

vale fox
#

Some people have way too much free time ig

pallid smelt
# bitter atlas oh no no no

Am curious though. Screen-space on the depth buffer, or world-space as a material shader?
And if material shader, I'm curious how you're transmitting across surfaces. (I'm still new-ish to shaders so there are probably features I don't know, though I know enough to make a very basic raymarcher so consider that my level of knowledge)

#

... oh wait.
is it a sphere expanding out with distance to surface stuff (whether virtual via shader math or an actual sphere idk) and using that distance to actually shade the pixel?
No I'm seeing reflections, that doesn't make sense... h m

I'm curious how you did it.

bitter atlas
pallid smelt
#

(I only know a small handful of techniques :P)

bitter atlas
#

just 2 little arrays, one float for time and one vector for positions. always overwrites oldest one if amount exceeds

#

it's super lazy but hey it works

pallid smelt
#

Ay, if it works, it works~

gaunt night
#

Wrong channel?

hasty rain
#

lol whoops

nimble shuttle
#

You can download CyanTrigger v0.4.1 now for free on Booth! #CyanTrigger #VRChat
Check the thread for some of the new features and changes
https://t.co/k3AjKRYWaM

Changelog: https://github.com/CyanLaser/CyanTrigger/wiki/Changelog When updating from v0.3 to v0.4, Delete the CyanTrigger folder in your assets before importing! This includes: - Assets/CyanTrigger - Assets/CyanTriggerExamples CyanTrigger is a new way to write logic for SDK3 worlds in VRChat, with

weary kelp
#

Recording from a recent playtest I did of my world, showing off one of the larger fights in the world. (For some context, you can slow time down which is useful for dodging the bullets)

hollow oracle
#

I made a fully functioning, 1-5 player blackjack table with bets. It is playable now at The Fat Cat

violet karma
#

Not Udon specific, but here's a breakdown on creating Quest content for VRChat. I've done a write-up on VRCLibrary for users who prefer written tutorials, so use whichever you like!

This is also the first video with official subtitles, since I'm writing up a script now, it makes adding subtitles much faster and basically painless.

https://youtu.be/_xW5BHuhGc4
https://vrclibrary.com/wiki/books/vowgans-tutorials/chapter/intro-to-making-quest-content

Sounds like time to break down some basics for making Quest content for VRChat! Plenty of specifics to go through, but it's not nearly as difficult as it has been in the past. With Spookality happening this month, lets get going and make some Quest worlds!

Full Tutorial Playlist:
https://youtube.com/playlist?list=PLwEtUGCdQX7HMkFCVxiNvO4DS2CmHW...

โ–ถ Play video

Sounds like time to break down some basics for making Quest content for VRChat! Plenty of specifics...

weary kelp
#

Ported JSR Festival to VRC Quest standalone, "JSR Festival Demo". Managed to get the entire city in to the world (although had to cut out some of the challenges though):
https://twitter.com/LakuzaVR/status/1580607173021028352?s=20&t=5XhwsccK-g9gBa2JAbBNrA

JSR Festival (JSRF VR) launched 1 year ago on 15th! To celebrate, I'm announcing:

  1. "JSR Festival Demo" is out now on #VRChat for Quest! See trailer below!
  2. Last 8 avatars have been added (PC & Quest)
  3. QoL "modifier" updates for the PC version (see reply)
    #JSRFestival #VR
โ–ถ Play video
stable phoenix
#

that's very cool you got the city to fit the Quest

potent hatch
stuck oak
#

I released new PvP game of my series! happy halloween~
https://vrchat.com/home/launch?worldId=wrld_c063925a-f1b6-4901-ad91-26b3bdfd1270

Halloween themed Combat ๏ผ† Shooting PvP Gameวƒ ๅฐ„ๆ’ƒใ‚„ ่ฟ‘ๆŽฅๆˆฆ้—˜ใง ๆˆฆใ† ใ‚ฒใƒผใƒ ใฎ ใƒใƒญใ‚ฆใ‚ฃใƒณ ใ‚จใƒ‡ใ‚ฃใ‚ทใƒงใƒณวƒ ๏ผƒVRC_TBFSV ๏ฝœ Quest may take longer to loadโ€ค ใ‚ฏใ‚จใ‚นใƒˆ็‰ˆ ใฏ ใƒญใƒผใƒ‰ใŒ้•ทใ„ใงใ™ ๏ฝœ Rule details are in-game guideโ€ค ใƒซใƒผใƒซใฎ่ฉณ็ดฐใฏใ‚ฒใƒผใƒ ๅ†…ใ‚ฌใ‚คใƒ‰ใซใ‚ใ‚Šใพใ™ ๏ฝœ Tonboโ€ฆ

hazy trout
coral sun
#

Even got that Doppler effect nice

fresh topaz
weary kelp
fresh topaz
#

Brilliant

weary kelp
#

you can play the first 15 minutes of the world so you get some story and some combat against lower tier enemies ๐Ÿ™‚

obsidian peak
weary kelp
tribal egret
#

splatoon-like paint gun prototype using a custom shader, render textures and vrcgraphics.blit

bitter atlas
scenic schooner
frozen oriole
upper briar
sick karma
#

@frozen kelp I'm looking at you if you have any tips ๐Ÿ˜‰

#

Err, About the udon side of hoverboarding.

frozen kelp
#

@sick karma booth has hoverboards there!

#

needs U#

sick karma
#

Nice ty VM! I want to do some sorta winter skiing / jetisland thing and I figure hoverboards are more fun then skis ๐Ÿ™‚

#

We need more sports in VRchat. ๐Ÿ™‚

frozen kelp
#

If you get stuck just give me a holler!

sick karma
#

Thanks my friend! ๐Ÿ™‚ I'm an artist not a programmer, so heres hoping

frozen kelp
#

me too ๐Ÿ˜‰

sick karma
#

Send a friend request as you are locked down like Fort knox. ๐Ÿ™‚

sick karma
#

you do the voodoo cha need ta do ;]

sick karma
#

needs numbers you add me ;]

dawn oxide
#

Has anyone managed any path finding with udon yet

vague coral
wispy patio
#

My first kinda big project, i made a port of a game called 'Timberman'. It's also synced so others can see when someone is playing the game (i didn't had anyone to help me show syncing in this video)

coral sun
#

Very cute!

fresh topaz
#

I love this!

pure delta
#

Holy shot I remember playing that game when I was like 12

bitter atlas
#

the low framerate is my pc, not the world ^^'

#

quest compatible funny paint shenanigans

bitter atlas
stable phoenix
bitter atlas
tribal egret
#

how did you do it btw? I did some weird workaround where it got the contact point from a collision and then used the inverted normal vector to cast a raycast to get uv space coordinates

bitter atlas
#

And just update the camera each time something needs to be added

#

There's some very subtle gaps inbetween UV islands that don't touch but it's not too noticable if you don't pay attention to it

tribal egret
#

oh interesting, would you mind sharing the code?

dawn oxide
wispy patio
raven forge
#

dynamic city!

warped dune
timber lily
#

Now do it in vr

dawn oxide
#

Seeing this makes me believe vrchat is like an advanced roblox lol

gaunt coyote
coral sun
lost jungle
#

Sorry for the @ meant to turn that off my bad

bitter atlas
#

It kind of really is

#

A lot seems to rely on default unity features

hazy trout
analog mulch
# hazy trout

Thatโ€™s really impressive. What do you plan to do with it?

dawn oxide
#

that's nuts. Can't wait to see what you make with it

hazy trout
valid shoal
hazy trout
#

Yeah, there is one blocker. VRChat's interaction system and my own implemented system has the same issue in-game, where even using LateUpdate or PostLateUpdate would still have us observe the interaction flickering in and out while the vehicle is moving.
A possible workaround is to keep the player static and move the world, however, that has performance drawbacks such as not having static batching.

dawn oxide
#

I got to use a system like that like a week ago (stationary vehicle movement logic) and it was very cool, but the performance impact was high as you said.

long mauve
#

could instead move a camera located elsewhere in the world, and display it through the tank's periscopes? o:

hallow pumice
#

That works for having a flat texture, but you don't get any parallax/VR effect with it. Depends on how far you want to take it.

solid elbow
#

since the user would be stuck inside a vehicle, what you could do is just like a periscope and not expose the user to the outside world and it can just be the tank's POV, but not be the actual tank so the user is somewhere else

smoky bay
#

you could also just activate a camera that doesn't have a target render texture on it to temporarily change a player's perspective to that camera. Then would then just need to put a shield around the camera to limit their view, and just that should be enough to sell the effect

hazy trout
#

Hi all, part of a great tank experience is to be able to "turn out" and in. Where the person would open the top hatch to expose their head and survey the area without the confines of the interior. Therefore, I will be implementing a control scheme suitable for this experience that does not require the local player to be in a stationary interior of the vehicle.

#

Periscopes are 100% possible, I will post a video demonstrating a camera that moves independently of the turret that shows the gunner's aiming

hazy trout
#

This setup applies to a modern fighting vehicle.

  1. Camera that moves independently of the turret.
  2. The main gun that tries to match the elevation towards the camera's view, and is restricted by it's rotation speed.
  3. Gunner's view of that camera
  4. Turret base that tries to match the elevation towards the camera's view, and is restricted by it's rotation speed.

For older tanks such as WW2, you would have the camera move with the turret instead.

hazy trout
#

A concept that I made a year ago, I'll get back to this once I do a bunch of car stuff.

reef bough
#

World of Tanks: VRChat edition

coral sun
weary kelp
#

Still working hard on my bullet time agent world, wanted to show off one of the boss battles from the world:
https://fxtwitter.com/LakuzaVR/status/1597289218564317186

Super excited to finally reveal this:
Meet Axol, akira sliding his way into the first boss battle of Bullet Time Agent! ๐Ÿ˜Ž

#VRChat #VR

โ–ถ Play video
valid shoal
#

dang... that cool

bitter atlas
#

uses udon to pass matrices and control camera rendering

#

I'm gonna try to remove the white line's artifacts but it's been fun messing with :3c

muted island
coral sun
#

Damn, nice

novel oar
hallow pumice
novel oar
#

The only challenges was really just trying to figure out the distance apart the cameras should be. That depends on where the viewer would normally be sitting... when you're closer to the screen, the 3D effect is flattened. Further away, and it's exaggerated. So it's just a case of deciding where the moajority of people will be viewing from, and then tweaking the space between the cameras to give a decent 3D effect.

bitter atlas
#

work in progress

tropic wyvern
#

Dats a good duck

slim peak
bitter atlas
#

having the center of mass be below those points make sure the ducky is always up straight

slim peak
#

oh cool, sounds quite performant

slim peak
bitter atlas
#

also a lot of drag so it doesn't bob too much

bitter atlas
#

only the highest quality of rubber duck AI

vale fox
#

I really enjoy those ducks, thank you very much for sharing

bitter atlas
#

They are very good ducks

timber lily
#

omggg nooooo, help him

slow dove
#

ahaha nice

devout marlin
#

Here's a menu I'm brewing up

#

So far it's not finished, but you can change settings about the world for now

#

And it correctly determines whos the server master, what time you joined, what local time it is for u, how many players are online, etc

#

Here's what the menu for the world settings looks like

#

So far only the slider and toggles work, but Im going to make the buttons work soon to change the values of everything

#

Here's what it looks like in-game

valid shoal
#

lookin good!

long mauve
#

awesome!

scenic schooner
# devout marlin

that looks great, love that you're working on a tablet mode for it ๐Ÿ™‚

devout marlin
devout marlin
devout marlin
bright locust
dawn oxide
frigid bronze
dawn oxide
#

there are 3 UdonSynced variables (Vector3, Quaternion, isKinematic) and a tickRate so it's only sending 33 time per second and only if the object has moved.

boreal nest
#

that looks really good! Do you have any way to sync it up with the player while they are moving? It looks like you might have lower latency than the player so it would drift ahead of them

#

also, vrchat network sync only comes around 10 times per second, so even if you requestserialization more often it won't do any faster than 10

dawn oxide
boreal nest
#

there's a few ways to handle it. VRC objectsync handles it by having a "simtime" that all synced objects have which represents how far back in time you are seeing that object, and when holding a pickup it will use the player's simtime.

#

I have some udon synced objects and I handle the problem by syncing an integer which indicates which bone it's attached to, then the position and rotation are just in local space relative to that bone. though it significantly increases the complexity of the interpolation math because you need to smoothly transfer between different spaces

#

another solution I've heard somebody do is have a synced object for each player, and then while holding something, it just subtracts the difference between the player and their object

dawn oxide
#

but that wouldn't work for other moving objects that are independent

frigid bronze
boreal nest
dawn oxide
#
t.SetPositionAndRotation(Vector3.Lerp(t.position, position, Time.deltaTime * lerpRate), Quaternion.Lerp(t.rotation, rotation, Time.deltaTime * lerpRate));
frigid bronze
#

niiice im taking some notes hahaha

dawn oxide
#

but with many objects, it becomes very laggy, much more than vrcobjectsync ;/

boreal nest
#

yeah, manual sync is not very consistent in when it arrives. You'll receive bunches of data all at once and then nothing for a while

#

that's one of the advantages of continuous sync - it spreads those out over time. That's why even without interpolation, it has added latency

#

To solve that in manual sync, I had to build a circular buffer of positions/rotations and then "replay" the data as it arrives. The most difficult secret sauce part of that is figuring out how far back in time you should replay the data. If you go too far, it'll have too much latency. If you go too close, it'll freeze when it runs out of buffer

dawn oxide
boreal nest
#

sure! You could send an array of positions/rotations instead

#

you could sample positions at whatever high rate you want and then send it at the lower udonsync rate

dawn oxide
#

hmm, I am currently working on a pinball, and I would like the ball to do exactly the same for each clients. I am thinking if I can just sync the initial velocity of the ball and hope that the physic on each client will do the same thing with just 1 information ?

#

VRCobjectsync is really too slow for a pinball

boreal nest
#

ah, yeah, extrapolation is another approach. You can definitely do that, but the problem is if it changes in-flight, you need to smoothly correct it back to the source

#

you can do extrapolation either with physics or with raw math

#

the planes in test pilots use extrapolation because formation flying wing to wing is very important

dawn oxide
#

they are actually pretty close

#

considering the speed

boreal nest
#

if you're doing pinball, then I think fidelity matters more than latency. If that's the case, sending a packet of positions that were sampled from a higher update rate is the way to go

dawn oxide
soft garden
#

hey guys, i brought my pet rock to this showoff. what do you think๐Ÿชจ

coral sun
timber lily
#

nice code

#

no thoughts

#

only rock

soft garden
#

Rocky

magic birch
#

that would be awesome

devout marlin
magic birch
devout marlin
weary kelp
#

Completed most of the work for the 1st boss battle in my world project ๐Ÿ™Œ Just some polishing, sound adjustments and story elements left for this section of the world ๐Ÿ˜ Recorded some gameplay of it:
https://fxtwitter.com/LakuzaVR/status/1602356434494263298

Finished most of the work on the 1st boss battle for bullet time agent, multiple phases introducing upgraded/ new attacks.๐ŸŽ‰

Interesting design process for the battle as the player can't slow time permanently and have to learn/choose which attacks to use bullet time on.
#VRChat

โ–ถ Play video
mortal wind
#

Hot

dawn oxide
hasty oar
#

So that OpenAI ChatGPT knows about vrchat, it also knows about udon and can also code in udon. So have fun

#

BUT beware it can also be very confidently wrong like this example.

#

So try it out and test the code.

coral sun
#

it would just rotate to whatever your time is currently

coral sun
# hasty oar

this assumes your skybox has some sort of mesh, which generally most people do not do this

hasty oar
#

@coral sun The first two code should work its the last one that should not as you can not scale the player like that but the AI was confident it would work because it assumed it would it can be very confident wrong. Btw I showed this to a friend and he said that the skybox rotate code is nearly identical to one he already has. This chatGPT does not have that code stored in its data base it used what it knew of vrchat udon to make it from the request I typed thats whats so spiecal about this. It can make you code it does not know by figuring it out.

tulip aurora
jovial epoch
#

@coral sun TY for that reminder .. Can be very useful.

boreal nest
dawn oxide
#

similar system too!

dawn oxide
#

I've been trying to find an inventory solution for a while. It's cool that they're a thing now. I'd made a similar system to hold one object and was struggling with getting the sync right. Glad i found something better lol. All we need now is item stacking and we'll have udoncraft!

dawn oxide
#

That's neat!

devout marlin
#

A little update of what I'm working on with my menu

#

Finally implemented tablet mode

vague coral
#

That looks very cool!

bitter atlas
wicked rivet
bitter atlas
#

unlit :)

#

It's just a subdivided plane that has its vertexes displaced and centered on the camera's X and Z, has normal displacement with more iterations in the fragment shader (using DDX and DDY to make it run very fast on quest), and samples the skybox (as in using the same function the skybox uses)

wicked rivet
#

Again with the vertex displacement thing. I can't find a VRChat compatible shader anywhere that does waves like that, I tried making one myself but I didn't really know what I was doing and it came out super jank lol

bitter atlas
#

The actual vertex displacement is just so it gives it more depth for stereo purposes, it's only general shape not the smaller ridges

#

like, the vertex only has like 3-4 iterations compared to the fragment's 10-12 or so

#

this is also to get away with a very low poly plane ^^'

dawn oxide
#

i know poiyomi supports vertex displacement with a heightmap that supports scrolling @wicked rivet

#

i think s-ilent also has shaders for water and general purpose ones with scrolling vertex displacement

wicked rivet
dawn oxide
dawn oxide
#

noice

robust parrot
#

I got "slightly" inspired by unreal tournament so I started working on my first pvp game world. https://vxtwitter.com/ville672/status/1604818024271417344

Very early test of my unreal tournament inspired instagib pvp game for #VRChat. It has optional bots so mayhem is guaranteed even if you have nobody to play with. #MadeWithVRChat

โ–ถ Play video
tulip aurora
#

I love that quake III are...*ahem* unreal tournament of course! Looking lovely

covert flame
bitter atlas
#

development has been cancelled, for some reason generating 1d perlin noise in udon is super intensive (which I used for the 'bobbing' physics)

#

but thats the base ducky model - same one used in placid plastic duck simulator too

covert flame
gaunt night
ancient briar
bitter atlas
coral sun
gaunt night
ancient briar
bitter atlas
#

Because I remember that specifically being very slow on mobile devices based on the engine I used to work in)

#

Thats all

coral sun
#

Also you can do more complex rotations

ancient briar
#

Im aware of rotations being an issue

coral sun
#

So the math becomes more triky

#

Its possible, I know of someone who did it

ancient briar
#

But more concerned about rendertextures being an issue

coral sun
#

Getting ipd is also a pain

#

Render textures work in vr? I have used them

#

Well, it depends what you mean

bitter atlas
#

I recommend looking at the mirror.shader shader if you need to basically display a texture seperately on each eye

coral sun
#

They work, but not necessarily how you'd expect in certain use cases

ancient briar
#

sorry multitasking at work. 1 sec

ancient briar
ancient briar
coral sun
#

From what I heard from my discussions you'd have to get the camera scale in the world

#

Not sure if there better ways cause thats super jank lol

#

And by IPD i mean the distance between the eyes

#

Thats not constant

#

Its been a while lol, its fuzzy in my head now

ancient briar
#

Yeah that might be a rabbit hole I have to go down yet. Im guessing issues with perspective per eye would have to be something sorted at the shader level, but Im still very much a novice in that sort of thing

coral sun
#

I haven't worked on it myself, but I know some people who have. Pattern is basically "making the desktop portal is easy, but the vr one becomes a pita"

#

Pretty much they all gave up and dissected a paid unitypackage from booth or one person did make something but took certain shortcuts leaving it super unoptimized

#

Brush up on 3d vector math is my biggest general hint I can give lol

ancient briar
#

Ive already had to figure out some angle stuff to determine the near clipping plane of the follower camera. Quartinions are evil

#

else you would see what is between the other portal and the camera... say a wall

coral sun
#

If you are doing math with simple angles, you can probably get away with it in desktop mode, but doing this in VR will be next to impossible

ancient briar
#

Im using vector maths

coral sun
#

Well thats good

bitter atlas
#

Well, the main issue is finding out the eye distance or exact eye position to place the camera, and repeating/seperating it for each eye. Everything else can more or less be converted directly

#

As far as I recall when I tried this myself at least

ancient briar
#

Im guessing the placement of the camera at the head of the player puts it somewhere between the eyes... or the center of the head bone?

coral sun
#

Head bone varies per model

#

Use the tracked

ancient briar
#

sorry thats the one Im using

bitter atlas
#

There's no way to track eye position at all using udon if I recall correctly, which is what makes this so hard

#

There's no single number either as eye distances and positions are variable per avatar

#

Only inside of shader code, where you can enable stereo rendering and just use the world space camera position

ancient briar
#

thats weird... I would expect the shader to know where its drawing to

bitter atlas
#

Yeah it's just not exposed to udon I believe

#

I could very much be wrong about this but this is where I personally hit a brick wall

ancient briar
#

Thank you very much for the info. I feel like Ive fallen into a trap. At the very least you've saved me time hitting my head against a wall knowing that there is probably not a solution

slow dove
bitter atlas
slow dove
#

It totally is

#

I've used it for my texture painting world to have brush occlusion

bitter atlas
#

I guess it's just not for the main player's camera then ?

#

Weird

slow dove
#

You talking about the _CameraDepthTexture?

bitter atlas
#

But what do you mean with using depth cameras for collision kjsdf

#

And yeah

slow dove
#

Turning the pool into a cell-based system where each duck is simulated as a particle, and using 2 RTs set to be depth to determine if something's in the way of the duck or not

#

Similarly how to Cnlohr's or D4rk's ballpits work

bitter atlas
#

That would be neat if that worked with the world's concept

#

And also enjoy syncing that skdfj

#

Appreciate the ideas though ๐Ÿ‘

slow dove
#

Oh yeah, big pain xxxx

coral sun
#

It is possible to get the eye position

#

Its just a pita

#

From what I understand its not even a vrc issue, but rather a unity/steamvr thing

#

If I had more details I'd put in a canny myself to have a nice method to get the info directly lol

hallow pumice
#

Note that eye position will be slightly off from headset position as in VR you have two eyes that are slightly offset left and right.

#

And the offset will vary depending on avatar size.

#

IIRC if you must have eye position there's some hacky ways you can get it. I can point you at them but I don't understand them myself.

little stone
#
coral sun
hallow pumice
coral sun
#

Possible

dawn oxide
dawn oxide
#

man you're popping off lol

muted island
proven totem
muted island
muted island
ocean saffron
ocean saffron
coral sun
ocean saffron
dawn oxide
old mountain
woven matrix
#

I made a VR FPS game world based on my favorite classic Call of Duty games (CoD 2 , MW2, & WAW)! It has a ton of first time mechanics made using Udon that we haven't seen in other VR FPS titles even sold on steam! https://twitter.com/Dinky_Studio/status/1609656064928276480

New Year, New VR Game!

Gun Em Down VR - Releasing Jan 8

A free 16 player WW2 VR FPS with 30 levels each unlocking new weapons, perks & killstreaks!

Available on PCVR, Quest 2 & PC

This took me a year to finish so please like, re-tweet and leave a comment to support!
#VRChat

โ–ถ Play video
opaque pewter
novel oar
ocean saffron
# coral sun Props for the node graph out of date

i was going to adda screen freeze as well like the black mesa transport system avatar, but friend said its not a good idea cause motion sickness, I did however fix the position of the "node graph"

coral sun
#

I mean you even added the old water splashing bug

ocean saffron
#

cause one of my friends was like "ooUGH NoDe GrAPH is Not In ThE rIghtSSpot"

ocean saffron
#

so i added it

#

i also added cars

coral sun
#

its technically a bug in source

ocean saffron
#

ah fair enough

#

i also got the lightmaps looking proper now

#

had to do some linear to gamma conversion

#

and i baked all the static props

coral sun
#

are things like welding and ropes network synced?

ocean saffron
#

...

#

i never added those

coral sun
#

I mean I would impressed if you found out how

#

ah

ocean saffron
#

nor will i

#

idk how

#

also the world struggles as it is

#

with only the prop system

#

i have a weird issue

coral sun
#

tbh. stuff like that would be a pain until they finally support syncing methods with inputs over the udon network

ocean saffron
#

i cant show u rn cause im banned

#

but past testing showed the following

#

so i join in vr and im getting like 60fps for like the first 5 mins

#

i do ABsollutley nothing and then they start climbing down

#

eventually i am at 30fps

#

then its starts

coral sun
#

in your map?

ocean saffron
#

30fps for 5 seconds, then 10fps for a split second

#

over and over again

#

yes in my vrchat world

#

i have no idea what is causing it

coral sun
#

I would check logs to see whats going on

ocean saffron
#

its never happned in the editor

#

the logs show nothing

#

ive checked

#

ive used the profiler, ive used the frame debugger

#

but nothing shows anything bad

coral sun
#

well, if its your map specifically that does it, then something is responsible there. Most likely some script. Does ram / vram usage increase till it hits some point?

ocean saffron
#

i never checked since i cant use task manager in vr

#

cause fucking elevation

#

but i used the timing info

#

and there were spikes

#

when i got the werid lagspike pattern

#

i have 7 udon cars always active, if they are just sitting there they shouldent lag

#

and it would lag as soon as you join so idk how it could be the cars

#

if it happens like 5 mins in

coral sun
#

I imagine some script continuously allocating something

ocean saffron
#

could you vc and i can show you the editor, maybe you can spot something i cant

coral sun
#

cant rn, but honestly I would remove segments and see what causes the issue that way

ocean saffron
#

i cant really test tho since im banned, and it doesnt happen in the editor via clientsim for some reason

#

it only happens in game

#

idk if its only vr cause i rarely use desktop anymore

coral sun
#

some networking calls work differently in client sim vs in game, but its only a guess

ocean saffron
#

i tried to debug this in the past via unityexplorer

#

but look where that got me

#

XD

coral sun
#

F

ocean saffron
#

should i enable deep profiling in the profiler

#

it says it will reload all script but i think it will show me what is happening

ocean saffron
civic narwhal
#

I like how use start full screen pops up when you type fuck uv

#

Been considering downgrading to 10 for the start screen ๐Ÿฅฒ

ocean saffron
#

lol

hot dove
#

i built a game boy emulator in udonsharp, but WOW it is slow

hot dove
#

are there any basic tips on getting Udon's VM to run faster?

boreal nest
# hot dove are there any basic tips on getting Udon's VM to run faster?

yes, the main thing is try to use functions that move the work outside of udon. It very much depends on the work you're trying to do, but even if it's a roundabout method that needs multiple different functions to go in one direction and then come back, it can be more efficient than just doing raw for loops or while loops.

dawn oxide
#

my code is a mess all it does is open and close a book and sets varibles

hot dove
#

it's all mostly math, moving bytes around and such

dawn oxide
hot dove
dawn oxide
#

damn

boreal nest
#

here's an example: outside udon, it's pretty quick to just do something like this, just raw loops that get it done asap without any allocating private static void SkipToCharacter(string source, ref int index, char character) { while (index < source.Length) { if (source[index] != character) index++; else return; } }

but in udon, it's faster to make use of built-in functions. In this example, these functions allocate new strings which can be relatively expensive, but because it avoids loops inside udon, it ends up being faster. private static void SkipToCharacter(string source, ref int index, char character) { if (index >= source.Length) return; if (source[index] == character) return; int originalLength = source.Length; source = source.Remove(0, index); int newIndex = source.IndexOf(character); index = newIndex + originalLength - source.Length; }

hot dove
#

Huh, okay, that makes a lot of sense

#

I'll see what I can apply to my code - thanks!

dawn oxide
dawn oxide
#

god DAMN udon is soemthing

#

this is a script i wrote for a book

ocean saffron
#

i made a script that fixes the audiolistener in clientsim, its a pretty neiche problem but if u want it just ping me. the bot does not like when i send scripts

#

also i re made the ramp and added visuals to the suspension, sorta. only the wheels follow since the rigging is a nightmare

woven matrix
elder elbow
bitter atlas
bitter atlas
#

I will probably be disabling collisions because it is causing quite a few issues

#

That said there's gonna be different materials/colors and shapes ^^' gonna be fun building ||houses||

elder elbow
bitter atlas
#

adding colors and shapes

#

feat. gilbert the bat

#

(I spent a whole 10 seconds on him)

ripe bear
muted island
ocean saffron
azure coral
#

your steering flaps animations are inverted

ocean saffron
#

damn i was worried about that, didint have time to make sure it was correct way

spice bronze
bitter atlas
#

There is a big issue though ; It can't sync already created things on late joiners

#

We also did some stress tests yesterday, 3 people spamming spheres for about 10 minutes, only dropped to like 40 fps on quest ^^'

spice bronze
#

And oh my-

ocean saffron
#

Not sure why my tweets donโ€™t embed like everyone elseโ€™s

coral sun
#

actually it seemed like your tweet was labeled as sensitive content

#

which may also cause this

#

vx twitter also works

timber lily
#

wth is fx twitter

robust parrot
#

My world is finally available for playtesting ๐Ÿ‘€ It required 100 times more udon and effort than I thought.
https://vxtwitter.com/ville672/status/1614026454441902080

Instagib Tournament is finally ready for playtesting! All feedback is appreciated. Here's a silly little update video. World link in the comments. #VRChat #MadeWithUdon

โ–ถ Play video
muted island
coral sun
bitter atlas
#

direct twitter videos will stop playing when you fullscreen them or won't play at all at times

#

(when sent on discord)

timid belfry
#

Made a mixer in u#. Has a crossfader to allow DJs to smoothly transition between two YouTube videos (or any other audio sources)โ€š plus other effects like high/low pass, reverb, echoโ€ค Also monitors to preview the sound before you crossfade. Mostly useful for DJs that like to use YouTube videos instead of Twitch streamsโ€ค https://nichevo.booth.pm/items/4494218

glad barn
#

Made a script to teleport between spaces seamlessly, its helpful for some cases like elevators that you dont want to actually move but transport the players to and from without them noticing. available on the booth page as well if anyone wanted it
https://xxlilradxx.booth.pm/items/4487153
https://www.youtube.com/watch?v=b8wz92moUD0

Udon script for vrchat SDK3 to allow for clean and seamless player teleporting between positions, inlcuding trigger and button teleports. https://www.youtube.com/watch?v=b8wz92moUD0 PREREQUISITE's: - VRC World SDK 3.0 (does not support VRCCC yet) https://vrchat.com/download/sdk3-worlds - UdonSharp

meager igloo
#

Also a good idea ^

glad barn
simple berry
glad barn
#

i think that movement is actually caused from the conserved momentum but not your rotation

#

which is why it seems weird

simple berry
#

Interesting. I'll see about picking it up. After seeing this, I want to see if I could recreate some of the mechanics from one of my favorite games, Antichamber

glad barn
hazy trout
#

Updated my sound controller to conform to the new forced induction simulation.
The sound of forced induction has two major components.

  1. The rush of air from the forced induction system (this may not be heard if you are far away from the components)
  2. The system's turbine, usually high pitched and can be heard over longer distances
    Optionally, there is a way to bleed excess pressure from the system and this can be heard after decreasing the throttle
lilac obsidian
timid belfry
# lilac obsidian Wow, that's awesome. I would love to know how you did this. I"m trying to figure...

Thanks! Several of the Unity audio components are exposed to Udon. I get the player's hand position on x, make the slider follow the hand within a set range, and then remap that range to whatever the audio component uses (so between 0 and 1 for volume). For your github playlist, maybe you will be able to use the new feature in the latest developer update, getting string variables from an online source ๐Ÿค” though I only skimmed over it

copper quest
#

hi

green vine
#

I've been working on this versatile game world kit.
It has a special editor and anyone can make their own combat game world without scripting Udon.
It would be coming up in a few month.
https://twitter.com/Tom_t0m_tommy/status/1617133956717228033

ใ‚ฒใƒผใƒ ใƒฏใƒผใƒซใƒ‰ใ‚ญใƒƒใƒˆใ€ใƒขใƒผใƒ‰่จญๅฎš้–ข้€ฃใฎใ‚ณใƒผใƒ‰ใŒๅคงไฝ“ใงใใพใ—ใŸ๐ŸฆŠ
็”จ้€”ใซๅฟœใ˜ใฆ6็จฎ้กžใฎใ‚ฒใƒผใƒ ใƒขใƒผใƒ‰ใ‚’้ธๆŠžใงใใพใ™
ใ“ใ“ใ‹ใ‚‰็ดฐใ‹ใ„ๅ‹•ไฝœ็ขบ่ชใ ใ

#VRChat
#VRC_CombatGimmick

icy sluice
glad barn
# icy sluice this might be a dumb question but how does this differ from just calling telepor...

so when you teleport a player to a transform its setting the player position and rotation to that transform, so for the cases where you don't want to make it obvious that your teleporting a player, for example between two identical elevators in different rooms you will notice straight away that you've been teleported as you most likely are not standing in the exact position and orientation as the teleport position. with this script it calculates the offset from that position and applies it, so the player will teleport to the exact position and rotation of where they were in the previous elevator in the new one, all assuming that the positions and scripts were setup correctly to start with. hope this helps

gaunt night
glad barn
#

is this what you mean, the player moving throught the red room teleporting to the blue room which is at a different orientation in world space to the red room?

the blue arrow is the z(forward) direction of that respective room

gaunt night
#

The velocity essentially needs to be "rotated" around the Cross product of the target normals/forwards by the angle between them.

#

This is a classical problem when attempting to make portals, which I ran into as well when I tried it.
And its easy to overlook. It depends on the desired effect you want to have, but generally its better to correct the velocity, instead of leaving it as is.

glad barn
gaunt night
# glad barn

In the clip you show the initial and end orientation are the same, so the problem doesnt show.

glad barn
#

did i just prove your point correct xd

gaunt night
#

Probably

glad barn
#

the blue corridor is 180 degrees rotated of the red

gaunt night
#

If it was meant to turn you around then yes.

glad barn
#

omg now watching it back, your totally right

#

i even setup the 1/2 balls to help notice that

gaunt night
#

As I said: Its easy to overlook ๐Ÿ˜›

glad barn
#

it feels correct and clean

#

you totally dont notice it xd

#

yet if there was a wall in the way you definatly would

gaunt night
#

Intuition is a bad measure for correctness.

glad barn
#

yeah honestly is, sometimes it gets the better of you

slow dove
#

Not anything a little quaternion math cant solve :3

glad barn
#

a hah, actually the setup was wrong for the example xd, but the issue is still there anyways lmao

#

will work on a fix for that shortly

gaunt night
#

Yeah this one should actually be quite simple (A * Quaternion.Inverse(B)) * initialVelocity if Im not mistaken

glad barn
glad barn
lilac obsidian
grim stag
#

I don't know where to post this but I apparently sleep texted in discord and of course it was about unity lol. who else has dreamt/had nightmares in unity before? ๐Ÿ˜น

slim peak
#

Basic Udon but satisfying to see it working well

dawn oxide
#

Phat

teal cypress
slim peak
teal cypress
#

Hahaha was it really that simple!

#

damn, I thought it was super complex and not just scaling

slim peak
#

yeah, used a blend shape but could've easily done it in unity by using the scale

#

Would've got the same effect

tight inlet
#

https://fxtwitter.com/SLKinix/status/1618383213826564096 I guess I cant really put just a clip of udon and all the technical stuff, but I updated this world with a TON of things from the latest update of U# (1.2.1?) and my god, do I love the inheritance of classes being used to the maximum for this world. Cannot wait for Lists and other goodies to upgrade my game :>

Sightstep 2.0 is now LIVE in #VRChat

  • Added 3 new songs to the game ๐ŸŽต
  • Support for FBT, play without a real pad ๐ŸŽฎ
  • Test your Audio Latency in-game ๐Ÿ•’
  • Disable mods for a classic arrow experience โฌ†๏ธ
  • Custom Judgement fonts per player ๐Ÿ”

World Link: https://vrchat.com/home/world/wrld_75da59bd-f413-4420-9b16-cae690b62634

โ–ถ Play video
vital zephyr
#

Working on a quick security module to get acquainted with networking in Udon#. The system uses role-based user access levels (can tp user to location on role set and de/activates objects based on user's access level, ex: enable specific doors for VIP), automatically updates display as users join/leave, contains view filters (per set role), and a robust command structure (tp to/from user, activate fly, remote call with video and audio, etc). System has been optimized for multiple instances/any number of objects can exist in-scene with different forms (stationary control desk to mobile tablet). The standard system object is networked using the current operator as the scene authority, but the object can be broken down to a purely local object (each scene admin can summon their local object and use it to send networked commands). Starting to round off and polish the code, but do you guys thing I missed any possible features?

zenith imp
#

Uuugghhaaaa....

stable phoenix
#

at that point you might want to be writing in udon Sharp?

coral sun
zenith imp
#

But I have no idea how text code translates into stuff code.

zenith imp
spark arch
zenith imp
coral sun
#

its best to start slowly with simple projects. there are quite a few udon sharp tutorials on youtube. Eventually you will start getting the hang of it.

#

Node graph is cool for making small things, but once you reach a certain point it becomes infeasible for large projects

zenith imp
teal cypress
#

Using node graphs is a perfectly acceptable way of coding

#

In some cases, it is actually a lot easier to understand node graphs than lines of code.

#

@zenith imp keep up the hard work! I am looking forward to see how it turns out!

teal cypress
coral sun
#

in udonsharp you can make custom functions and all just like c#. From what I understand, udongraph (the node based method) does not, but I may be wrong here

#

I believe you can create custom events but they aren't "nodes"

#

pretty sure they were on the unofficial roadmap tho

teal cypress
#

Gotcha

#

We will get there ๐Ÿ™Œ

coral sun
#

from what I saw in examples, custom methods could be defined that you can call within the graph elsewhere, but they weren't custom nodes you could copy and paste

zenith imp
# coral sun from what I saw in examples, custom methods could be defined that you can call w...

You can copy and paste entire node graphs. But there is a hard heap limit of 512 variables per graph node.

Gameobject --> get.transform --> get.position --> navmesh Set.destination. will spin up 3 additional variables and allocate storage for them in assembly.

To get around thus you want to get and save all variables you make in the graph.

Also if graph starts lugging it's best to turn off auto compile.

vale fox
#

or not use graph and learn c#

coral sun
#

I mean if graph works for you, go nuts

zenith imp
# vale fox ~~or not use graph and learn c#~~

Text based coding would work for me if I've spent the last 10 years thinking and solving about abstract problems instead of visual thinking. But alas my brain gets all jumbled when looking at a wall of text.

I can follow and trace paths on a node graph.

vale fox
#

I learned coding in like a year, it may be a lot more within your reach than you may think

hardy robin
#

I havent understood udonsharp either. When it comes to it, Udongraphs and cyantrigger are where i excel at.

vale fox
#

To each their own, but the traditional programming medium is the way it is for a reason, and theres a lot of potential to be tapped by being willing to learn a new skill

But! Of course! A good workman can make beautiful things even with crude tools, and i am always impressed by the stuff i see people do in graph

#

I just am scared for the sake of their sanity

hardy robin
#

It can sometimes get tedious when its gets so huge. Honestly, UdonSharp is one of my next goals. Im not sure if its faster or not but I bet when i eventually hop on it, I can learn some new things that i can utilize.

vale fox
#

Learn c# instead of udon#

#

Its literally the same thing but you arent restricted to unity and can just run everytjing from vscode

zenith imp
vale fox
#

Haha its hard to find the learning method that works for you, but i seriously think anyone can learn coding

#

Its about finding the right way for you

zenith imp
vale fox
#

Might be a little off topic atm lets swap channels

bitter atlas
#

I like whatever Gamemaker uses for its language, it has been very approachable for me before I knew anything about programming xd

#

you can use keywords like if a is true or b is true {} and you can use = and == interchangeably and all ; are more or less optional

#

looking back on it it hurts a little but its room for mistakes is probably what made me not quit xd

quartz torrent
bitter lintel
#

Udon2 will do that too right? (convert graph into readable c#)

quartz torrent
#

2 isn't going to be out for a while

coral sun
dawn oxide
#

Health/Stamina and food/water in development for my RP project vrcSunglasses

dawn oxide
#

Hunger and thirst system, working right now on the prefabs for eating and drinking sippspeen

dawn oxide
#

Someone want eat some blocks? ๐Ÿคฃ

bitter atlas
#

this will be food in 2026

dawn oxide
zenith imp
#

My "NPC Identifies the other copies of it'self finds the nearest one and send that one a message to wait a reply" code.

#

The "time out module" it sends a different reply if it does recieve a ping back from the other NPC

#

This is an action script. It can only work in conjunction with the dispatcher script.

#

Dispatcher script: Recives inputs from various sorces. Mostly pays attention to the Brain Script. It takes the update loop and plugs it into the other scrips powering them when needed. So it kinda works like a switchboard operator.

#

My planed sensory script will be plugged into the Dispatcher script as a form of an interprupt variable. If something is important, the dispatcher script will alert the brain script. Brain script will determine if the interuption is worthy of switching action states.

simple berry
#

You should maybe look into making a blackboard architecture for your ai to communicate w/ each other/remember information if you haven't already.

zenith imp
#

Currently my NPC only remember their current decisions, that information gets networked. Then all code is executed locally

#

@simple berry

#

I'm currently building out the animation state sync. And the dynamic ownership transfer at a individual NPC level.

simple berry
#

Noice. I really should mess around with ai in udon. Made some stuff for some hobby unity projects before but handling the networking side of things'll be fun.

zenith imp
#

I want to entire a realm of fidelity that not many programers approach with their project.

low meteor
#

that look actually insanely interesting :o

zenith imp
# low meteor that look actually insanely interesting :o

They actually work right now at a very basic level. They have about 7 behaviors.
Walk
Walkshort
Walk far
Run
Idle
Proximitycheck
Wave (this is two npc syncing up and swapping info. This allows for actions that would require more than 1 npc action. [Like kissing, or getting into a fight])
And BONK! (when the navigation fails)

#

But the foundation is being laid down for an infinite behavior tree

low meteor
#

Wish you the best :D

frank lily
#

But I think getting it into code form would be way easier to maintain in the future

#

It might be worth the effort to learn textual representation

#

especially as udon nodes are basically functions, but instead of putting stuff in parenthesis, or in appropriate method (update, oncollider enter etc) you connect stuff with a spaghetti

#

Initial hurdle might be high, but you'll see how some of your big chunks can be written in one line

dawn oxide
#

I found code form much easier than noodles lurk

tribal egret
#

amazing

vale fox
#

pikapetey we are your friends and we are concerned for you, we want to help

Let go of the noodles

dawn oxide
#

NEEDLE TRIGGER
Blood drawing, able to connect to the arm of the players, need to be inserted in 30* or there will no blood flow, and ability to fill dynamically blood test tube.

If anyone interested in medical rp feel free to dm me

pulsar finch
#

building an rts game

coral sun
#

its udon

dawn oxide
meager trench
#

made a playlist system with very little experience of udon graphs

meager trench
#

an updated version, now you can properly skip songs and stop the playlist if you want

dense steeple
#
dawn oxide
hazy trout
#

since I didn't want to introduce artificial assists for my cars, I made it so that the steering slips out of your hand based on the forces from the steered tires

foggy tinsel
dawn oxide
#

vrcAevSlap Each player have own life parameters, dynamic and all synced, monitors reacting for the change like irl, late joiners also get the correct parameters, each player life parameters are local until player closed enough or monitor is connected

hazy trout
foggy tinsel
hazy trout
#

yes

foggy tinsel
#

Oh sweet, thank you. Me and my friends will probably be chilling on the world every now and then! Thank you vrcCatSquint

dawn oxide
#

A

slender hollow
dawn oxide
slender hollow
timber lily
#

H

bitter atlas
#

F

green vine
#

I created and published my 9th game world in just one week!
https://twitter.com/Tom_t0m_tommy/status/1625493421791252482

RTๅธŒๆœ›๏ผ

9ไฝœๅ“็›ฎใฎใ‚ฒใƒผใƒ ใƒฏใƒผใƒซใƒ‰ใ€ŒCyber Valkyrieใ€ใ‚’ๅ…ฌ้–‹ใ—ใพใ—ใŸ๏ผ
ใชใ‚“ใจ้–‹็™บๆœŸ้–“ใฏ1้€ฑ้–“ใงใ™๏ผ

SFใƒ†ใ‚คใ‚นใƒˆใฎ่ก—ใ‚’้ฃ›ใณๅ›žใ‚Šใ€่ถ…ใ‚นใƒ”ใƒผใƒ‰ใฎๆˆฆใ„ใซๅ‹ๅˆฉใ›ใ‚ˆ๏ผ

https://t.co/RMrAawbCoh

https://t.co/VussQm94fu

#VRChat #VRChat_world็ดนไป‹ #VRC_CombatGimmick

โ–ถ Play video
dawn oxide
coral sun
#

H

dawn oxide
tribal cove
#

I

haughty beacon
#

very basic udon - plays animation on use, if holding use the camera stays on and when dropping the pickup resets back to normal. Vrchat my beloved

dusky knot
#

JK lmnop qrs tuv wxyz

low meteor
#

yes

coral sun
dawn oxide
#

I am looking for someone who can help me with udon projects.
I create 3D models.
I would like a person who makes scirpt.
is there anyone who is interested?

#

Anyone interested, write me privately, thank you!!!

zenith imp
#

My script. It's kinda wigging out though.

burnt gust
#

I love udon noodles ngl

frank lily
proud fern
#

hey doesn anyone know how to code light changes with skybox change in udon

weary kelp
hallow grotto
pulsar finch
#

@weary kelp looks great. and even with the death beams its still safer then a star citizen elevator!

weary kelp
brazen lance
#

A

quartz torrent
weary kelp
quartz torrent
proud hawk
candid sequoia
#

well. i got 1/2 making it work. so img on right is starting point. click on upload will show img on left hand ๐Ÿ˜› very cool?

candid sequoia
#

1 photo. 3 pre set URL. 100% fully working. little work around and thing can and will happen ๐Ÿ™‚

candid sequoia
#

endless URL button. 1 shader. Just 1 click to load URL photo from discord. o.O what next can i do? ๐Ÿ˜›

arctic ivy
tribal egret
#

Udon data persistence using log parsing plus a local webserver and string loading!

It allows you to save & load data from udon, as long as the player is running the program in the background

Might release the program and udon devkit for world developers if people like the idea!

#

requires very little code for the developer too

coral sun
#

Looking at the log, im guessing you are abusing debug.log here a bit? Looks fun lol

tribal egret
#

yup

coral sun
#

yup, I have seen a couple of people doing this stuff, but afaik there is no easy to use package others to use yet

frozen summit
#

So you can actually read the game's logs from inside udon?

dawn oxide
coral sun
#

you can abuse it to send out arbritary data

#

and then you can have a program read it to do stuff

#

I am using this for some stuff as well actually

#

but you cannot read it from udon (or unity) afaik

#

the log file is only persistent per game launch, it gets moved aside and eventually deleted after every game launch

#

so if you want to do persistance, you probably have to import the logs elsewhere

tribal egret
# frozen summit So you can actually read the game's logs from inside udon?

no it's an external program that reads the vrchat log, the udon side logs instructions to the vrchat log which the program executes. (atm only instruction is to save data) The program also has a local web server which the udonsaves script will send a request to and get a string response with all the data, which is then processed to be able to easily access it

coral sun
#

yup, that sounds about right

#

I know actual official data persistence is a considered thing... eventually, but stuff like this are great stop gaps to at least experiment with the concept until then

spark arch
tribal egret
zenith veldt
# tribal egret no it's an external program that reads the vrchat log, the udon side logs instru...

This is something I have been wanting to do for a long time. Kudos! I am interested to add/implement Microsoft SQL support for database management since I am working on a "VRChat" world manager solution one can configure user "Roles/Ranks", track scores, join count, show saved Rules/MOD, etc. Just be careful, VRChat might claim this is against their terms since they're picky about exfiltrating data but I hope to see a solution supported like this. If VRChat is a sandbox for creators, there should be options to collect/save data as long as it respects privacy. I've done similar stuff with Garry's mod management scripts and other games that are open to modding and have HTTP Clients one can use to make calls.

tribal egret
spark arch
tribal egret
#

if they actually don't like it hopefully they'll just let me know so I can take it down before they outright ban me or something lol

spark arch
#

AvatarImageReader was warned by vrchat. Is what I heard so possibility.

tribal egret
#

really? that literally has the same capabilities as image loading

#

or string loading

zenith veldt
#

Should be absolutely fine, I know you're tailing the log file. Even without Udon people can still pull data. The problem is that if I am regurgitating data back into the map from my DB/Data collected, they might make the connection and it's a user/creator problem, not with your solution.

spark arch
hard sphinx
tribal egret
#

ah ok so then this should be fine as it doesn't use their servers at all?

hard sphinx
#

It falls into the grey zone, they could warn you, they could also not, doubt they would warn you unless this starts becoming a common way to do persistence.

coral sun
#

Honestly I dont think this will become a defacto standard cause most people wont run applications on their pc for the use on a handful of worlds. This could be an interesting thing to experiment with persistence until it becomes an official feature

gaunt night
# tribal egret Udon data persistence using log parsing plus a local webserver and string loadin...

The "problem" here is that End-Users have to install unknown software from a third-party and run it.
VRChat may or may not be concerned about that, but ultimately there is nothing they can do legally to "prevent people from installing software on their own computer" or "prevent people from making software that reads VRChats log files"
So you're fine.

However it is generally a bad idea to download and run software from an unknown/untrusted third party. So this method is inherently "dangerous" for the user if they do not trust the author (you).
Its a risk-over-benefit thing (as with all software you download and run that hasnt been certified by an authority that is generally seen as trustworthy (e.g. Steam))

tribal egret
#

VRCX reads log files too

hard sphinx
#

Worlds requiring third party software is different though.

tribal egret
#

not require, though of it more as a quality of life thing, like saving settings or highscores

#

though that depends on the world dev of course

gaunt night
#

Yeah the other "problem" is that the software (even if you trust it) needs to run either constantly, or you have to manually start it before "using" it.
The first case is rather invasive and some antivirus programs might falsely flag your program, while the other case is rather unconvenient.

I guess an alternative way would be to have a modified VRChat.exe which first starts the program then the actual VRChat.exe

That would work and is not against ToS

tribal egret
#

yeah think the best solution for that is an optional setting to start when steamvr starts

gaunt night
#

Hmm well that would only work "well" if the only SteamVR game you play is VRChat :P

tribal egret
#

yeah true but it's not very resource intensive since all it is is a really simple local web server an a log scanner, plus it's written in rust

#

but yeah that's why it'd be optional

coral sun
#

Think steam overlay. Starts with steam vr and you could even have a ui there for configuration. It could remain inactive unless vrc is running

tribal egret
#

yeah

gaunt night
coral sun
#

Again, I do want to be clear that only a subset of people would use this. Imo I see this as a great ways for devs to practice and experiment with persistence until something official comes along

tribal egret
#

yeah I know I'm not expecting any worlds to rely on it, but would be cool if some worlds would allow you to save settings or high scores or stuff like that

coral sun
#

Tbh I can see RPG style or story games using this as a save system, especially with that new json handler

tribal egret
#

yeah but when it's required a better solution would probably be https://github.com/Nestorboy/NUSaveState which stores data in avatar parameters, with the limitation being that you're required to change the player's avatar to read/write data and the storage space is very limited, so not very practical for saving settings & such

GitHub

An alternate approach to saving and loading data in a VRChat world. - GitHub - Nestorboy/NUSaveState: An alternate approach to saving and loading data in a VRChat world.

gaunt night
#

This was conceptualized long ago, however the argument was always that forcing users to install unknown software (even if its open-source) was A. too much of a liability and B. too much of an inconvenience
But good luck trying to get people to do that :>

royal coyote
#

It's rough right now, but I've made a menu script where you can set some world properties based on your location! Menu buttons are dynamically generated based on the search criteria. It currently only sets the sun rotation and has some display info from the weather API. It's my first project, but has been very helpful to learn Udon's abilities and limitations, the string loading has been something I've been looking forward to

zealous ridge
#

Here's my graph for seamless teleportation, feel free to replicate! Just change the X Y Z values of the Vector3 Addition node to the relative location of where you want the player to teleport to seamlessly.

zealous ridge
#

Optimized version of the seamless teleport, the gameobject was unnecessary

dim harness
#

trying to call a class for owner only. why isn't this working?