The Resonance/2025-02-16/Transcript

From Resonite Wiki

This is a transcript of The Resonance from 2025 February 16.

This transcript is auto-generated from YouTube. There may be missing information or inaccuracies reflected in it, but it is better to have searchable text in general than an unsearchable audio or video. It is heavily encouraged to verify any information from the source using the provided timestamps.

0:01: record to uh this is loading in I'm going to post the

0:09: announcements post this U post the office hours announcement where is

0:18: it there's this one I'm also posting a blue sky one post there we

0:25: go oh it's looking a bit what is killing is it a visual

0:30: studio doing things go away Co pilot I don't want I want this there we

0:39: go there we go I'm also going to open what is heavy like is that here or is

0:46: that on my end no I think it's it feels feels good to me I wonder is it because I open

0:53: visual studio uh well I mean you I mean it's Visual Studio it's quite heavy yeah like

1:00: it's not doing anything maybe it's like indexing stuff Visual Studio likes to analyze the

1:06: project in the background and use a million gigabytes memory

1:12: yeah oh that hurts anyway hello everyone we have a

1:20: raid we have a raid oh my God than ground is going with

1:26: snit you know what actually I I literally had like a thing I wanted to talk about and then I got another thing

1:32: I wanted to talk about there's like no multiple no actually I do have like a

1:40: followup on on on that one um okay um let me just make sure I'm

1:47: like not dying everything's posted so uh everything should be okay hello

1:54: hello everyone can you hear us fine welcome to another episode of resonance I actually kind of was

2:00: exact count I think it's like episode 12 or something like that but um uh welcome everyone this is sort of

2:07: like a my kind of office hours um SL podcast I'm here like with Cyra who's from our like engineering hello and we

2:15: talk about you know like about like J kind arite stuff and a big part of this is you know you get to ask questions

2:20: whatever would like to know about arite whether it's technical whether it's you know philosophical division for the

2:25: platform whether it's you know something with Team the platform in general or even just like you know other things uh

2:31: feel free to ask them in the chat uh one thing make sure when you ask something

2:37: that you add a question mark at the end of it uh that way it pops on our thing

2:43: uh and you know then make sure like we don't miss the question um we already have like like

2:49: two questions like popping up well kind of one but like I'm actually going to answer like because Grant is going schn it again um

2:57: so this is get the answer because I do have a followup on it because last time we talked about it like that made a

3:03: ramble about um you know made a big ramble about um raring and I kind of

3:11: want to do a little bit of a followup to it uh but before like we get to everything um actually I think I said

3:18: kind of everything yeah so like like you know make sure like you have a question mark we do have also some questions from

3:23: Discord and I kind of wonder if we should go through them first just to make it easier for people to fine so let

3:30: me just open that up um and these are like relatively quick

3:36: ones uh so I say we probably go first to Discord

3:42: like we let like few questions pile up but we're actually going to address the schnit one first um and I'm not going to

3:48: make it this like super one oh also thank you T for subscription um thank

3:54: you but this is sort of like you know full up like to the r hacking thing because like one thing I kind of noticed

3:59: with the comments is like a lot of people are like because we give you warning if you use something like grave

4:05: hacking your stuff will break eventually we don't know like when we don't know

4:10: when um it might just you know one day like we change something and and it's a breaking as a result and there might not

4:18: be a replacement for it and we've got a lot of people saying like well just make it official you know or just um you know

4:26: like lot of people use it so like you know just don't break the stuff and the problem with that is if we were

4:33: to do that they would actually prevent us from implementing a lot of things that you really want like for example

4:39: Performance updates or the domains for build build in big worlds because it now means we have to

4:46: freeze you know part of the code part of like something that's not even a design that we sort of like relying on we

4:52: cannot change it and that kind of ties our hand for future development so the

4:58: reason like we give you the warning is because we know this will break and it's not really a thing you

5:06: know that's like that you can debate about like because you're you're essentially utilizing something that's

5:12: not even designed as a feature in the first place and therefore it doesn't have any kind

5:19: of you know Provisions for maintaining long-term compatibility and analogy I would like

5:25: to like you know use is you know it's almost like like us telling you not to

5:31: do rev hacking for you know anything long term because you know you end up kind of hurt is think of it like you

5:37: know us telling you that you shouldn't run with Scissors because if you run with

5:42: scissors eventually you'll like fall and you'll hurt yourself you'll cut yourself

5:48: and you can debate it all the way you want you know you can be like like Vol just make scissors you know that you don't get hurt with like you know like

5:54: when you run with them but then it wouldn't be scissors anymore you know like it's it's something that will

6:01: happen and we're warning you because we don't want you to get hurt but if you do that like you know

6:07: you're not you're not changing the physics of scissors you're not changing what scissors are like that's just the

6:13: consequence you know of what you do um

6:18: so you know keep that in mind like it's something that like either we freeze the

6:25: project we stop kind of developing a lot of the things just to preserve that or it's going to

6:32: break and you know those are like pretty much the only two options of the table and like you have to kind of you know

6:40: we're not going to freeze the project we're not going to stop develop things we're not going to like you know stop expanding it which means you know that's

6:47: not even an option for us which means the only consequence of that is that

6:52: will eventually break and when it does break like there might not be a replacement because we like you know

6:59: like might be having other priorities at a time so that's just a thing you know

7:04: think of it like you know as getting warning like don't run with Scissors because that's kind of like you know

7:11: what you're doing like in a like in a way a bit if you if you use their hacking for anything that's long

7:17: term like you're going to end up like hurt eventually and it doesn't matter you know how much you debate it doesn't

7:23: matter you know how much you're going to ask is just you know a consequence of

7:28: like what you know scissors are because they are sharp and running off with them where you can trip and hurt yourself so

7:35: I hope that kind of makes it a bit easer to understand like you know what is it like

7:42: about but it is this is kind of mindful up to the PS yeah like I think some people expect

7:50: like oh you know when when you know it breaks they're going to magically get

7:55: like an auto upgrade or something to any like a officially supported method but

8:01: the fact remains that it could break one day and there might not be any

8:07: replacement um even one that you could Implement yourself yet because you know

8:12: we haven't implemented that yet um and even if even if there even if even if we

8:18: implemented Like official you know Collections and and component access and

8:23: whatever that you're trying to use ref hacking for if you are using yeah if you're using ref hacking

8:30: your stuff's not going to Auto upgrade to that you are not going to get any auto upgrades Bar None and that's pretty

8:36: much you know the reason we give you the warning because like we know that's how it's going to like you know turn out that's why we're warning you and it's up

8:43: to you with reected warning but if you don't if you ignore the Waring you might end up like getting

8:50: hurt as a result so you know that's pretty much like if if we knew that something we can

8:57: easily upgrade automatically we wouldn't be given a warning we would make the commitment you know to supporting it for

9:03: example you know the most actually recent thing which actually ties to the second PSA I want to make but um there's

9:11: a you know the new particle system Photon dust uh which is a replacement

9:17: for the previous now Legacy particle system uh that's been a hybrid between fenan and unity and Photon dust is a

9:24: completely custom system that works on a bit of like you know different principles than the unity one

9:30: um but what I like you know done through it development is actually spent a lot of effort um making upgrade systems to

9:39: convert it and that's because the old system you know is designed for you to

9:45: use and because of that you know we now make like commitments to like preserve

9:50: what you made as much as possible you know into the new system and we spent like over pretty much over two months

9:57: just like making sure everything's kind of fixed St and everything kind of works correctly um so when something is

10:03: designed as a feature us like in know its public interface um that will you know we will

10:10: make efforts to preserve how that works but if for something you need to kind of

10:17: you know you need to kind of dig under the hood and need to you know kind of work around some

10:22: things usually that means that's not not going to be a supported Behavior like if you if you need to kind of like you know

10:30: the moment you start kind of like you know feeling like you have to kind of pull the behavior you want out of it you

10:35: know like by kind of digging and hacking something that should give you a pause and be like is this like meant to behave

10:41: this way or like is this going to stay behaving this way or not uh because in most cases it will

10:50: not um but Al like you know TI study second PSA um Photon does now pretty

10:56: much like you know uh pretty much all of the compatibility uh issues have been fixed

11:03: up like things now kind of converge like you know properly things pretty much like you know look the same the system's

11:08: like stable enough um uh since January we've been already you know suggesting

11:14: people uh stop using you know the Legacy particle system and you know switch to Photon dust because it came out of

11:21: experimental uh before the month of February and now that like you know the last few conversions have been polished

11:27: up uh we're going to be removing the Legacy particle system tomorrow so

11:33: tomorrow is going to be gone all of the things will automatically convert to Photon dust uh which means like we only

11:40: have like no Photon dust going forward and this will actually finish the major

11:47: Milestone you know of the performance um performance update because uh if you

11:53: remember like you know from previous resonance or if you watch the video there's like two major systems

11:58: preventing us to pulling fruit engine out of unity one of them is the particle

12:03: system the other one is the audio system and with uh with is tomorrow the old

12:10: system is going to be removed and it's going to you know remove ties to Unity

12:15: One of the ties to Unity and that finishes a maor milestone which leaves

12:20: the audio system uh there's going to be others next uh that's going to be smaller project than the uh particle

12:27: system because it doesn't have as much compx it to it um partly kind of like on

12:33: purpose just to kind of like make it easier to move out um once that one is done the actual work will be on the

12:40: split on like Rew working how Fus engine communicates with unity and pulling it into its own process running with net 9

12:50: and that's what's going to give us like you know the big performance boost because we're going to be using you know much better on time so just to recap uh

12:58: the Legacy particles system is going uh away tomorrow uh then the focus is going to

13:03: be audio system once the audio system is done we're going to be essentially working on the final part of the big performance update

13:11: so it's getting kind of you know it's getting closer uh was getting relatively close so I'm kind of like you know

13:17: myself like excited for it because like ever since ever since like we moved the

13:23: Headless to the net 9 it's been running like you know the Headless itself has been running like way better than before

13:29: before then it was running with Mona and I've been kind of joking I want us to feel how the Headless feels because

13:37: we've had you know there's like sessions which had like 44 users for example all

13:43: with like pretty much full full avatars that were not C on the Headless itself

13:48: and the Headless was still keeping at 60 frames per second so we kind of expect like pretty big like performance jump

13:55: from that move once the graphical client is able to utilize that time as

14:00: well um so that's that's that's the other PSA do you have any PSAs before

14:06: move move on to questions

14:11: um let me think I don't think I do um but I I just

14:18: I just share in your excitement for the uh the splitting as you've taken it

14:25: Spen yeah like it's it's going to it's going to be good guy that's that's that's like what all this

14:31: work is going of been like building towards so that's going to be the big one uh it's also going to be great

14:38: because once we do the split you know and we use the modern run time like it's also going to you know open up so many

14:44: more possibilities because now we can use modern net like you know performance features because it has stuff like you

14:50: know SM intrinsic it has way better like you know vectorization it is like um

14:55: there's a lot of libraries that we kind of want to switch to that don't around with old.net and we can't use them so

15:02: there stuff like know there like M libraries there like image decoding Library uh we can like you know yeah oh

15:08: yeah TR it is a good one for like you know performance like tracking um there's we can synchronize to the latest

15:14: version of beu physics which also has taken advantage you know of um of like the new features in net 9 or

15:22: just the modern like.net so just being able to use more than run time is also going to help a lot like

15:28: with the future development which is one of the kind of you know reasons why we wanted to go this way for the

15:33: performance like for the first big performance update um so is very exciting with that

15:41: uh I'm going to get into the questions uh I'll feel the ones from Discord first

15:47: uh actually maybe hold on let's see how many we have because I already kind of talk it a bit no we have a few um so

15:53: I'll go to do the Discord one once first uh and actually have to disable

15:59: streamer mode so I can see there we go uh so SPO SPO is asking when it comes to

16:06: brushes will there be in future uh some kind of feature to make it easier for desktop users to properly use them

16:12: without whatever your draw with it getting warped in the Cure of a sphere and also with very poor depth perception

16:19: for example plane or 3D box that you can switch onto draw it with whatever cursor F inside of it yes there actually some

16:25: something I would like to add like I I'm kind of like thinking at some point in future just you know giving the desktop

16:31: like we got to focus on a bunch of issues to give desktop like more more love um and like you know being able to

16:38: use brushes I think it's going to be kind of useful one of the things I was actually even thinking my head it'll be

16:44: kind of cool to do especially once we do like more of the UI work as well is being able to use brushes you know even

16:51: for example with in your dash you know so you can you can like uh you know do

16:56: sketches and nose and then you save it to inventory and can I use KN as sort of like a not PAD as well um uze the brush

17:04: system for that but pretty much like having a system where it's kind of aware you know that this like tool shouldn't

17:10: be like used like specially with the hand model but instead you should like you know you align it to a plane and

17:16: then you just kind of draw on your screen I do have on my list of like you know fun issues I actually have like a

17:22: support foring you know uh super for um H what's the word uh styles

17:29: you know like we have like you know pressure sensitive Styles and stuff like that so you could actually use it um you

17:37: know you could like use it like you know like with those brushes and it's going to feed like the pressure and other

17:42: parameters to them because I think it could be like really powerful so um that's definitely something that I would

17:48: like to put some more time into in the future uh the next question is from Ki

17:55: are there plans to add more permissions for users for example corre currently I'm nervous to use per flx know to

18:00: change us this Avatar since many people would get frustrated with it and you need to opt out VI a special code

18:05: instead of opting yes there's a number of things with like permissions uh so

18:11: like there's um sort of two types of permissions we have right now well we don't actually have right now but the

18:17: way we think about them uh the ones we have right now they're sort of like you know soft permissions they're kind of

18:23: like you know more high level uh they if you really want to you can kind of bypass them but they're sort of like you

18:28: know request like please like don't do this don't do that some of those are harder so like they're going to be like

18:34: verified especially stuff that has to do with like um changing people's roles uh

18:39: kicking or burning them out of the server those are like verified um more on the data model

18:46: level um there's a system we want to introduce in the future called hard permissions and it's actually going to

18:52: Encompass a bunch of different things um there's multiple aspects to it one is

19:00: it's going to you know essentially specify who can mutate which parts of the data

19:06: model so if you for example have the world uh you can set it you know so like

19:12: majority of the world nobody can change and it doesn't matter you know how you do it even if you've write like you know

19:18: modified client to try to change those things the host is going to reject those

19:23: changes because it's going to be like you know you don't have right permissions that is part of data model and this going be like you know a basis

19:29: for a number of different kind of like permissions and you know restricting like who can modify what um there's some

19:37: things you know that don't are necessarily reflected in data model um

19:42: for example you know being able to apply forces to users like you have like you know like a gun and you shoot them and

19:47: it kind of Bonks them away uh so there's going to be another thing where uh certain systems are going to be like you

19:54: know like you need this kind of permission to be able to like you know do this thing like for example I forced

20:01: a user um so we could like you know like you could for example say I don't want

20:07: you know to get boned like by random you know gadgets unless for example it's you

20:12: know from like it's uh been spawned by a friend or it's being held by a friend uh

20:18: so those are going to provide like you know additional kind of granularity another part of the hard permissions is also going to be troping systems so like

20:24: you know for example limiting how much you can actually bring into the data model both in terms of you know

20:30: components slots you know uh but also in assets so for example you're going to have limit on how much geometry you can

20:36: bring in so if you try to spawn something that is like you know 10 million triangles is not going to load

20:41: it uh like you'll be able to like set limits and it's always going to be know up to the host so like if you want to

20:47: host a session and you want people like you know share like their complex 3D scans you can do that but also if you

20:52: want session that's you know friendly to like weaker performance Hardware you kind of want it more chill you can you

20:58: know lower those like restrictions uh so there kind of like you know combined systems they're going

21:04: to provide oh one more thing is also going to help is uh type filtering so you can for example forbid certain types

21:09: of components being introduced into the world like completely um so yes like there's going

21:18: to be a lot more kind of permissions that we want to like add in the future to kind of like give people more control

21:24: you know how the sessions are run and how you kind of like operate

21:29: uh and last questions from Carson uh what does Boolean user override do and

21:36: actually was I'm kind of prepared for this one because like I open my visual studio so I can get my keyboard and I

21:43: look at a component uh let's see Boolean override

21:51: let's see what it but there's nothing in there is simp say

21:59: yeah it does nothing why is it it does actually nothing it literally does nothing I think it's like a stab of

22:06: something that was meant to be add it and it got abandoned like while back there's bullying user override

22:14: GA um so I don't actually remember what this was meant to do but like right now it's a stub and

22:22: should probably just remove it since it does nothing so yeah that's that's that's the answer there is your answer

22:30: it does nothing it does nothing at all we'll probably just remove

22:36: it I would do it right now but I don't I have to syn up my release notes

22:42: and everything so oh actually I'm on a branch anyway so never mind I'm not going to touch that right now but you

22:48: can you can make a GitHub if you ask as you know to remove

22:54: it remove it um so yeah that's uh that's actually

23:00: all of the questions from Discord so let's still sort it out which means

23:06: we can get not to the questions um we can to the questions from the chat so emergency temporal shift is asking

23:13: everyone lik to talk about Visual Studio but what nasal studio is that something like you just

23:19: like you know V silia or something like you know the hard can smell things they'll make the nasal

23:24: Studio or maybe it's like yeah give me Teti studio tectile studio I things like

23:31: that you know there's like Braille keyboards and stuff like for visually impaired people and such but n it's

23:38: a it it may make kind of difficult for like latency because like you know it takes a bit for it to like for your

23:43: smell to activate and then to register it but imagine like you know you're compiling and the compilation fails and

23:49: like it emits a false foul smell so B smoke smoke smell smoke yeah smoke and

23:57: then like compile as well it's going to give like little fresh nice sand so it's it conditions you you know the right

24:04: good code yeah you got to you got to you got to get rid of that code smell I mean it's actually interesting

24:10: because like Al like there's been studies which show that like like if you

24:16: have a smell associated with a memory that actually helps you remember it a

24:21: lot better so maybe like you know if you're like depending on which part of your code base you're in it emits a

24:26: different smell and like you know that helps that helps you like you know remember what's in the code base or

24:32: something I don't know yeah I'm taking this question way

24:38: too seriously we add one smell per component one small I mean no that would

24:44: work like we can recognize like I think humans can recognize about like 50,000 different smells oh wow something like

24:52: that there there's a lot of unique smells which is what makes it so difficult you know to make Hardware because like you cannot just do like you

24:58: know RGB like the way we do for our eyes yeah we can represent all possible

25:05: smells a human can smell in a single short oh yeah I could do

25:12: that just assign each one A different one yeah yeah well the question is uh

25:20: does the intensity like matter because like you need like more for that because you know some smells they might be

25:25: composite of different chemicals and have like different so it might need more than that better

25:32: use an integer just to be safe might need more yes integ might me more than

25:38: integer it might it might need to be like a variable data structure because can have like you know composite of them

25:45: big [Music] end uh anyways next question is from Flames over what are security and safety

25:52: measures taking place about peer uh peer peer and its insecurities um

25:59: and kind of depends what kind of insecurities you have in mind um I don't actually like know what exactly like

26:06: sometimes like people get like you know worried about stuff like you know IP addresses but IP is generally like you

26:12: know that's like how your computer con with the internet so like you know whenever you load a web page when like use any like things your IP is you know

26:20: like where the data is sent so if you connect to somebody they need to know like you know where to send the you know

26:25: data back um few things you can do about that one is like you know the easiest is

26:31: you know use VPN that's kind of you know generally like protects you on the internet if you want extra privacy uh because it kind of you know

26:38: hides your IP behind another kind of you know computer but of course you know that VPN will know your

26:43: IP uh so that can help in you know kind of in general because like anytime like

26:49: you do anything on the internet like your IP is you know how the communication kind of happens but also

26:55: there's not super much people can generally do with like mostly like you know they can get like gra

27:02: location um because the IP is kind of located in blocks but um on itself

27:08: nowadays the IP like unless have like unless have like misconfigured like you know firewall and router or something um

27:16: generally it's not going to do super much harm and the other thing you could do is you know if you're connecting to

27:22: sessions you can like you know connect through um through the relays although like you know it might take like you

27:27: know some like latency degradation because now it has to like you know go through another node or like you know

27:34: prefer steam networking ciruits which realiz stuff like over the valve Network

27:39: um but I'm not sure like you know if this is like what you kind of had in mind because there's you know there's

27:44: also other stuff like um for example you know men and men and the metal attacks if somebody's you know on your network

27:52: and they kind of like you know get in Middle if they you know can like spy on your tra and stuff like that um one of

27:59: things like we actually kind of wanted to switch to the game networking circuit from valve because they do have

28:05: generally better security uh like they support like you know protocol level kind of like encryption uh for all the data that's

28:12: being transferred uh but it's still like missing so core features especially

28:17: bound estimation which we need like you know um for our use case so we could

28:22: like you know explore like since that's taking a while we could explore adding you know encryption layer um um as well

28:29: to like you know to lnl but it kind of depends like what exactly you mean because like I I don't

28:36: know what you imagine underw insecurities like if you don't want to

28:41: ask you know follow up like you know you can specify a little bit more give us some examples and then we can give more

28:47: specific answer I have any more thoughts on that

28:57: what it could be meaning I mean it's really hard to tell like what they mean by insecurity I don't

29:04: know cuz I there are a lot of insecurities with everything yeah uh and

29:11: so I'm not sure like what they would be referencing in particular yeah in general like I com of being like you

29:16: know more specific with the questions because like otherwise we have to kind of make assumptions on what we mean and I don't know if they're kind of answers

29:22: it uh um oh they're asking insecurity of P2P by default I don't like what you

29:28: mean really narrow it down you got to be like well like like what aspect of PTP

29:34: is insecure like what do you want to address with

29:40: that anyway uh we're going to get like the more questions and see like you know if there's like more follow up yeah uh

29:47: let's see so Xavier Sly is asking I'm very much looking forward to this I saw

29:53: a video on YouTube explaining States in an object do you have an idea how long it will take for you to do that feature

29:59: I can assume they mean the audio system I don't know like I like trash on not to

30:05: like estimate because like it tends to be kind of wrong there's like

30:10: uh there is um I always forget the name I think it's h host fast host fter la I

30:18: don't know I don't know the name but essentially every project will take

30:24: twice as long to complete even if you take the account like you know the into account so if you estimate something to

30:30: be two weeks and we go aha this law says you know that it's going to be twice as

30:35: long so I'm going to double it to four weeks it's going to end up in eight weeks and if you like you know say like

30:41: okay I'm going to use it again and eight weeks oh it's not 16 weeks um it's I can tell you I'm pretty

30:50: confident it's going to be shorter than the particle system um because there's not as much

30:57: complexity there there's not as much like you know backwards compatibility but also these

31:03: things they tend to kind of sometimes they can get more complicated when you don't expect it because it wasn't until

31:10: I started digging into specifics of the unities particle system and all the conversion issues that I discovered like

31:16: just like a sea of issues and weirdness that we had to deal with and that made Photon dtic

31:23: like you know longer than I originally thought it would um you know just kind of dealing you know with all the kind of

31:29: backwards compatibility and people putting like like negative values into like scaling of particles which made the

31:36: old Unity system you know not just scale them but also apply weird offsets and then like you know having to replicate

31:42: that figure out what is actually happening and then figuring out how to introduce new features to emulate that

31:48: or behavior so things can like you know turn into

31:54: rabbit holes especially if you're dealing with backwards compatibility but also so there's a lot less because you don't have like as many possible

32:00: combinations the audios is relatively simple you know we have like the volume which is basic you know have

32:06: spatialization the hardest part I think uh might be replicating the uh distance

32:13: attenuation so like you know if um depending on how far you are uh but even

32:18: that like I don't super expect it to be that complicated because the M seems straightforward but like I said like

32:24: things sometimes start into rabbit holes when you don't expect them to but even taking that into account I think is

32:32: going to be like way shorter than the particle system plus I've already done kind of

32:37: you know like as I'm kind of finishing Photon T I've already been doing you know a bunch of research uh into like

32:43: you know how steam audio like how to interface with and so on I've T like you know Cyro he's helped um get a big chunk

32:50: of it too with like you know replicating the Reverb and like I think spent something like two weeks figuring out

32:57: like you know the presets so like we can kind of you know upgrade them and that's like you

33:02: know something that I would normally do that's like you know part of the work I did with uh phon dust you know it's just

33:08: figuring out how to replicate the old behaviors and syyro has like you know done that kind of imp paral while I was

33:14: still working on photon dust um and he's done you know that leg work so that's

33:19: going to help speed it up as well jeez man that that was that was

33:26: rough I I basically I I listen to some music but I had a clip that I played

33:32: where I was like this is a test so that I can see how the Reverb sounds and then

33:38: I listen to that clip probably over like 200

33:44: times trying to make it sound the same we we appreciate I appreciate your

33:51: sacrifice because otherwise I would have I would have to do something like that

33:57: this is this is the benefit of having like more people on the team you can just be like you deal with it now it's your problem you deal you deal with the

34:04: horrible thing you do horrible thing but yeah like like given that and

34:11: given you know the other things I think it's going to be faster than the particle system there as much horrible

34:17: like get willing to say right now uh check the fox author is asking uh

34:23: I'm probably going to pass out soon is there a way to WR prox while sleep plant

34:31: um make it up probably get a funny answer I don't

34:36: know um I is I feel like it's almost a theme

34:42: because like you know we're checking all the joking answers like joking questions too seriously but I

34:48: actually I had a like a dream that I remember vividly where I was in you know

34:54: in arite and in dream like we somehow made

35:00: super cool materials like they they look super like they look otherworldly like there were so many

35:06: coolest materials and in the dream I knew that it was a

35:13: dream and I was like I can't see this like I want to look at these materials when I'm

35:20: awake and then I was like oh I have an ingenious idea I open my inventory I

35:25: saved them in the dream and I was like they're going to sink to the cloud once I wake up I'll just spawn them and look

35:32: at them when I'm awake and that made complete sense in the dream and then I woke up but I was like that's not how it

35:39: works so but it is kind of interesting like you know once we get like you know stuff

35:45: like neural interfaces and stuff like that I'm I'm actually kind of like you know one of the things I'm super curious

35:51: like because um there's been some research where like you know they put like stuff into people's like brains

35:57: like Cs and it would show them images and it would actually decode from their brain what they're seeing and it's very

36:04: rough like you know it's just very very rough image but once that kind of Technology you

36:10: know develops enough so we can get pretty clear image of what a person is seeing I just I want to

36:18: see you know what people see when they're dreaming because I think it's going to be really cool and it's kind of

36:25: like you know like I wonder eventually no this is like way way way way in the future once we have technology if it

36:31: opens up like know applications that can actually run when you're dreaming you know like if it's going to

36:37: open a whole new like industry of things you know like where it's actually

36:43: reminds of like you know the future am a bit like where they get adverse in the brain like when they're in their dreams

36:48: when they're sleeping which is kind of you know like probably wouldn't want that but imagine something like you know

36:55: like collaborative dreaming like you're in a session and there's a person and they're just dreaming and they're like

37:01: you know and you can interact with them in the dream would be

37:08: interesting I don't know it's the future it might be interesting in the

37:13: future in the future but yeah like that's a that's a

37:18: serious answer to the non-serious question uh the next question is from uh

37:27: oh actually pronounce the name d dami uh will Cloud spawning eventually

37:32: be re worked well Cloud spawning is actually one of those things that is not officially supported and we tell you

37:38: this is not officially supported uh we do plan to provide like you know Cloud spawning eventually is an official thing

37:45: but is like you know one of those things that it it's not like you know official

37:52: feature right now and it actually did break recently and it broke while trying to fix another R and we end up like you

37:59: know fixing that in this case because it was kind of trivial to do but you know

38:04: it's one of the reasons like we give people warnings like we can literally be fixing unrelated bug and it changes

38:10: behavior of you know some quir you're relying on and like you know now you TR bricks

38:16: because like the like the thing you're using is not actual feature uh and that's you know kind of why we give that

38:23: warning uh but yes we will eventually have like proper Cloud spawning mechan the main thing is like you know making

38:29: sure it's like properly secure it can be controlled well it's like well designed and it's designed in a way that we can

38:36: support it like you know long term uh so next question is from Grand

38:43: dek I recently had a moment where I thought component didn't exist but it was just uncategorized instead of it

38:49: probably should have gone bit is there plans to go through congored components and Parx nodes and move the ones that

38:54: should be elsewhere to the right place we don't have any specific plans um like they just kind of do that um well

39:02: actually hm we do want to reorganize the components in

39:08: the future in general because there's like for example there's a lot of stuff in you know

39:14: transform that like you know probably shouldn't be there just because it kind of got thrown in uh and like early on

39:21: with this comp is being added like we didn't think Super much about categorization the problem is when we

39:26: change Cate ization now like people get upset because it breaks their muscle memory um

39:34: so what our plan is we going to do the reorganization once we reor the

39:40: component selection UI and include official search functionality that way

39:45: you don't need to actually even know where is you just kind of like you know type the name of the component easy access that kind of gets around the

39:52: whole muscle memory thing and we can like you know to kind of freeze up our hands to just the reorganization so it

39:58: might actually get reorganized with that but if you find some components in in the un

40:04: uncategorized uh and you feel like it should be in the categorized category just make a GitHub isue about it it

40:09: doesn't need to be long you know just be like this component you know should should be categorized we look at it will be like okay it should be categorized it

40:16: takes like a minute or two to do so um like you can kind of do it you

40:22: know on we can kind of do it on demand for specific components going through all of them that will take a while

40:28: uh like we might also like you when when we do it we might also like you know just do a thing where we kind of export

40:34: all the components into like a spreadsheet and we can ask you know community help like how would we

40:40: categorize it and so on we actually like did that with the protox notes where um

40:45: we kind of like you know how the community like discuss like how do you actually like these to be categorized and that's you know how we have the quum

40:51: protx categorization uh the next one

40:59: uh Carson coder do you plan adding perlex nodes for permissions graning your working perms when hard permissions

41:04: come uh probably yes like once the hard permissions are in uh one of the things

41:10: the hard permissions also do is sort of you know track ownership of things so if you know like if you use noes like that

41:18: the main thing you need to make sure is that uh you know somebody kind of just

41:23: bring those nodes get like you know the host to spawn them and you know just gu themselves admin permissions so but the

41:31: hard permissions are meant to kind of you know resolve that kind of issue where they know where something kind of

41:36: came from and there's going to be no restrictions on like on what context those nodes can actually run in uh so

41:44: like if you like you if they're in the world you have like some logic that grants people permissions um you can you

41:51: know um you can like um you can kind of be sure you know like

41:57: that like only the ones that like respond by the host and maybe the power of reward are actually able to change

42:03: those permissions and all the other ones will not work you can there's something that's somewhat close to it right now uh

42:10: which is the uh custom user Joiner because uh the custom user Joiner can

42:17: actually um assign the person a roll permission on the spawn and the way that

42:23: one is made you know so nobody can just bring it in you actually have to assign it as the you know the secure one and

42:30: only host can do that so there like a little bit of like you know also bit also like you know this thing wers of

42:37: that kind of mechanism uh where you know there's something there's still part of the shared world but like you know you

42:43: cannot just bring your own and just ground someone else you know like or ground yourself like you spawn an object

42:49: you leave the session you join it again and it like you know takes over and gives you admin permission like you can

42:54: really do that but the hardware missions they will uh

43:00: they will provide uh you know like more General

43:05: kind of mechanism to control who can modify which parts of the data model because

43:11: right now it's like done in some specific cases and it can still done be done on a caseby Case basis so having a

43:17: framework to do that going to simplify a lot of things and also be more robust

43:23: overall um next question

43:28: uh uh di is asking is there any plans on having so avatars and other asses load up on the background from a buffer

43:34: rather than all one simulator at the har handles the RAR loader they actually load in the background so um this's one

43:42: of these kind of like misconceptions that is like around um like when whenever you load

43:48: assets all of that loading it actually happens you know on background threats all the fetching you know like what

43:54: essentially happens is the data model it makes a request it's like I want this

44:00: asset and then you know asset system takes over uh and it all all the downloading all the loading of the asset

44:06: it happens a backr on threats uh and then it like you know sends it sends uh

44:12: the data to be loaded to the GPU that does need to be synchr to the main thread for textures right now that will

44:20: uh do time slicing and it's like you know it's a limitation of like you know the direct X11 API because it doesn't

44:27: support uploading from a background thread it needs to be done from a main thread unfortunately um but uh majority of it

44:37: is like you know already happening on background threats there's one of the issues because like we are doing the loading

44:43: ourselves um the because the loading is actually heavily multi- threaded it tends to allocate like you know a lot of

44:49: memory because it tries to utilize you know your CPU cores but it actually triggers the garbage collector in unity

44:56: uh which causes you know some of the freezes and it kind of you know hurts because like the garbage collector it

45:03: has to pause the entire application and it's one of the reasons you know why we want to move to do net 9 because it has

45:09: like way better garbage collector the background thre will not impact foreground threat as much as you know as

45:16: can happen uh with stuff like VR because they are using at least I'm pretty sure

45:21: they're like using unit's functionality unit is running that outside of like you know C in their own code

45:27: um so that you know doesn't trigger that but because we have we are pretty much an engine like our own engine within a

45:35: game engine you know we kind of Hit the limitations of the run time uh and

45:40: that's you know why I kind want to move it out of there um one thing that's going to help a little bit is like time

45:46: slicing of the mesh uploads because right now that doesn't happen so the meshes specifically they get loaded at

45:54: once um and that was a little bit tricker as well because like Unity

45:59: doesn't provide like good apis for doing that like it doesn't provide it even for textures we kind of have to like I like

46:06: design a system that just you know kind of hooks into unity and like we essentially Implement our own texture

46:12: uploading to the GPU um which is fair bit of work but it kind of helps you know so you don't

46:17: freeze up as much and can I still do similar thing for meshes but there's a little bit more trickier there it might

46:24: happen as part of the split because I might need to change you know how the data actually gets transferred over uh

46:30: but for the most part it already does happen on background threats um and some

46:36: of the kind of phrases like you're feeling you know it's actually coming from other parts like you know during time um dur time kind of like you know

46:43: not not actually handling the paralyzation as much which is also a reason like you know why we tell people

46:49: like we often times like you know know these people have this Association that like just make everything multi thre

46:56: it's it's going to make you know everything like better it's going to make everything faster and people think of it as like you know a silver bullet

47:03: that's going to solve all the performance problems um but it's really not like in

47:09: some cases actually might end up being detrimental because if you have like limitations of the run time once we switch to the net 9 it actually makes it

47:16: way better because the run time is kind of designed for that a lot better to handle you know all those background threads because with at nine all the

47:24: background threads they also get you know their own chunk of memory to work with so they don't even need to like you know block other threads versus with the

47:31: unity one that's just like one shared one so if like one thread like does a lot of memory allocations that's going

47:37: to make the garbage collector stop all of the threads like in every single

47:43: case yeah the the datet garbage collector is like meant to to work

47:49: like concurrent isn't it yes yeah it's concurrent it's compacting

47:56: you know it's uh it's doing a lot of things it's generational that's the important thing because it's actually if

48:02: I grab a brush I don't know if this is going to be too small it's going to be just a little sketch but like say like this is

48:09: your you know this is your memory and you know and you'll all allate you know something here and

48:15: something here something here and then like it decides okay I'm going to free up some memory and say like this is you

48:21: know say 16 gigs of memory allocated it's quite a bit but not so much at 16

48:28: gigs um and the garbage collector is like you know I need to oh what happened

48:33: to my

48:40: controller uh oh there we go uh you know and it's to freeze some memory it has to

48:46: scan everything even even like if this is fixed this is fixed this is fixed this is fixed and maybe this is fixed it

48:54: scans all the 16 GB pretty much to to figure out okay there's a little bit space here and there's a little bit

49:00: space here to free up what um what like the modern generational

49:07: garbage collectors do uh they actually have like tiny bit of memory it's usually something like 4 gigabytes where

49:15: all the new allocations happen at Le most of them then there's like bigger chunk of memory where it's like more

49:20: long lift allocations and has like another one for really big things so if something really big it goes here most

49:28: allocations will go here and there's like interesting thing that like the way most applications are written most

49:34: allocations are very temporary so whenever it needs to free up more memory

49:39: it actually just looks at this tiny piece of memory it frees that up

49:45: anything that it cannot free it's going to move over here to like more longterm memory and now instead of scanning you

49:51: know 16 GB it scanned 4 megabytes which is you know orders of itude faster um

49:58: and it only cleans like this one you know every now and then and then anything that's like really big it puts

50:03: it into special block it can handle it even more efficiently so like the still is going to have like you know smaller Bas and then very large allocations are

50:10: going to go into the separate piece um and that helps a lot for a garbage

50:15: collector to just have like way better performance because it can free up like you know this tiny Trang of memory most of the time it doesn't need to collect

50:21: this one as much um it's also going to uh you know it's going

50:30: to like whenever it's dying to threee it can actually kind of do that without stopping the application the garbage

50:37: collector is in unity it needs to like the moment it starts trying to scan the memory it essentially stops everything

50:44: it pauses your process to do scanning and it's kind of like to prevent like long spikes most

50:50: of the time it tries to like do that like where it like pauses it every frame for a bit which takes a lot of like CPU

50:56: time as well so like you know a bunch of like CPU time is like being spent just by The carbage Collector just scanning

51:01: the memory so it's going to scan a bit resume application scans another bit POS like you know let application around

51:08: scans another bit let application scans another bit and it just kind of keeps doing that but if it doesn't have enough

51:13: M it's going to pause it and do a whole scan with this one the more modern you

51:19: know concurrent garbage collectors they they actually can scan

51:25: most like they do most of their work while the application is still running so application's running and then

51:31: usually pauses it for much smaller amount to just do you know whatever work needs to requires the application to be

51:37: paused um and that also helps a lot you know for things to just perform like way

51:43: better yeah there is um to like to like illustrate this difference I was working

51:49: with I was working with some like test program that was um I think I mentioned this to you was reading data over USB

51:56: and it was written in C and you know since it's a test program it's not written all that efficiently um and so

52:03: it was allocating 40,000 a a bite array of 40,000 bytes every once 60 times a

52:12: second I should say oh my and it was doing that and the the program like CPU usage

52:20: was at like .1% while it was doing it yeah and it was just like

52:27: man is like throwing like flower petals at my feet and like lows around my neck

52:34: you do that in mono you get stabbed you die like you die I I remember like like

52:41: one of the things like you know uh with garbage collectors Java also tends to

52:46: have really good garbage collectors and we would be actually playing Minecraft and I look and it's like allocating

52:53: several like dozens of Mega per second and it's just

52:59: going it's just constantly like cleaning up like and you cannot really even tell um with UNIF like you can be allocating

53:07: you know you if you're allocating half a megabyte a second you know constantly you're going to be dying I had to like

53:14: spend time you know just optimizing things to get it you know under like just a few dozen kilobytes per second

53:22: and that was really painful it caused a lot of time but it's just you know how limited like the garbage collector

53:29: is so I can't wait you know like I can't wait until like the better on time because like it's kind of going to free

53:36: us you know from a lot of these things uh next questions from AES W

53:43: actually a l ages uh what if you dream resonate again and you check your

53:48: inventory and still there that's the dream inventory sinking there I mean it might happen maybe the dream Cloud the

53:55: dream cloud eventually if if we have like brain

54:00: neural technology we'll make it so you can save stuff from the dreams yeah if that's ever

54:07: possible uh next questions from triborg I hope the search feature provides

54:13: multiple relevant results for example if I search conditional or use the symol question mark uh colon uh it should

54:20: return the same information since both effer to the same concept in game this way I can still find what I'm looking for even if I don't know the exact

54:27: yeah we'll probably want to like you know index bunch of things like if you have like you know even information like description of the components and stuff

54:33: like that um uh we want to like you know include that so like you're very likely

54:39: to get whatever result you know is relevant usually like it just matters you know like when when you use like a

54:45: library for like do full teex searching you can add whatever data you want so the index and that index is that and

54:52: search is based on that it also supports like know stuff like fuzzy search and so on so it's um um that kind of helps it

55:00: behave like better next question is from o i could

55:05: be wrong this information but from what I understand running headless uh for ex engine is running on to n it isn't

55:11: compile with n compiling with a new run time means even greater performance SKS right even if it is impossible the

55:18: client is running though uh so the head actually is like so H not to answer this

55:25: one the The Headless project itself is compil with 9 that's how it kind of runs

55:30: on it but in it includes uh libraries you know most of the FR engine in is a library that is

55:37: not compiled with the net9 framework but du theet 9 is actually

55:42: compatible so like if you're like if you're using libraries you know made for NET Framework most of it will work and

55:50: it's using it's using Net Framework specific stuff um and it doesn't

55:56: actually matter much because like the during the compilation process usually there's very little optimizations that

56:02: are being done most of the optimizations happen in the jit compiler uh which

56:07: means when you run it with net 9 um you know it's like all that code even though

56:13: it was compiled for NET Framework is actually been compiled by the jit compiler jit compiler for theet 9 so

56:20: you're getting Major Performance benefits it was kind of designed this way because essentially means you know

56:26: you can compile your application once and if you run it like you know later you can run it with newer version of NET

56:33: Framework or Now new version with.net and you get all of its benefits because

56:38: you know it has backwards compatibility but also all the future improvements and all the heavy optimizations happen you

56:44: know at the at like the jit compilation time which happens you know after you start up the application start using the

56:51: code so I didn't expect much like I don't expect much to

56:56: improve just by the compiling you know by targeting for net 9 but uh where it will improve is

57:05: because we'll be able to use new features from net 9 like you know like I mentioned earlier you know like for

57:11: example doing Vector intrinsics we can optimize you know our lot of our mouth you know using like a really fancy code

57:17: and using other kind of constructs and libraries um that are just ver to

57:22: utilize some of the new features of the language that we cannot use right now now to run better but that doesn't

57:28: require like you know manual work like it's not just you know you change of

57:34: FL uh Gran is asking when messing with a string type in components is refer to as

57:41: a value but Pro Flags refer to as an object which can cuse confusion over which components Flags no to use are

57:47: there plans to fix this inconsistency uh no it's not it's not something that's fixable um it's

57:54: essentially like in the resonite and thing like in the data model you essentially

58:01: like like the main problem is you know you essentially have two kind of different systems which each use like

58:07: you know words in different context and those systems you know like

58:12: they're just going to be different because they're different systems in the data model um value like anything that's

58:21: a value it's sort of like this Atomic unit of data like a number you know like like a character a vector a matrix you

58:29: know a string it's sort of like a data primitive that's not literally you know

58:35: divisible on itself it's sort of like it's sort of like you know its own unit of primitive information that's

58:43: supported in the data model and that's what data model considers a value and

58:48: then you know then also has a references references is like you know uh what references kind of objects within the

58:56: data model so that's under term you also have delegates delegates are kind of similar to references but they

59:02: specifically reference kind of methods which is something you know like a function that you can call um so those

59:08: are some of like kind of perimeters for Proto flx um uh the value and object is actually

59:17: based around the C runtime because in C run time you have like you know you have

59:23: two major data types we have stacks and you have classes Stacks they're sort of

59:30: like you know just like raw bundles of data that can be often times allocated on the stack you can also put them into

59:36: the Heap but often on the stack and it's just you know it's like it's just like a bunch of data you know that's like in a

59:44: chunk of memory classes you know you instantiate objects they always go on the Heap um and you know they can often

59:52: times also be like you know like variable kind of size and stuff like that uh and you kind of need to like you know

59:58: like you don't actually store them directly you usually store like a references to them you kind of you you

1:00:04: point like you know where they are into memory and those also like ones that undergo you know garbage

1:00:09: collection um like once you kind of like you know lose all the references to one it's just

1:00:14: going to free it up uh and in C strings there are classes which means like you

1:00:21: know it treats it as an object uh it cannot treat it as a value because it cannot be stored on the stack

1:00:28: because it has like you know varing length usually value types they're fixed size uh and like the size is kind of

1:00:35: known at the compilation time so it's not something that can unfortunately be fixed it's just like you know it's it's

1:00:44: sort of like overloading terminology um where it's like you know like it's

1:00:50: similar term but it like means different text and different context one thing that I think will help with is like we

1:00:56: want to improve the selector so most of the time you don't have to like pick which one you want and per flx is going

1:01:02: to be like you just plug something in and it just figures it out for you like you know like you don't have to think

1:01:09: about it uh that way like you you might not even like you know deal with value SL object like at all and I think that's

1:01:16: probably the best way to can approach this yeah strings in strings in like C

1:01:21: are kind of to me they've always it it's one of those things where like I

1:01:27: understand how it works but like when I when I think about it it kind of seems

1:01:33: like it's a little strange CU they because they're reference types but like in like when you pass them around like

1:01:40: the data model you know you can treat them like a value almost um yeah well

1:01:47: you you kind of like in the data model it's just you know like the primitiv is like going consider like immutable so

1:01:54: like you know if you store it somewhere you override the whole thing you cannot

1:01:59: like you know kind of mutate it in place so that's like you know one of the aspects to it and it's sort of like you know a building block that you can like

1:02:06: you know that is like ser and so on and the big difference like you know why um in the run time like for example

1:02:13: if like an integer integer 32 bits it's always going to be 32 bits you know it's

1:02:18: a fixed size um you know float is 32 bits double is going to be 64 bits if

1:02:24: you have like you know float four that's uh you know 128 bits because you know 32

1:02:29: * 4 they have like predictable size but if you think about strings a string can be you know it can be empty you know

1:02:36: which means like it actually has like zero bytes for the actual string data there's going to be a little bit data know just to specify the length or you

1:02:42: can have string that's you know 10 letters you know 10 characters or you can have like one that's 100 or you can

1:02:48: have like one that's 10,000 or can have like one that's like a a million it can have like very very widely changing you

1:02:56: know length uh and this like you know why canot store them and you know store them like that because they kind of vary

1:03:02: in size um so it's just kind of like you know it's like the terms are essentially

1:03:10: not really related to each other between these two systems and it is a bit confusing but sometimes it kind of just

1:03:16: happens because we have like overlapping terminologies or overlapping

1:03:23: wordss uh next question is I got a question from last office hours you s to ask again the Avatar htic Source manager

1:03:30: does a m for directly ask for htic volume active States however active stays for htics don't doesn't usually

1:03:37: disable them only col and status is is intended well this is why I have the

1:03:42: keyboard and I can like look at the code now so let me grab my keyboard

1:03:49: um I actually will probably need to the question again let me see so I got my keyboard got my visual studio

1:03:56: there uh let's see so the question actually need to

1:04:03: look at it Avatar htic Source manager so I'm going to look at

1:04:11: that uh let's

1:04:16: see Optics manager so this is like one of the things I actually do a lot

1:04:22: because there's so much code um there's so much code you know for reson

1:04:28: IED like I like if it were like a ver like majority of it I don't remember a

1:04:33: lot of it because there's just so much but one of the really good skills like you know you can have and like when you

1:04:39: write your code is make it easy to navigate so you can you know figure out like what you need so we have this

1:04:46: component it has htic volume active States uh and it looks like it's just like

1:04:54: changing if they should be um so the question is doesn't actually

1:05:00: disable them on theable status this is intended

1:05:06: so okay so this component uh disables active

1:05:13: States so this component does it essentially just disables them if you're too far

1:05:20: away so the whatever you drive with this component

1:05:26: it's it's going to be active um it's going to be active when it's uh

1:05:33: not under your local user which means like you're never going to have you know you're not going to trigger on htes this

1:05:39: actually I think this is one of the reasons you cannot touch yourself in the resonate not without another copy of

1:05:45: yourself and uh when your distance is less than 4

1:05:51: M so it just looks like it's kind of I think this is like an optimization thing like where I've added it like you know

1:05:58: so like you don't have to process all of the colliders they just kind of get disabled like you know when the user's

1:06:04: too far away so this probably might need like some more refined Logic for this because

1:06:11: I don't know how it like works you know when you're really big and stuff like

1:06:16: that and it measures the size you know to the user's head so yeah like it makes it makes them

1:06:24: locally active only Wonder users close enough

1:06:30: um there's also htic volume active

1:06:39: stat but it doesn't really interact with anything else

1:06:45: uh so yeah it's uh

1:06:56: yeah so like this is only like they only can be locally disabled for you if the

1:07:01: user is far enough away so I kind of hope like this going of helps bit of

1:07:08: your sing out there we go check the code the code

1:07:13: is the the code is the documentation oh yeah and G is asking a

1:07:20: question for the audience have you switched to stripe yet Godly like uh do like my of like the strip implementation

1:07:27: for us and we've had like people switching to it there actually new endpoint too uh so I can see how many

1:07:34: people are on it let's

1:07:39: see API fund funding

1:07:47: stats got funding stats uh and if I look

1:07:52: at the strip we currently have oh we're almost at 3,000 uh there's

1:08:00: 2,980 USD per month uh with 184 active

1:08:08: supporters uh while patreon that's currently

1:08:13: 2,195 active supporters so that's what like uh

1:08:20: around almost 10% like something like 8% just doing like a

1:08:26: little head math but yeah people have been switching to it like we're very grateful because um one of the reasons

1:08:32: like even if you're supporting us on patreon we can of ask you know consider

1:08:37: switching to STP instead because with patreon uh you know for like every

1:08:44: dollar that you pay roughly on average 15% goes to

1:08:49: patreon uh versus with stripe only 5% goes to stripe which means we get 10%

1:08:57: more you know from your payment which if everybody like if every

1:09:03: single person who's current on patreon Switched uh we would get like you know something like a few thousand more every

1:09:10: month and you know for company of our size you know like very kind of tight bug budget that can help a lot because

1:09:17: you know now we can kind of invest it into other things uh to help this project grow uh so everyone for everyone

1:09:24: like you know who like thank you so much like it it helps us a lot um for

1:09:29: everyone like you know who's still like on patreon like consider switching I know like there's a bunch of people who

1:09:34: are kind of like waiting to sync up their things uh you know so like they switch around the time where their

1:09:40: Patron would Ren new um so I think like we probably kind of see it like you know kind of like change over time I've also

1:09:47: seen some people kind of waiting until after MMC because they don't want to like you know mess with stuff so like you know that's fair too U there's a bit

1:09:53: of a grace period so like when you come patreon um there's like you know you get like few extra like whatever you already

1:10:00: paid for like that month that's going to you know finish so like like when you cancel you're not going to lose your

1:10:06: benefits you know right away um you already know you essentially pay for the benefits for the upcoming month and

1:10:12: there's like a few days grace period you know for like any kind of bilding issues or switches and so on but yeah think

1:10:19: thank you everyone like you know the switch so far and if you're planning to switch thank you as well

1:10:27: oie is asking I believe it is a plan to be able to add more garbers but is there also a plan to all extra garbers to be

1:10:33: controlled by a flux for example being able to save the grab by impulses or the like yeah was kind of like like expanded

1:10:39: a bit more uh it's actually one thing I want to add is like a grab like you know so you can like have like just more

1:10:46: Grabbers in general like there's are like bits the code is kind of prepared for it a bit and then like you're having

1:10:52: like some Integrations like one it to be fun is like you know for the m tring so it can be like hum and grab something

1:10:58: you know with your mouth you know be like hum some people do that you know like by moving one of

1:11:04: the Grabbers other ones having you know one for your feet um and I keep like making this joke which isn't actually

1:11:11: joke because I'm going to I'll I do it if anybody makes a tow tracking Hardware

1:11:17: like if you make something you know can curer toes and I get my hands on the death

1:11:23: gate I'm going to add one I'm going to add native support two I'll make it work

1:11:29: with the grabbing system so you can you know grab things with your feet so if you want

1:11:34: to if if if you want like you know to get like a Pary bump you know like make make hard make some hardware for it and

1:11:42: send me a def kit and it'll it'll happen it's going to be it's going to be

1:11:49: the food grabbing update you mean when you get your feet on a dev kit go says

1:11:54: yeah when I get my feet on the defate I'm just you know I'm just I'm just I'm just saying I'll do it all right

1:12:02: Community you know what to do yes I mean you could like do one like

1:12:07: relatively like easily like I think like so like if you have your food um you know you could like say like you know

1:12:14: this is your food which is horrible drawing actually I'm going to do better drawing

1:12:21: um so like a foot you know and then have like your toe

1:12:26: so like you know like you can like rotate your toes so I wonder like if like an easy way like I wonder if this

1:12:33: would work decently well is essentially you get two IM units which essentially you know just like accelerometer G and

1:12:39: magnetometer so you can like you know get rotation and you make some kind of contraption like where one piece is here

1:12:46: the other piece is here and then you just get like you know the relative difference between the angle because

1:12:51: like if the whole F rotates you know like these two kind of stay the

1:12:58: same and if the TOs rotate relative to it you know then you should be able to

1:13:03: get that information you know get the difference between the angles the only thing is you know if if these two

1:13:09: because they tend to drift so like wonder if they going to Drift aart But like maybe with the magnetometer that

1:13:14: can help and maybe you know the Axel meter because you're going to have you know gravity that's the same on both so

1:13:20: you could maybe use that to compensate like pretty well and it could be like a relatively cheap solution you know to do

1:13:26: something like that yeah but just just throwing it out

1:13:32: there you know I wonder if there are there there have got to be like chips that can

1:13:38: determine um like let's say you had a magnet relative to a thing and you rotate um

1:13:46: one of the objects there's got to be there's got to be some kind of component that can tell the relative direction of

1:13:53: the magnet um Bas on that thing's rotation I just like stuff I'm just like

1:13:59: H sensors too I don't know like if it be good for this cuz like what I'm thinking right is

1:14:06: if you had one of those devices you could determine it's um you could determine a magnet's like relative

1:14:15: direction to it so you'd only need one device you just need a magnet like on

1:14:21: your toe and then you need that chip on your foot and then when you move your toe or no you put the chip on your toe

1:14:27: sorry put the chip on your toe you put the magnet on your foot and then you could tell the relative direction of the

1:14:34: magnet relative to the chip I don't like if like you get like if you get it from that because like I

1:14:40: don't know if we can measure directionality of like you know magnetic field like the diesel because like like

1:14:47: if you like think about it um so see like this is one on your toe and there's like your like sensor you can think of

1:14:54: the magnetic force you know it's like a force it's going to be you know it pulls

1:14:59: it but like it like you're not getting the direction you're getting the strength you know so it could be like

1:15:06: like if it's here it's still the it's still exerting the same strength on this unless this can you know somehow detect

1:15:13: the directionality but like I don't think I've heard of anything that could because like I feel like if

1:15:20: you needed to do that like you know inside of it like you have like you would need like multiple

1:15:26: sensors and then like you know if like magnet here it's going to be pulling these you know this way this magnitude

1:15:33: and if this is here then you know this is further away from this one so this is

1:15:38: going to be weaker force and this one's going to be stronger and from the difference between these two you would

1:15:44: be able to determine the direction yeah but you know this is going to be really small so like the

1:15:50: difference is going to be really small and I don't know if you'd get it like accurate enough

1:15:57: there's like stuff like you know like Flex sensors so you can also like you know you like have a sensor and it can detect when it like you know flexes too

1:16:05: the other part like you know would be also the drift because like if you have the magnet and it kind of changes over time I don't think that one has a good

1:16:11: way of like you know self-compensating and that's kind of like you know why I

1:16:17: was thinking like the IMU might be the best way to go about it because you have like you know they're all cheap like two

1:16:23: cost like nothing like you know it's like what like it's it's going to be like $2 instead of one maybe for for the

1:16:32: parts so like I don't think like having two is like you know big issue and what you get with each you know you get the

1:16:39: orientation from the chro which can drift but also you get acceler meter which is always going to be you know at

1:16:46: when it's still it's going to be pulling downwards because of gravity so it's going to measure that and you can use

1:16:52: that to make sure they aligned and you also magnetometer which is aligned you know with Earth's you know magnetic

1:16:59: sphere so you can use that to also provide a source of calibration like to provide correction for the

1:17:07: drift h i I think we're getting to we're getting deep into U food tracking the

1:17:15: toe toe tracking specifically it's also like you know some people like Solutions like like oh

1:17:21: like put like Le like mly motion on the shin or something but I feel like it's kind of an Overkill because you know

1:17:27: your fingers have way more dexterity than your toes do so I don't think you need as much for toes just make make

1:17:34: make like a tow tracking sock you put on and you know now have tow tracking and

1:17:40: you can grab things yeah that would be kind of cool actually I bet I bet that would be possible to put in a sock yeah

1:17:47: something to put on or maybe just know smly put it on and can put sock on top of

1:17:53: it all right we need to I need to this is one of those things if I had time I

1:18:00: would like you know do this I would do this myself but the problem is I don't have

1:18:05: time same I would provide an integration

1:18:13: too anyway it seems Seems like we're mostly out of out of questions I think

1:18:18: those were I'm just kind of like I'm just you know going into these like silly ones because we still got like uh

1:18:25: actually oh I changed the formatting like why is my clock the US time

1:18:31: um I think we got 40 minutes left yeah we got we got about 40 minutes

1:18:37: left there we go yeah if you got to like any more questions you know feel free to ask

1:18:42: um uh but yeah we pretty much yeah we pretty much ask the o one it's kind of started this whole thing with a gber uh

1:18:50: then there's one uh the G Force I think it would explain with magnet forces is

1:18:55: roughly how effect works yeah like as far as I understand it Like H effect

1:19:01: doesn't give you directionality like you know you only get you going to get like

1:19:06: intensity which means if you want directionality you need to measure intensity of different points and use

1:19:11: that to triangulate Direction but you know if you want to keep it small that

1:19:17: can be difficult um but yeah it kind of covers

1:19:22: the questions there we go space spec is saying H I

1:19:28: have sudden urge to make smart shoes now with five more Imus

1:19:36: yeah you know there actually is a thing that I've been thinking about uh in terms of cuz you know how you know how a

1:19:44: lot of people with like their Standalone headsets they they still want to use like their lious trackers so they can

1:19:49: have full body but obviously the coordinate systems don't line up yeah uh and so they have to do this whole song

1:19:55: and dance with like a Tracker and like move it in like figure eights around the room and wiggle it around to kind of align the coordinate systems using some

1:20:02: algebra and you know that's prone to some drift over time but like I I thought of something

1:20:11: that I'm I'm surprised nobody's Done Yet CU I I think it could

1:20:16: work um is if you were to say like stick a Tracker to your headset right yeah um

1:20:25: like you just velcro it there tape it there glue it there whatever and you assume that that tracker is never going

1:20:30: to move from that spot if you then do that whole you know song and dance

1:20:37: once to get the relative offset of that tracker to the headset since you know

1:20:42: that tracker is offset from the headset permanently now why not just use that to align the coordinate systems for the

1:20:49: rest of you know people do that well no no no no no

1:20:54: they they don't though because what they I've actually talk with several people who do that like they actually put like tracker on their headset and they just

1:21:01: correct the drift so what that's doing is that's performing that calibration continuously

1:21:09: it's not using the offset it keeps calibrating like it keeps doing it over

1:21:14: and over and over and over again while you're moving but it doesn't actually use the static offset so if you sit

1:21:21: still for a while it's going to get less and less accurate because taking samples

1:21:26: from where you're sitting and if you then walk around your room it's not going to be accurate anymore oh so it's

1:21:34: so there it's it's a different it's it's the same idea but it's a different methodology where instead of just you

1:21:40: continuous like you do it once and then it drifts and you do it again and then it drifts it keeps doing that

1:21:46: calibration As you move around your room to try and keep it in place and like average it out over

1:21:52: time but like if you sit still it's going to take samples and it's going to get less accurate cuz it's not sampling

1:21:58: your room anymore I'm not sure like I swear I talk with people

1:22:04: like who orig were doing that because like they were like you can either do this to calibrate it but in it drifts or

1:22:10: you just keep the tracker on the headset and it stays in place yes because when they when they

1:22:16: have the tracker on the headset that calibration it's not using the static

1:22:21: offset it's keeping that it's it keep keeps doing more and more and more

1:22:26: calibration so it's as if you are like calibrating the thing over and over and over again but it's automatic with what

1:22:34: I'm saying is you perform that calculation once and then you know the

1:22:39: static offset from the tracker to the headset and then you can just use that offset to align the coordinate systems

1:22:46: rather than having to calibrate continuously I don't really understand like that's pretty much like what I'm

1:22:52: describing is like because like if like if you have the

1:22:58: static offset like like why does it matter because like you're still using the tracker to

1:23:04: calibrate the system like you still need to know like where two tracking systems are relative to each

1:23:09: other yes but once you have the offset you know that offset to the headset you

1:23:16: can use that to align the coordinate systems without having to calibrate

1:23:21: anymore how but how do you align them like when you don't

1:23:27: calibrate you would do the calibration once to get their relative position and

1:23:32: then you know it forever since the headset would be glued but that's the problem is like this it's the tracking

1:23:38: systems that Drift from each other like it's not like the tracker

1:23:44: relative to the headset it's like you know the whole tracking space is like you know accumulating errors so you do

1:23:50: need to kind of keep calibrating them to each other

1:23:56: I I don't know I feel like this could work maybe I'm just not describing it

1:24:02: yeah I prob say like a diagram or something what do you mean or like you know look into like those projects and

1:24:08: because I know like some of them like open source so like it could like you know per and

1:24:14: see uh the next question is plle 744 hi

1:24:20: I was wondering if you could give a little walkr of The Locomotion animation component I love using it to add

1:24:25: personality to my avatar but little unsure of the effect on some sliders and

1:24:30: the relation to each other also I notice there are colliders and Bones like hips and arms and these are important iust

1:24:36: Locomotion than you for B resonite I'm could give a little uh s do you actually have like a

1:24:43: custom one on you or no I do have a custom one do you yes

1:24:50: okay uh H let's see I'm going to switch the

1:24:55: camera to smooth POV do you mind if I use you as a guinea pig yeah I don't

1:25:01: mind so I'm going to grab the development

1:25:10: tool let's see going to move this here so

1:25:16: uh let's open you up actually where's your custom

1:25:23: one uh uh it should be under hang on hang

1:25:30: on let's skip it on camera I apologize um

1:25:37: actually there it is locom motion configuration there we go there we go so

1:25:42: there's a few components like uh you're going to find and every AAR shter much

1:25:48: have this is like metrics so this is kind of you know sort of like just telling the system this is how you know

1:25:55: for example how far apart like the feet are so I can if I change this that's

1:26:00: going to change the default stand so so if you like move a little bit like the feed should go into new

1:26:08: STS yeah yeah just move around a bit there you go you see like no no no stop

1:26:14: now you see like now here kind has like way wider stands or it can like you know lower it and now if you move around like

1:26:21: the feet are going to be really close to each other so you can use that to like you know fine tune you

1:26:28: know your avatar um and like where sort of the separation is for how things move

1:26:34: um there's also like you know stuff like feet backwards offset so like you know if the feet are for example too front or

1:26:40: too bag you can change this so if I I'm going to intentionally put a really big value so you can kind of see what it's

1:26:45: doing so if you move now you see now his stance is actually I push the feet

1:26:51: backwards quite a bit and I push them really far if I put negative number there uh that's going to put him in

1:26:57: front so it's going to be no standing like that and I put zero you know it's like

1:27:03: whatever the default is actually it's going to be like centered and if it's not then it's like

1:27:08: default um you can change you know how far like the F go front and back uh this is kind of you know for the size of the

1:27:14: foot so it like properly tails and so on usually you don't need to touch this as much but um you

1:27:22: know is there uh then there's uh handin metrics that's

1:27:28: you know similar thing but for hands so there's for example shoulder separation you know that's like how far the

1:27:35: shoulders apart from each other if I put them like further further out and if you

1:27:43: move actually I don't think this is doing super much

1:27:49: um shoulder he that's all like how high they are um

1:27:54: should be the hand offet I think so if I put this yeah there we go so you

1:28:00: see like for example like if you want the hands to be like you know further apart if your avatar is you know bigger you can like do

1:28:07: that uh move them back and then like the meat of like you know the actual

1:28:12: animation how it works that's the Locomo animation configuration uh there's a bunch of

1:28:17: categories because the the system is like in multiple modes one right now CRA

1:28:23: is standing so like you know he's standing still there's a bunch of properties for that um there's you know

1:28:28: like for example threshold for the velocity that's you know when um when it's the Avatar to be considered to be

1:28:34: standing still and when it kind of transitions into different modes it can be in air and it can be floating those

1:28:40: are kind of different when it's in air it assumes that it's falling so so if you for example

1:28:46: jump like he's kind of in air but uh floating is when you go like into stuff

1:28:51: like noclip or fly where you you know you're not like you're not going to be like moving upwards or falling so those

1:28:56: are two separate modes so for example for the floating

1:29:02: uh so stay floating uh hand floating Force like if

1:29:07: I try to ramp that up you see now now the hands are kind of like moving lot

1:29:13: and if you move a little bit can move like slow slower than that you see like I

1:29:19: ramped it up so like now they're like very springy because there's like a lot of force apping on them and if I load

1:29:26: that you see they sort of like become more SL Asian wble like

1:29:31: that this kind of know good way to kind understand the system is you know just mess around with the values to kind of

1:29:37: like happens uh it's similar you know for the air but like when when Avatar is

1:29:42: in air Works a bit different so can you go back into physical and

1:29:49: say I jump uh jump for me see like how how like the hands going of move okay

1:29:56: and if I say I ramp this up and now jump you see like the hands are like

1:30:03: doing less of this kind of like motion because there's a lot more kind of drag being applied to their movement like

1:30:08: it's like drag is usually like you know how much it can resist movement and a

1:30:14: force is how much uh like if I set it to zero and I said the force to be really high and no

1:30:20: jump no they're very Jitter because like there's a lot of force they're trying to like get like into whatever pose they

1:30:27: want to be and there's like very like pretty much now zero resistance uh so you know what it's like

1:30:32: one of the things there's a bunch of like you know poses uh do essentially you know where the hand's going to go so

1:30:39: hair upwards pose you have like um there's upwards and downwards so like

1:30:45: when when you're jumping you know there's the upwards phas and downwards pH so depending you know which direction

1:30:51: you're currently moving so for example for up for suppose let's say I put this really high up and now you

1:30:58: jump you see like how they go it kind of changes their

1:31:04: behavior um if I change that you know say I actually put them

1:31:10: sideway like this now jump you see how they kind of spread out because like I'm adjusting the X which

1:31:17: is the

1:31:22: horizontal you can also change like Z is forward so like there going to be front

1:31:27: back so like if we jump like you know see like he puts his hands in front if I look at it from

1:31:33: side see like it pulls them like this and I go undo keep jumping and you

1:31:40: see like now they don't go as much forward so I'm kind of adjusting you know the pose where they should be

1:31:47: during that kind of motion um so there's like a lot of kind of stuff there's stuff like motion

1:31:53: transfer motion transfer is you know when it moves around is how much of the

1:31:58: force from the movement applies you know to to that body part uh so

1:32:04: say I move this up and you see like you see how they much how they now like you

1:32:09: know like in behind a lot because like pretty much like they're it's almost like like they have like 100% inertia

1:32:16: they they will not want to move with the body if I set it to zero and then you move then actually the the motion itself

1:32:25: is you know not applying any kind of force on them they're kind of you know they stay stationary relative to the

1:32:30: body and usually there's a little bit of motion transfer but not all because like when when you move around it applies a

1:32:36: little bit of force but you're also kind of you know holding the hand um there's a bunch of limits like

1:32:42: for example if the feet are going too far and so you can kind of restrict you know how far they go so like if I lower

1:32:47: this

1:32:56: I think this like one less visible uh there's stuff you know like hand swaying like when that's usually when you're

1:33:02: still uh so if you stay still uh there's the swing speed I

1:33:08: increase that like you know is going to go faster the sort of like the idle movement uh that's also like you what

1:33:15: happens to hands when you crouch so like if you crouch they actually change their position and you know there's the offset

1:33:21: so I can for example move it up oh there's actually the center offset um

1:33:28: that's kind of know the direction based on which they position themselves uh uh so if I do this this one should be the

1:33:35: offset so see I move them upwards uh or I can you know adjust the

1:33:42: I can adjust the horizontal so like it can be like have a really big water man and if

1:33:48: you uncrouch they go kind of you know back to The Rest Post and Crouch again you know they go to this post

1:33:56: H that's kind of silly yeah you can kind of play with it like usually the best way like you know to understand the

1:34:01: system is like change the value a lot watch for happens and then I know tweak it to be like you know smaller um

1:34:10: there's stuff what happens to the food like you know when you're in air so for example when you're like jumping you know uh and it's kind of similar to the

1:34:16: hands pretty much you know it's like the Air drag so like if I set it to zero and jump and you move like while jumping

1:34:24: that's going of you know the feet are kind of lagging behind there's not much force applying to

1:34:30: them um so you can kind of tweak how that behaves similar for like moving uh

1:34:36: there's also like you know for the head movement like for example when you jump the head like is going to move a bit so

1:34:42: if I increase that and you jump uh wait is this head Chum

1:34:50: angle I think there might be like a limit on that

1:34:55: vertical Force actually might need to increase

1:35:03: that L the drag try

1:35:09: jumping it's actually not doing as much oh oh right this is okay sorry I yeah I

1:35:16: changed the so this is sort of like you know when you jump like the head actually like also lags a bit and

1:35:21: because I I set the direct to zero now like you know there's nothing kind of stopping that motion if I

1:35:27: increase the drag that's going to you know that's going to stop it like it sort of

1:35:33: like the force is still too strong ah there we go there we go it

1:35:40: binds quite a bit a similar thing you have the vertical transfer ratio so like you know when you jump like this kind of

1:35:46: like the head doesn't want to move I'm going to low this

1:35:56: transversal motion and it should be also like you know there's maximum vertical offset if I said is really high in the

1:36:02: jump going to be like bo bo bo minimal vertical offset also going

1:36:08: to W you essentially there's like sort of a clamp that happens on the head if I if I

1:36:16: override is out of the range I can make it the real Goofy

1:36:28: so I

1:36:34: jesus [Laughter] yeah wow see this happens when we have

1:36:41: no drag I'm so excited for the big performance update I'm so excited I can't wait on

1:36:48: myness and see I've increased the force the force is like what's what's the force is essentially what's trying to

1:36:54: return it back to his normal position so it's kind of like a spring it's trying to like move it forward and the stronger

1:36:59: it is the faster it goes the problem is there's now nothing slowing down the force because the drag is zero so if I

1:37:06: increase the drag you know that kind of dumps the

1:37:13: motion so springing uh there buch already know when they head this floating like like what kind of force

1:37:19: applies to it and there's like you know swaying like when the has just kind of looks around so if I increase

1:37:25: that you know no we don't actually need to jump uh forus one and there's minimum

1:37:30: speed there's a max speed so I can like you know

1:37:37: increase I'm dancing dancing oh and there's also like there's like minimum

1:37:42: maximum speed and there's like speed speed which actually influences how fast like it moves between these two

1:37:50: values so like

1:37:56: so like if I set this to low like you see it goes slow for a while and then like goes fast and it's slow again and

1:38:02: if I like make it really high then like it each period is like way

1:38:09: shorter there also like a bunch of stuff for fingers you know how they kind of curling how they're kind of like moving around there like offsets being applied

1:38:15: to them so can get details and then like the big meat of the things is something called Gates uh gate is you know it's

1:38:24: sort of like a way your legs and your entire body moves depending on the speed you're kind of going out and each Kate

1:38:30: it haser speed uh there's going to be you know that's like the speed where it should be active like fully active at

1:38:37: and you see there's like zero that's essentially one like when you're stationary uh the next one is going to

1:38:43: be uh let's see reference speeds so like one that's

1:38:49: usually like you know slow walking and then like you know there's going to be another one like when you running and

1:38:54: you can add like you know usually there's these three there's like you know the walking gate and then there's the running gate uh you can add more and

1:39:01: it's essentially transitions all of these parameter parameters smoothly transition as you know change your

1:39:08: moving speed so if you're going slow like if you're just going to walk around it Move Your Body moves a bit different

1:39:13: versus when you run around which kind of you know does like you know your hands kind of start swinging more and

1:39:20: such and for each gate um there's a bunch of kind of you know

1:39:26: options let's see where the beginning is so like you know we have the reference speed um there's also something called

1:39:31: menopausing progress and what that means that's essentially when when is the like

1:39:37: when your feet are moving that indicates when the other foood is allowed to start

1:39:43: moving depending on what the other foood is doing if it's at full one your opposing foot like if your one of your

1:39:49: feet is in the air the other foot cannot start moving until that other food has completely

1:39:56: finished and touched the ground again um if you set it to like 0.8 or say

1:40:03: 0.6 then your foot like if you're moving like the foot

1:40:08: can actually start moving when the other food is still in the air and this says

1:40:13: it can start moving when it's 60% you know through his motion so like once

1:40:19: it's 60% through motion the other foot can lift up and start moving as as well so you get a period where both of the

1:40:25: feet are in the air at the same time and that usually happens when

1:40:31: you're running it doesn't happen when you're walking that's like why it's at one but you see when it's when you're

1:40:37: running that value is 75% and it's because like you know when you run there's a period of time where

1:40:44: both of your feet are in the air uh there's going to be a bunch of like you know this like smoothing time

1:40:50: for like you know like when it kind of transitions there step down angle uh that usually influences you know how

1:40:55: much your foot tilts so like if I set it really high you see that's very extreme

1:41:00: now like the feet are you know the feet are essentially tilting a

1:41:09: lot I'm going to change that back uh there's stuff what happens to the hands

1:41:14: you know like there's the drag as well this works the same you know when you're in the air except like when you're in

1:41:20: air there's a swing distance you know how much they're kind of like doing this kind of motion there's the offset that's

1:41:26: sort of like you know the center around which the hands are moving so if I set this you know I move it upwards when you

1:41:32: start moving slow you know your hands go to this pose and then they will swing

1:41:38: around this point so you can you know kind of do that I'm going to move them back uh this

1:41:44: the center of set is like usually when they like rotate and the swing Direction

1:41:49: and if I set this to say one they will only swing like you know along

1:41:55: the z-axis but I could also you know make them swing just on the y- axis if I really want to so as you move you know

1:42:02: they're going to like they're trying to move like an up and down but they're also kind of

1:42:07: getting stretched or I just do this I'll do like this there we

1:42:13: go you see and they now they're kind of swinging horizontally which doesn't really make sense but you know helps

1:42:19: kind of demonstrate the point this sort of like the direction in which they all swing I'm going to change this back to what it

1:42:26: was uh there's Arc Peak uh I think the arc Peak that's like when when it's

1:42:32: doing the swing motion you know because the normal

1:42:37: swinging you have you know your uh you have like your you know Center Point

1:42:42: that's around its swings and then you have the direction so say the hand you know will swing back and forth but

1:42:51: usually you want you want to Arc like this so the arc Peak is essentially like

1:42:57: you know it's a offset so the hand will kind of go like this or maybe you know it goes like kind

1:43:03: of outwards it's going to be going like and you're determining you know

1:43:08: that kind of like offset um if I try to increase that I

1:43:15: can like you know say put an extreme value there then as it

1:43:21: swings you see now it's doing like an extreme Arc where it's going

1:43:26: upwards as it moves around uh there's another similar thing

1:43:31: what happens to fingers you know it can kind of curl them change like you know how they behave uh there's what happens

1:43:36: to the head you know how much smoothing happens the bobbing offset so like if I

1:43:42: change this you know that's much how the head is like bobbing horizontally like when

1:43:48: you're moving because like some people when they around they will be like you know some are more like stationary you

1:43:54: know so like people can move like different ways a horizontal bobbing there the angle

1:44:01: so so moovie can be like you know doing this kind of

1:44:07: Motion Set it back to zero there's vertical bobbing offset there like you know going up and down and all these are

1:44:14: kind of combined you know to produce the final motion uh there's angle Offset you know

1:44:19: that's like kind of going like that so if you walk I'm looking stra right now oh that's the

1:44:26: offset um I want the angle there we

1:44:31: go so you see it's kind of like bobbing like that the offset is like the default one so like for example if you run the

1:44:39: offset you know would be no no I mean like don't you um generally if you're around you know like you might til your

1:44:44: head a little bit downwards so that's your kind of base and then like your head is popping up and down a bit uh it kind of covers like you know

1:44:52: what lot of these the uh important ones like well this kind of all important but like kind of skipped over the fot travel

1:44:59: ones so the fot travel distance is you know how much the feet actually move like you know how far they moved in this

1:45:04: Sil motion so if I said this to be really low and if if you walk slowly you see he's doing like little tip Taps

1:45:11: because like the feet are not allowed to move too far and the more I make it the longer

1:45:17: the stride is going to be so now now I set it really high and it's going to be making really long strides

1:45:25: so I'm going to leave it back uh their sideway distance ratio

1:45:31: um I actually forget what this one is exactly there's back on ratio there's

1:45:36: the max angle when they kind of like you know how much they tilt uh influence turn influence that's you know when

1:45:41: you're turning how much that kind of affects the travel distance and you also apply offset so you can for example you

1:45:47: know if you walk you know now the feet are kind of like sideways you can change the center usually just adjust the back

1:45:54: and front for example if I set this to zero and you walk the feet can be like the

1:46:00: two in front it's kind of changing where the feet are being

1:46:06: placed um there's the step height you know it kind of changes you know how far how how upwards does the foot go when

1:46:12: you walk you see now he's like making big steps but usually when you walk like you don't actually move them upwards as

1:46:19: much uh step down high do like I know when it's kind of coming down Step Up Power that's kind of like you

1:46:24: know what shapes you know the path so like uh it's essentially like a power

1:46:29: that's applied you know to the height it would be uh Step Up velocity multiplier

1:46:35: this one's like interesting one so like what this does is like when your foot is about to leave the ground it's like this

1:46:43: value is what makes it kind of spring up and this usually happens when you're running it's like when the food leaves

1:46:48: you kind of spring off and the food is you know starts traveling upwards before like you kind of move it downwards you

1:46:54: know to kind of place it back and I set it on Extreme value so like the feet are just kind of shooting up um let's see

1:47:02: where was this uh step height uh I lost my

1:47:10: bearings angular velocities the B angle this hands am I blind have C step a

1:47:17: velocity multiplier so we make this lower and you move around you see the Fe like blink

1:47:23: long usually doesn't happen much when you're walking it happens when you're around because when you're around your food like really Springs

1:47:32: up so this kind of covers like in all of these parameters you can also add you know more of these Gates as

1:47:39: well um to kind of like you know refine how it works at different velocities you can

1:47:44: change when it kind of transitions between them because usually finding like good values it's it's a balance

1:47:51: between um you know realist like like realism but also like you know practical

1:47:56: because often times characters you know in VR we actually move like way faster than you would move

1:48:02: in real life and making that motion still look real that can be kind of like you know challenging so we have to kind

1:48:08: of find like a good balance for these but I think that kind of covers

1:48:13: everything like is there s is there like anything like I anything I should mention or no I think he gave a pretty

1:48:20: comprehensive like overview of it I think we could spend like all day talking about it just because there's so

1:48:25: much you could do but like yeah there's a lot hope hopefully this kind of helps um

1:48:32: I'm going to check the time yeah we're actually kind of running out of time so I have to kind of cut it down there but

1:48:37: I hope this you know this helped um this help kind of understand like you

1:48:42: know the system a bit better and what parameters do so and we got a bunch of questions so we should get into those

1:48:47: well there's two of them um I need to respawn yeah

1:48:53: respond fine I feel

1:48:59: fine so yeah that's um that's what that's kind of how that works G I do

1:49:06: recommend like if you want to you know watch some of my devlog videos on that because I can of play with those parameters as well there's also like a

1:49:12: visualization mode you can turn on uh but anyways uh the next question

1:49:19: is from platipus 744 hi I was wondering if you could give a a little oh that's the one we just answer so sorry so yes

1:49:26: that's uh that's that's the walk through I hope I hope that helped uh next question is from bitar

1:49:34: IGN I wanted to make a custom context menu background recently and wanted to fade it out like the rest of it when it

1:49:40: opens closes when the laser is near Edge I found context menu component a lurp field that controls the fade however the

1:49:46: SW context menu is on user rather than Avatar so accessing the fuel is impossible since the source won't work

1:49:52: after switching sessions do you think there's a way I can achieve that or should I make a GitHub issue I don't

1:49:58: think we expose it right now like I probably make a GitHub issue because there should be nodes for Access

1:50:04: actually let me just do a quick check if you make a custom context menu item like

1:50:10: it's going to it's going to behave how all the other context menu items are on your like on like the the circle here so

1:50:20: are you like manually injecting an item that's the only time I could think of when that wouldn't

1:50:25: happen because if you if you use the context menu item Source components like you're supposed to they will just add

1:50:32: another item and it will behave like the rest of them I think they're adding like a custom background to it so I would

1:50:39: probably just make like get reest because we do have this node but we don't have like one that like shows you

1:50:45: how open it is and I think that's something I could probably add like for the animation of it so like

1:50:51: you know just make a good isue like I don't think there's like any way to like really do that without any sort of like

1:50:57: you know hacking around I tell you what if you make a g isue I'll do it there

1:51:04: go add more note I more notes but yeah this actually

1:51:11: covers all the questions uh we got 9 minutes left so if you got

1:51:16: more um if you have more questions you know ask them now or you'll have to like

1:51:23: you know put them like to the next one next week um but since there don't ask like questions that are

1:51:30: like can you please describe your philosophy on the universe you know like

1:51:36: not keep this for Star yes yeah sometimes like people can

1:51:42: like really complex questions when we're closing and like like we don't have time anymore um like but they kind of like

1:51:49: your free to ask them you know uh your pretty should ask them you know like the next time as well when we kind of get

1:51:55: deeper into them um arasmus is asking self cleaning cash I it's on the GitHub

1:52:02: it's something we want to add but it's like compared to other things is not as high priority right now um but it

1:52:10: they'll happen eventually and if it like going want to happen soon they put like a new up for

1:52:15: on it it's one of those things where it's like um you know when it comes to prioritization it's like you can kind of

1:52:23: get around the problem by cleaning the cash you know yourself it's not

1:52:29: ideal but you could get around it you know versus something like for example Performance you can't really do super

1:52:35: much you know we need to optimize things which means you know we put that we give that a higher

1:52:42: priority because there's like no of work around for it uh and it's like something that's going of you know hurting things

1:52:47: more right now but we eventually want to like you know prioritize like the other things too especially once kind of so

1:52:52: the more major problems are like resolved also since there's not too many

1:52:57: other questions I um do want to like showcase this map because one of the

1:53:02: things um uh one of the things actually the

1:53:08: question platipus 744 is asking there are some components called Locomotion animation body collider own bones like

1:53:14: hips could explain their use uh so essentially what do components do like when your hands are being positioned by

1:53:20: The Locomotion system it checks for collisions with the body so like the hands will you know not intersect your

1:53:27: hips they will not intersect the body you know and whatever else you might have on your avatar going to know they're going to be like the hands are

1:53:33: going to be pushed out uh what a component does it essentially says this

1:53:39: collider um you know is meant to be checked by The Locomotion animation that

1:53:45: way any colliders like for example if you have like you know like a custom menu or something uh it will ignore that

1:53:52: uh is only going to check the qual are marked with that

1:53:57: component so uh the answer that and what I'm going to do this world it uses um it

1:54:06: actually uses like the new spherical harmonics to control the dynamic liting if you're checking this word out I'm

1:54:13: going to I'm just going to go back to the spawn if I can find

1:54:18: it there we go there's a toggle here uh real time Reflections and what it

1:54:26: does it puts a reflection Probe on your head and then uses that to control the ambient lighting for the new components

1:54:32: that uh have been added if I turn this off you can see still kind of looks okay but like as I move around it doesn't

1:54:38: change and then there's like this cave if I go down here I'm actually going to

1:54:45: change this to third person so have like a little bit more

1:54:50: context uh if I go here here there's this cave and I go inside

1:54:57: of it you see it's kind of bright in here there's a lot of like you know ambient kind of

1:55:03: light and this is usually you know how the maps are because there's like you know shared Global liting but like cave

1:55:09: like there's barely any light coming in so it shouldn't be this bright so if I go back outside and I'll go back to the

1:55:19: spawn I can find it oh there it is and I turn this on you can

1:55:26: immediately see like you know it's kind of Darker here it's like more contrast if I come into the sunlight things kind

1:55:32: of become brighter if I go into dark you know it's darker again and it kind of updates you know the light

1:55:40: thing based you know where you are in the water so give you a shade it kind of just lowers it you know this nice

1:55:45: contrast outside and everything becomes brighter and then if I go into the cave

1:55:53: and I go inside it's actually properly dark in

1:55:58: here and the funny thing is because like it's it's basing on the probe like if I go here things like this like they're

1:56:03: actually oh you can actually see it there's a cam I it like doesn't there

1:56:09: but ERS in the preview um I'm going to remove it at this point um if I open

1:56:14: something actually let me Spawn do I have anything emissive uh actually I'm just going to

1:56:20: do a light so I do light you know just kind of

1:56:27: illuminates and if I delete it it's dark again and I get

1:56:32: outside and it's bright again it's really really neat so this is

1:56:38: like one of the things you can kind of you know do if I do the jump that does it you see like how it kind of how the

1:56:44: jump kind of changes the elimination too it's a very

1:56:51: cool new thing you can do with the system it's not like uh you cannot do

1:56:57: you know since the uh ambient light is global you cannot like you know it kind

1:57:02: of changes everywhere As you move around um it's like one of the kind of

1:57:08: limitations one we probably going to keep until we switch the game like you know the rendering engine uh but it kind

1:57:15: of you know shows that you now have a little bit bit more control on the lighting in the world and this map is

1:57:20: like you know making a really good use of it and but I was asking this word is

1:57:25: called water park uh it's uh it's a published War it's made by one of our

1:57:31: team members Rian uh and he did like a really good job like it's very optimized as well

1:57:36: like it loads really fast uh it's kind of cool like it's nice and sunny uh he said like he actually built it a water

1:57:43: park that's like near him so it was kind of an inspiration for it um and like you

1:57:48: can you know you can just check it out if you go into the world browser and Ty Water Park so definitely check it out

1:57:54: it's kind of funny being in here to because like it's like in the middle of winter here and now it's like nice and

1:57:59: warm in here virtual summer it's virtual summer

1:58:06: I mean it's summer in Australia yeah this is just you know just in Australia right now

1:58:15: virtually but yeah um so it pretty much kind of covers everything I think so so

1:58:22: we don't have any more questions we got about minute and a half so I'm going to know start

1:58:27: closing um I also check if there's anybody to raid because like we like to raid people uh let's see anybody else

1:58:36: streaming uh I think there's on a Creator Jam that I can see right

1:58:42: now let's see anybody else streaming night oh no there's noon I'll send

1:58:47: people nook's way uh she's working on a

1:58:53: she's working on the Avatar world the community

1:58:58: one so I'll send everyone uh Hairway but before we do thank you very much for

1:59:04: watching thank you sir you know for being around help kind of explain things Serv again epic for The

1:59:10: Locomotion um uh thank everybody you know who supports us like you know B like patreon

1:59:16: and no stripe and again uh if you can you know uh please are switching from

1:59:22: patreon to strip like we get about 10% more uh from the M from the same money

1:59:28: you you pay which helps us a lot um and in general you know like

1:59:34: everyone like thank you for being part of this community thank you for making cool stuff you know hope everybody's kind of doing well working on MMC stuff

1:59:42: uh I can like cannot like wait like to see like what if I made at the end of the month and also just to repeat the

1:59:48: PSA the Legacy particle system is going away to tomorrow it's going to essentially going to be gone that's

1:59:55: going to finish that phase of the performance update every system is going to be automatically converted to uh um

2:00:02: Photon dust that way you know going forward um you know we we just have like

2:00:07: you know this custom system uh the audio system is going to be a work next and

2:00:12: with like once that is done the big spling is going to be the main work and

2:00:18: that's what's going to give us the big performance boost and you know very excited for that so thank you very much

2:00:24: for watching thank you for all the questions uh if you um if you're like watching this later you can also like

2:00:30: ask questions in our Discord if you you know if you can make it uh and like I hope like you know see you

2:00:39: I hope I'll see like many of you like at the next one so thank you very much uh I'm going to get the raid

2:00:47: ready s

2:00:54: did I SP it right yes R has been

2:01:03: created uh it's getting ready everyone ready say say say hi to

2:01:10: nooki from from us byebye bye

2:01:16: everyone H oh there we go

2:01:24: over 46 people nice