The Resonance/2025-03-30/Transcript

From Resonite Wiki

This is a transcript of The Resonance from 2025 March 30.

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:00: start recording actually let me Okay so should be live going to post an

0:07: announcements uh where's the

0:14: window that should be okay

0:22: uh posting announcements [Music]

0:29: post this [Music]

0:35: one post the other one there we go and put sky

0:44: one post there we go

0:49: hello hello hello do we have people in the chat

0:57: let me also open it up so I can make sure stuff is running fine hello oh we got Navy and Grant are

1:05: we going with Schnoped hello and Griffin Phillis schnoppy the Schnoe what is

1:10: Schnoe i know Schnoped Schnop it's new that is

1:17: new schnopit asterisk

1:24: hello check the fox hello everyone welcome is everybody okay can you hear

1:29: us fine can you hear us in your ears

1:35: no brain we got calls hello hello oh wow i can't believe we have a

1:40: schnoit pointer yeah we got schnopet no it's being dear referenced oh you see like it's it's it's a the

1:49: schnoid like it's a it's a garbage memory address so like if you try to d reference it it will it will make your

1:56: program just spontaneously explode like you know it's a segmentation sick fold hello everyone

2:04: welcome to the resonance uh I'm Fxus i'm here with Syra and we're doing another episode of the resonance uh it's sort of

2:10: like a Ooh and we got the cheer from Jake the Foxer thank you audio party

2:16: thank you Jake i'm going to make it a big Thank you

2:23: um so this is u sort of like a office hour/odcast you can ask anything about

2:29: the internet anything you'd like to know whether it has to do with like technical stuff like it's development with the

2:35: theme community whatever whatever like even like just kind of personal stuff like you want to kind of ask us things

2:41: um feel free to ask whatever um some questions we might redirect to other

2:47: thank you so much for the subscription thank you very much cab yes gifted sub to

2:54: uh I'm not sure it's cutie mow

2:59: Oh um so yes uh you can ask us pretty much

3:04: anything uh we might redirect some questions like to like other office

3:10: hours for example we just do something to do with moderation we can give you kind of basic answer but uh redirect you

3:16: to the office hours for the moderation team which actually happen like an hour and a half before this one so like if

3:22: you haven't seen it today like you missed it you'll have to wait for next week but um you know they're weekly so

3:28: like they're pretty regular interval uh we will also first go into questions

3:34: from discord uh because we have a channel for people to ask questions in

3:39: advance uh but you're feel free to ask your questions thank you Jack oh my god

3:44: glitch glitches cuteness glitch you've been proven cute by twitch bits

3:54: can't argue with that yes he's got you there yep hold on let me let me let me

3:59: make sure this is actually on stream there we go and glitch is just

4:07: what kind of argue with that oh hey there's more

4:14: evidence more talking but yes uh feel free to ask questions you know in

4:20: advance um oh no feel free to questions right now in the Twitch chat the only

4:26: thing make sure you put a question mark in it that way it kind of pops on our chat thingy and uh we can like you know

4:32: say dies so um with that let's get started uh I'm going to find a Discord

4:38: thread uh there's a bunch of questions in there so

4:44: uh let's see so the first question from Discord is from uh

4:51: Papine now that work on audio is starting can you share about any additional features fixes that you are

4:56: prioritizing to include in the rework in particle I'm wondering about issue like more realistic accurate default voice

5:02: volume and roll off that would provide significant improvements to audio immersion accessibility items of

5:08: interest improve default volume roll off profile for the realistic pleasing effects component flex access to audio

5:13: streams without compression uh ability to add custom effects to things like uploaded procedural input responses

5:20: components flags nose pre-made with common DSP effects um audio has potential automakers and I feel much

5:25: more polished since uh sound has such subconscious effect on the quality of experiences thank you for bringing it in

5:32: uh sense of space and I'm eager to start testing some of pro audio use cases that this could enable things so there's a

5:39: few things in this question um so first I would actually recommend and check out

5:45: our YouTube channel because uh we got qu we got a question about you know what new audio features are going to come

5:50: with audio like a few times and we actually have I think two videos on the

5:56: YouTube channel that are like you know dedicated to answering that question so it might be worth checking out um what

6:02: are specific questions uh for like the better like roll off and the realistic and pleasing effects yes

6:09: that is something that we can address with audio uh because we are essentially kind of like with the current system the

6:17: rolloff is pretty much like you know kind of mostly in control of the unit engine uh so like you know whatever math

6:22: it's doing you know it does its own math with the new system we're calculating

6:28: all of that on our own which means you know we can plug whatever math we want there whatever like you know mechanism

6:33: we want to do um

6:39: um probably don't want to move it like too much so um so whatever kind of mechanism you

6:46: know like we'll be able to kind of address it we'll probably make it like match the units by default for

6:51: compatibility just for existing worlds but there's probably going to be you know more options more kind of control over things um the one issue with that

7:00: specific issue though is like um there's still some information I think that we're kind of like missing to be able to

7:06: figure out what the cause of the problem is so if like you know we don't have that we might not be able to address it

7:13: like with the initial release but at the very least implementing the audio engine

7:19: it gives us full control on how the attenuation is calculated uh so you know if we don't

7:27: address it with the MVP we'll be able to address it later um the other part is uh

7:33: component flags app access to lower streams without compression uh that's something that will not come with audio

7:38: that's not actually even the responsibility of the audio system what uh the audio engine is doing is mostly

7:44: just like you have you know a bunch of audio outputs in your world they're like emitting audio uh and the job of the

7:51: audio engine is to figure out which ones are near you then you know sort them by priority based on you know the priority

7:57: volume and so on uh and then uh render them out apply like you know whatever

8:02: specialization effects you know distance like roll of effects and so on mix them together into like a final buffer and

8:10: you know and then like you know provide the output so it doesn't really do stuff

8:15: like you know like decoding the audio that's actually kind of separate from audio and that's something we already did do in France engine on our end um so

8:23: that's kind of you know separate so anything that has to do with the specific audio streams that's not part of this in general I would say like um

8:32: access to the lower audio streams without compression like with the compression that part might be kind of difficult because like

8:39: uh for you know for this to kind of work over network the audio needs to be

8:46: compressed like you know my like for example Cyrus's voice when he talks um is being compressed with ous codec and

8:53: because of that you know the like the bit rate is something like 20 kilobits per second if it wasn't

9:00: compressed it would something like a few megabytes per second so like you would absolutely murder a connection if it was

9:07: didn't have any compression so like I would say that's very unlikely you know

9:12: you're very unlikely to get access to you know the original uncompressed stream for stuff like that however there

9:19: is a separate project uh this actually relating to the other questions like um

9:25: uh components flags no pre-made with command DSP effects um protoflux uh

9:31: there's a plan to have a DSP system which is going to let you know wire things up so you can like you know

9:37: create filters and audio generators and do like all kinds of like you know procedural and filtering stuff that is

9:43: separate project from the audio engine uh that's going to come at some later points that's not going to it's not

9:49: going to come as part of the audio engine um but it's also something that's coming in the future so it'll show up

9:55: sometime but not as borders audio um if you would like to you know see it sooner

10:00: uh I recommend going to GitHub avoing that issue that you know gives it kind of a bit more priority

10:06: um and like you know um what else can I

10:12: say uh this kind of open up just like you know a lot of options for like doing kind of like you know processing things

10:19: uh similar thing ability after custom effects or things like upload procedure impulse responses i don't know exactly what you mean by that like it's pretty

10:25: much the same as the proto flags like you know you'll be able to do like pretty much whatever you want to do to

10:32: audio you know you'll be able to process the how audio samples or generate them and apply virus filters to them so

10:38: that's a separate feature um and I don't think like that one's

10:44: going to open up other options oh I remember the other thing uh there is also video on the DSP

10:50: uh on our YouTube channel also i strongly recommend giving that one a watch uh that delves into like you know

10:56: more of the details how it's going to work um what features it's going to

11:01: offer uh next question is from Titto uh

11:08: technical buggy question one the current unity audio system if audio is at the

11:14: end of its play time the unity audio system has to activate stop to give illusion of single play audio but for

11:19: some reason it will play millisecond of uh of that start of clip after countless

11:25: of mentors if the process is too slow the stop will delay audio loops again will this be persistent with audio

11:31: that's actually so there's a few misconceptions in that question like that like the actual playback of the

11:38: clips that's not that's not handled by Unity at all uh that's handled by Fuks Engine so like we are not using we are

11:45: not using you know like the Unity kind of playback functions at all

11:51: um it's like it's something that's already handled because like the current current audio system is a hybrid and

11:58: what audio will be handling is pretty much what I described before is you know it's sort of just collecting those sources but the actual like you know

12:04: playback of the clips that's already handled on our end in FS engine and currently we're you know just piping the

12:10: data to Unity but Unity has no idea of like you know of any kind of playback like happening um if there's like a

12:17: multicon of starter clip like that's something that might get fixed as part of like the audio integration because

12:22: just having better control over how and when is the audio when are the audio

12:28: clips sampled we can kind of give like you know more data more kind of events so some of the things uh will become

12:35: more efficient like for example uh right now one of the problems with the current system is we don't have a way to

12:41: communicate to Unity easily that some audio just doesn't have any data it's like not playing anymore so you can have

12:48: like you know empty audio outputs in the world but they're still taking you know

12:53: they're taking you know uh a slot for the audio number of audio clips you can have in

12:59: the world and they're kind of blocking some other audio clips that might actually be playing with the new system

13:05: we can actually add mechanisms so it can communicate that because we have control over like you know both sides of the

13:11: system and make that more efficient uh that will also allow

13:17: um you know does fix up some issues like for example with timing and other stuff so there might be like you know bunch of

13:23: bug fixes like that the only thing I would make sure make sure this is reported on our

13:28: GitHub because if it's not an issue that's reported and we and we don't have a replication case for it uh it might

13:35: not get fixed because we just won't really know about it we won't have any like you know details about that issue

13:43: um oh the next question is crossed out

13:49: um just a general request like please keep a discussion in the questions chat

13:56: because this is making it a little bit difficult for me to kind of parse what's going on because there's a bunch of discussion going on and now some of the

14:02: questions are crossed out so I don't know if I should even answer this or

14:12: uh I don't know if I should like I guess I'll skip that one yeah if

14:20: it's crossed out I'd probably just skip it just if if you're going to ask question like you know that you want to

14:26: discuss with other community please use other channels don't use this one because it's making it a little bit

14:31: difficult for me to like figure out what's going on um uh the next part is design questions

14:39: one will be bring about an NPC to forceable switch between left and right hand or at least no that switches it got

14:44: the whole two items for NPC homies um we might add like some more like dual-handed kind of interactions uh I'm

14:51: not sure right now like on the specifics but we might the only like weirdness is like it makes it a little bit more

14:57: complicated for users so that's like I feel that's more advanced user functionality sort of wielding things

15:03: because you know we only got like one kind of like you know like mouse that you can use for interactions and you are

15:10: kind of using both of the buttons so it's it might get bit weird so I don't

15:15: know it might be like it might be too niche you know to kind of like do some of the stuff like for

15:23: example using two tools at once uh and like you know having different buttons to like interact with each tool because

15:29: that it just I don't feel like that kind of like interaction would be

15:35: fluid which makes it you know not very worth like the implementation time we

15:40: probably make it like more like you know make it easy to switch between tools if you want to like you know um if you want

15:48: to like you know maybe for like holding items that could make sense you know you grab a thing with one and kind of keep

15:53: holding it and you can kind of move around and you don't need to keep like holding a button so like there's interactions there could be

15:59: added uh two uh is there plans to allow modifications to the menu maybe allowing

16:04: users to create their own menu design turning the menu into cell phone Windows 95 with sounds you can already do that

16:11: um the dash it's using a system yeah thank you BD for the subscription

16:17: thank you and also Climberj for the previous one that we didn't mention oh yes sorry I missed that thank you

16:22: Clumberj too for the subscription um but yes I was saying there's something you can already do our

16:29: dash uses a system called facets which are sort of these modular pieces of UI uh and you can know you can like pop

16:35: them out you can save them to inventory like we actually have the temp well templates for all of them so you can take them apart modify them make your

16:42: own versions even uh and you know customize like your UI um they're

16:48: actually even since you mentioned like you know the Windows 95 popup like with sounds our team member ages he actually

16:55: made sort of Windows 95 98 like style versions of the facets i should say I

17:00: could have pulled them out from the inventory um so even that like already exists uh so it's going to show in a

17:07: second uh there's also another question uh will there be settings option that disables

17:13: one to nine developer hotkeys right to hold left to inter control system per completely different left or mouse but

17:18: interaction where both red and arms is based on the right button so it sounds

17:24: like you're asking for like you know bindings thing so there's two things uh the one to9 hotkeys for the tools what

17:31: we actually want to do is when we uh when we rework the UI for inventory

17:38: um we're going to rework that to be sort of like a special inventory facet where you can like you know put things into

17:43: slots that can be bound to specific keys that way you can put whatever item you

17:48: want into those slots as I was kind of showing you know those kind of versions of those facets

17:54: um so um that's going to kind of become more flexible so you can kind of replace it with whatever frost that you want if

18:00: you don't want it you can just heat it out uh so that's going to be work that way for the other things that would be

18:06: like a binding system that's something else you want to do like so you can kind of adjust you know which keys and which buttons do what uh so that's also going

18:14: to come at some point um and they're like giving like some specific like uh

18:19: there's like a bunch of things like ways that players create their own character control interactions throw held item

18:25: rotate like parkour slide there's like a bunch of like there's like literally lots of different features because like

18:30: you know you're asking for like buttons to do like parker slide or throwing items but like we actually need a mechanism to you know do parker slide or

18:38: throw items in the first place and then like you know binding buttons is other part so we would need to add those um

18:45: add those things just a few of them yeah yeah so like you

18:51: can like find these you can kind of replace them uh if you'd like and you can make your own like lots of people make their own versions and modify them

18:57: so um yeah options and if you're wondering if you're wondering where these ones in particular are these are

19:04: already in the ResNet Essentials/Facets/reso98 if you want to use them yeah

19:12: uh next question is from Josh uh will we see the return of official helyses

19:18: hosting worlds especially social ones i feel like they're a great idea and method to show worlds that might be

19:23: underused to lighten the load of users that might not have the specs in turn to host potential large world um probably

19:30: at some point we don't have any specifics right now to

19:35: announce next question is from uh uh Denmal hi I want to know are there any

19:42: plans for dedicated external servers for Resonite like for Minecraft instead of relying on Resonite servers for certain

19:48: things there could be an option to go the worlds hosted on a non-resonite server open inventories hosted external

19:55: servers like a mod allows you to use local search inventory or even be present in multiple worlds hosted on many different servers thanks so there's

20:03: like a few different things in that question because like you're talking about like you know hosting sessions but you're also talking about inventory and

20:09: those are actually very separate things um so

20:15: um one thing is you know like hosting the session that's sort of like you know the world you are in and you know the

20:22: people you communicate and it's sort of responsible you know for whatever is happening in that world whatever modifications whatever you know

20:29: communicating with the users in the session and so on um you can you know right now you can host your own sessions

20:35: we would eventually want to kind of provide sort of manage service so you can like you know for um you can

20:41: essentially just like say like I want to host this world you know we our system would spin up a headless for you you

20:47: know loaded world once everybody leaves it spins it down so that's something we would like to provide in the future as

20:53: well um there will be like also like a paid service as well um because hosting

20:59: the servers it does cost like some resources but it would make it way way way kind of easier to do that because um

21:05: the way we want to approach it is make it you know very integrated into Resonoid because right now if you want

21:10: to host something you have to set up a headless you have to find a server you have to run you know scripts you have to

21:15: create a config file and so on and our goal for our own system would be like

21:21: you know you go like in a word browser you find a world that you like and you're like I want to host this on a

21:26: headless and it just does everything for you um so we would we would like you

21:32: know want to offer that kind of thing the other part of the question is you know like inventories

21:38: um inventory like that's uh part of the cloud service so that's something you know that's not dependent on any

21:45: particular world and we don't really have any plans to like have like a sort of nonresonite version of it because

21:52: that one's a fair bit more complicated because the inventory it's sort of tied into like you know the rest of like

21:58: resonite like where um there's actually a number of different kind of services

22:04: um that are sort of like you know tied into one so like even though it like it seems like a simple system there's actually kind of a lot happening under

22:10: the hood like for example when you're you know saving items into inventory

22:16: um you know it's responsible for doing stuff like asset duplication making sure only like a single version gets saved

22:22: making sure you know that stays efficient but also for most of these assets our system generates you know

22:28: metadata and it generates asset varants which are sort of like efficient versions of those assets that actually

22:33: end up being loaded by the client so there's kind of like a lot kind of going on which makes it a little bit you know

22:39: harder to like thank you noon for the raid being raided uh so that makes it a

22:45: little bit more difficult you know to like have a custom like third party version of it so that's probably

22:50: something that we won't like make available at least not in the

22:55: foreseeable like future um yeah and um if I may if I may

23:02: interject just to uh so that nobody misconstruses it you will always be able to host your own like headless server as

23:09: well just in case you thought we might just want to get rid of that one day we don't want to ever get rid of that you'll always be able to be able to do

23:15: that yeah like we plan like to keep like uh like you know the headless software

23:20: accessible so it's essentially like what we want to do is provide you a convenience option so like if you don't

23:25: want like any of that hassle you can have something that's really integrated but if you really want to like you know dig into on your own like you can always

23:32: access the headless software and like uh do your own hosting on your own hardware with your own kind of configuration it's

23:39: kind of like you know like Minecraft where um you know people um you can host

23:46: your own Minecraft server and you can also you know just get like a service that can host it for you and removes a

23:51: lot of the hassle with it so we want to kind of follow that kind of model

23:56: i just read the rest of those questions or the discussion and it's yeah just discussion

24:02: i don't think I'm going to get into this one since it's like you know discussion so we'll probably move and we're also

24:08: kind of getting kind of far in so think like you know for the questions on discord and again please for the next

24:15: time like try to avoid discussion you want to discuss things use the other channels in our Discord but keep this

24:21: one you know kind of clean for the questions because makes it a little bit more difficult like figuring out like

24:26: what is a question and what isn't um okay so with that that's the

24:34: questions for Discord so let's check what do we have so we got a bunch of

24:39: questions already piled up uh there's the Shnope well this one meant to be

24:45: Schnoped but it's just Schnope uh I don't know but there's a there's a Schnoped with a pointer so we can answer

24:51: that one actually have actually Oh jeez i actually have one

24:57: maybe um so there's like one thing that like uh for those of of you who don't know

25:05: Shope it's almost a thing we kind of started doing where Dr just sense it at the beginning and it's

25:10: like one of the meanings of this is like you know something that at the thought of it it makes you just instantly like

25:17: disintegrate or explode um and we kind of like use it you know

25:22: to kind of like do sort of like little PSAs about some of the issues that we always sometimes face one of them that like ends up kind

25:30: of like bugging me sometimes like that happens quite a lot is uh something called the XY problem

25:38: and this is a very well-known kind of problem like you know in software engineering where somebody has a problem

25:46: X and they think they can solve it by having Y so then they go to developers

25:51: and they ask them can you add Y and the developers will be like that's kind of weird like why would you want

25:58: that and it turns out you know that like they want to solve problem X but they

26:04: don't tell developers they want to solve problem X and as a result you know like it makes

26:11: it kind of hard because when you tell developers I have I want to solve problem X they'll be like oh there's a

26:17: solution Z which is much more fitting much easier much less janky but it can

26:24: be really difficult to do when you tell them just about why and you don't tell

26:29: them about the problem X um and this kind of happens regularly you know with our GitHub like where people ask us you

26:36: know for a very specific way to solve particle problem like they run into like you know something's not working like

26:42: right or something's causing issues and they'll they'll make an issue asking for

26:47: a very like just make these changes and we're like why would you like these are weird changes to make

26:54: um and the main problem with that is like you know like it's it's for us to work most

26:59: efficiently um focus on telling us the problem first what is the issue you're

27:05: actually trying to solve not how you solve it because figuring out how to solve issues that's our job like we are

27:13: the engineers we have like you know deep knowledge of the engine we have deep knowledge of the platform we have deep

27:19: knowledge of like where we want the platform to be heading in the future like you know things that are being

27:24: developed things you know all the different kind of issues so we can find a solution that works the best that's

27:30: like the best solution for the platform and for the weather platform is heading and that will just you know cause us

27:36: least amount of problems but when you ask for a very specific way to solve that problem um one it kind of you know

27:44: ties our hands so like we you know like like asking us to do

27:50: something that might be complicating our work a lot and complicating some of the future work um

27:58: and also like we have to kind of figure out what is the problem you're trying to solve with it

28:05: um so it's like to give you an a practical example

28:11: and I'm going not even going to use something as you know from software engineering imagine we have a chair and

28:19: um imagine you have a chair and the chair like you know one of the legs is too short and the chair is wiggling and

28:26: you're like okay I can solve it i can solve it you know um I can solve it by putting a book

28:33: there but you don't have a book that fits the exact gap so you're like "Okay I need a book that has you know exactly

28:38: this amount of pages." So you go like you know to the shop and you ask "Do you have a book that is like you know has

28:44: this amount of pages?" And the librarian will be like "What why would you be asking for a book with this many pages?"

28:50: You know like that's that's a very weird request and it turns out you know like

28:58: um they might not know you know you're trying to solve a problem that you have a crooked chair but if you go and you go

29:04: and ask "My chair is crooked one of the legs is too short." Maybe they'll be like "Oh here here's a carpenter."

29:12: Actually is that the right word carpenter I think like there's like you know a woodworker that's better word

29:18: there's a this person who's a woodworker they're going to fix the chair for you by actually you know fixing the leg size

29:24: by you know adding a perfect thing for it and that's kind of like you know what the XY problem is like you know you want

29:32: to tell them the root of your issue the problem you're having which is in this case is like your chair is crooked and

29:38: it's wiggling and you don't want it to be wiggling uh but if you if you if you tell if you go and ask somebody hey can

29:46: you find me a book that has this amount of pages it can be hard to figure out like you

29:52: know that the problem you're trying to solve is that your chair is wiggling and there might be much better much better solution which is just fixing the leg so

30:00: I hope that kind of analogy helps to understand better you know like the kind of issue and like we're focusing on the

30:06: root of the issue canon it makes our work much more easier and it also makes it easier for

30:13: you because we can figure out like a really good solution for your problem um you know because if I go back to the

30:21: analogy with a chair if you got you know the book then you still have the issue like you know there's like now a book on

30:27: your floor and now you want to move the chair you know the book is not attached so you have to move with it so like it's

30:32: a very junky solution to that problem but if the leg is just fixed if they're literally just you know glue or nail

30:39: like you know leg extension to fix it then it's much cleaner solution um and

30:45: if you tell us you know your problem we can give you a much cleaner solution as well so that's that's that's my schnoit

30:52: for today let's see do I have a

30:58: schnoit yeah I think I have a small schnolet a small aid i just You have You

31:04: don't have a schnoid we have a schnoy a schnoplet a schnoplet

31:10: um basically um I was working on one of my uh one of

31:16: my friends's piece of flux uh yesterday and I noticed on the slot that the flux

31:21: was on it had a the virtual parent you know to try and make the the like when

31:26: you unpack the flux it like tries to move to a position that appears constant even though it's still parented like to

31:32: the user i Oh man those make me like turn red in the face because

31:40: like it makes me so It's just so messy like it it just makes it really glitchy

31:45: like to work with the flux and it makes it really laggy when you're constantly transforming like all the flux around and stuff

31:53: um don't do that just like hack it normally and

31:58: uh get out of your avatar

32:04: it's a little schnoplet it's a little schnolet okay so we should

32:09: go start with the questions the actual questions uh the first questions we have

32:16: is from SpookyB hi Fuks will res have ability to play avatar animations to how

32:21: it works in PR unsure if it's already a feature or it's possible thanks for your time in advance so um it kind of depends

32:29: what exactly you mean we do want to like expand our animation system and make it

32:34: something you know we can blend between the IK and the avatar so there's going to be um there's going to be systems for

32:40: that in the future um in what exact form they'll take I

32:46: can't tell you right now so it might be different from the way it is in VR Chat it's going to be like similar and

32:51: allowed probably for similar kind of use cases but I can't promise you that it's going to you know work exactly same how

32:58: it does in VR chat but um yes the animation system is something we would like to kind of expound in the

33:06: futures uh next questions uh Grand K is asking does

33:14: Blitto display work for making another window to be rendered to my manually added camera um it might I don't

33:22: actually remember it might have some issues with uh like other screens something that kind of needs to be

33:27: revisited and reworked probably you can try but uh do it at your own

33:35: risk uh next question is uh button for

33:41: what i think they misspelled new session button for new session i don't know what

33:47: this is in context of yeah you need context yeah if you're asking question

33:53: that has like you know anything with what we said please include the context in the in the question itself uh

34:00: otherwise like you know when we get to the question we might have you know went through a bunch of different questions before that and we for we won't have

34:05: like you know the whatever context the question was asked in next question is from

34:13: [Music] cab of bees uh will audio come with

34:18: components or something so things like falloff can be tweaked for a world or will any settings be more userfacing i

34:24: think it would be neat to create sort of spooky audio environment for a horror themed world or things like that um this

34:31: kind of depends on the specifics like one of the things I'm actually thinking is sort of you know decoupling

34:37: uh decoupling the falloff so like you know it's kind of separate component and you can kind of plug bunch of different

34:43: ones make it very more modular similar how the particle system is i'm also 100%

34:48: decided on it because I also don't want it to be too messy where like you know if you want to have an audio output you

34:55: know you you now need like several components just for that um so like you know that's like one side

35:02: but it might be there's like you know few built-in kind of audio like follow functions and then you can have like a

35:07: third mode which is like a custom one and you give it a reference and you can have like a shared one the other part

35:13: would be you know how you're actually controlling the multiple components

35:19: because it almost sounds like you know you want it to be like something that's not even on the audio output itself

35:24: uh but something that's more global and that is something that also might be

35:30: added because uh one of the things I'm kind of thinking is you know doing sort of like listener tweaks

35:36: um where the listener itself can specify sort of modification to the falloff is

35:41: almost like you know creating uh more like more or less sensitive

35:47: microphones you know so like you can say like this this only picks up things that are like really close to it but like you

35:52: know stuff that's like further away it has like a curve that kind of attenuates things so there might be also approach

35:59: where you know that is kind of exposed and you can make it you can make it kind of modify how the audio kind of falls

36:06: off like you know in the world so it's kind of controlled from both sides Um I'm going to I don't have like the

36:13: details yet like on exactly how that's going to be done but like it's something kind of figuring out because one of the things I want to that audio already has

36:20: implemented is support for multiple listeners so you can have like you know

36:26: the main listener but you can also have you know for example um uh you can have like one for the

36:32: camera that's going to be a cool feature where like you know the cameras are going to be able to render audio from its viewpoint and render it out uh but

36:39: also uh you know make like like a little microphone that's like you know lally in the world it's like capturing some audio

36:45: around it and you can output in a different part of the world and you can like you know make it so it doesn't

36:51: capture stuff super far away but only that stuff that's really close to it and that would use that kind of feature

36:56: where the listener is modifying the falloff the other use case for that is you know for more fancier versions of

37:04: like ear muff like you know where can ear muff like you know any sounds you can kind of adjust you can kind of

37:09: adjust the curves a bit um for pretty much like everything so there's probably

37:14: going to be some ways um again not 100% sure on them specifics yet but very

37:21: likely it's going to be some options i that's the benefit of making our system is you know we get to control

37:28: how it works uh so we can like it makes it much easier to do these kinds of features it's actually going to make a

37:34: bunch of things more efficient too because one of the things with the current system is like you know we

37:40: provide volumes for you know uh different classes like you know there's the master volume but there's a

37:46: multimedia and voice volume uh sound effects UI sounds and so on um right now

37:53: when you change those volumes it actually triggers event and it updates all of the audio sources all of the

37:58: audio sources will recalculate you know their volume and send it to unity um

38:04: with this system we can actually like what I plan to do is like add a mechanism where the audio outputs

38:10: themselves are linked to particle group volume and it just calculates it on the fly as it needs and makes it way more

38:17: efficient so it's going to be stuff like that

38:23: um next question is from Lexo um how do you the team motivated to work on Reson

38:30: i feel like most of our team is like very largely self motivated because for a lot of us it's a platform

38:36: um you know that's our home and it's something that we want to see built and then we don't want to give up on

38:45: so a little bit like you know we don't really have to do like anything special like people like the people we have on

38:52: the team are people who really really want to be working in this project they want to be you know part of it and they

38:58: want to make this place better for themselves and for everyone else

39:03: so I would say that's pretty much it i mean like s how how are you motivated

39:10: i mean Fuks is right there's nothing we don't keep people motivated we just are

39:15: you know like it this is our home i mean you know there's there's a there's a

39:22: reason there's a reason we fought for 2 years to save it

39:28: like we we're showing a situation even some talks where some people were like most teams and people would have just

39:34: given up like they would have just walked away but we didn't and

39:39: we did go through hell for quite a while just to kind of keep our dream

39:46: kind of going so yeah we're like very like it's the place is our home and like it's something that really like nobody

39:55: else is really building anything like this it's it's almost like it it feels

40:01: like most companies wouldn't build this because a lot of companies are just focused you know more on you know quick

40:08: return on investment like you know just getting like you know getting tons of

40:14: investment like popping something out quick you know solving problems later but that approach is ultimately kind

40:22: of flawed to making something like this because

40:27: um like you like like for something like this you need to make sure you got your

40:32: fundamentals right and the fundamentals like a lot of them they kind of go like

40:38: like they even go like before I started doing VR where I was like making like this

40:44: kind of um game engine that um all of the concepts are

40:50: you know like in FS engine and there sort of it's sort of like you know set like

40:57: the really really strong fundamentals that allows us to do a lot of the stuff that makes unique uh but it's something

41:04: you know you couldn't really go to a company and like ask for like you

41:09: know like investment on that because like like it's very long term so it's

41:17: um like I don't feel it's very like unique in that

41:22: regard yeah like um the like we don't we don't make this

41:28: explicitly because we oh we think this is what we think this is what people want we're making this because we think

41:34: it's cool and we want to share it with you dude well it's because what we want like it's like one of the things like

41:41: like a lot of this like you know like I'm like I want this kind of thing to exist and I feel like that's like the best kind of approach to building

41:47: something really cool you know and something that gets people interested is because like there

41:53: actually other part is because like a lot of companies like they become like you know like oh like market research what people like you know what people

42:01: like you know are like talking about and just try to like figure out something that might match you know whatever their market research shows them but the

42:07: problem is you know there's there's like that famous Henry Ford quote

42:13: um like where actually I don't I don't remember it like very about him so I might be paraphrasing it a bit but he's

42:18: he was like "If I build you know if I build like what people asked me to I

42:24: would have made a faster horse instead of you know invent like you know making cars." And it's that kind of like

42:31: mentality you know like where that only kind of gets you so far because like generally what people ask you for that's

42:38: going to be some sort of just iteration of like what they already know usually people will not ask you for

42:44: something that's you know fundamentally new on some

42:51: level next question is from uh BD uh

42:56: BD question uh any plans to refactor some of the VR IK setup on asset importer and various setup as avatar

43:03: creator to be more automatable yes uh the whole essentially my feelings for

43:08: the current avatar creator is make a brand new one well some bits like some

43:14: heristics will be reused but like mostly make a new one and throw the current one into the fire which is conveniently you

43:20: know behind us um right there it's going to get thrown into the sun

43:26: so yeah I kind of want to throw that away like there's a lot of kind of weird issues with it like it's going to it's structured in a fundamentally like way

43:32: that like doesn't work well with resite now um so yeah that's going to be reworked

43:40: we also do want to rework the IKA itself because that has like a bunch of issues we want to have our own uh so it like

43:46: you know fits the platform and those components they kind of work with each other uh really well because for example

43:51: for the IK uh we want to make it so you can like you know adjust it more dynamically current one you kind of have

43:56: to initialize it and then like you know it's kind of hard to change it afterwards uh and it's because you know how the original is sort of designed

44:03: because the original is it's a port from final IK um which means it's

44:11: like it doesn't fit with the way platform works super well so we kind of

44:16: want to replace that and as a result you know it kind of puts some limitations on the avatar creator because the avatar

44:22: creator has to be built around how the IK works to some extent uh so we're probably going to rework the IK first

44:28: and once that's done that's going to make reworking the avatar creator to be more dynamic so as you know something

44:34: like you take a model you say that's an avatar it becomes an avatar and then you can just open it anytime make

44:40: adjustments you know adjustments to proxies adjustments you know to where stuff is you can change stuff more

44:46: dynamically so yeah we do want to rework

44:51: it uh next questions from Oz from my understanding duplicating Protolex or

44:58: slots within Protolex means recompiling the node group which could be heavy dependent on the duplication amount

45:03: would future static protolex assets mean they don't have to recompile and spawn duplicated so one yes uh duplicating

45:11: proto flags does um duplicating protofllex does actually have to like recompile that section

45:18: because you're essentially creating even though the code is same you know the system doesn't know that so like it's

45:24: just going to you know make another group which takes more CPU usage takes more resources the thing is you don't

45:29: need the static protolex assets for that uh the problem will be solved by having

45:36: nested nodes because with nested nodes you make only one template and you have

45:41: instances of it they're just referencing the template there's only one compiled variant and the other ones are just

45:47: referencing it so you don't need the static perflex assets you know for that

45:52: static perflex assets they will work with nested nodes because you can have like you know a bunch of distant nodes defined in a static perlex assets but it

45:58: it is not necessary to avoid the duplication thing uh just having the

46:04: nested nodes is going to solve that problem

46:10: next question is from uh uh Bithar uh IGN in a previous resonance

46:17: you mentioned that collections might be the next in line after the splitening uh when adding those do you think you will

46:24: rework some existing nodes to use collections instead was a node you'll be excited to add since it won't be blocked

46:29: anymore um so the nodes are probably not going to be a reworks like the existing

46:34: ones because we kind of avoid well it's actually one maybe but most of the nodes

46:40: we avoid adding any nodes that would essentially be workarounds for the collections

46:47: um so most like mostly collection support is just going to add new nodes

46:53: and there might be new variants of nodes that are there for example raycast one

46:59: you know that gives you like one hit result and there's going to be a variant called raycast all that's essentially

47:05: going to give you a list of all the hits and you can like you know loop through the list and you know filter it whatever way you want you know

47:11: um gives gives you more flexibility but there's still benefit to raycast one because under the hood with the physics

47:18: engine raycast one is actually more efficient because it does like one it doesn't need to build the list and it can kind of you know skip some of the

47:24: calculations like if it sees is you know if if it's like building a list and it sees okay this head is closer than the

47:32: previous one this this head is further than the last one i'm not even going to bother doing any further calculations

47:38: i'm just going to reject it versus a castal is it still has to do all those extra calculations because it needs to

47:44: put that put the results of those in a list so you'll just have like an import

47:50: versions of those nodes the one that's probably going to be reorked a little bit uh or maybe expanded is the HTTP

47:56: like request notes um because we're probably going to make that work like but it's also like more like there is

48:02: some modifications to it and it's more it's more just you know adding more

48:08: varants to it like for example one of the things we'll be able to do is change

48:14: it so you can you know have more flexible options for specifying the message payload and you'll be able to do

48:20: stuff like you know byte like arrays like binary messages because byte array like you know it's literally a

48:26: collection of bytes you can put it whatever data you want in it you you know you construct like a HTTP payload

48:32: to it and you can send it off of the server or a web soocket um so yeah uh it's mostly going to be

48:40: new nodes also it's probably going to be like I would want to prioritize it kind of soon after the spliting and the

48:47: decision on what the next priority has not been made yet uh it is definitely high on the

48:52: list but I don't want to make like any specific promises right

48:59: now next question is uh from Dusty Sprinkles relating to issues and the XY

49:06: problem what do you want a user to do as far as how something works in game there's no way of knowing component isn't working as intended and making

49:12: issues with that as a basis like what we're asking you is like rather simple just tell us what you're trying to do

49:20: not how you're trying to solve not not how you think the problem should be solved like if you

49:27: um like if you like you know if you run into a component and like you're trying

49:32: to like you know you're trying to do something like I mentioned like earlier you know the example with the chair is like um it's like you know like go to

49:41: the start like when you started solving a problem because you know it's a process like you know you start with a

49:47: problem oh my chair is wiggling how am I going to solve it i'm going to put a book under it oh I don't have a book that's you know the right size so I'm

49:53: going to go and ask for a book of specific size what you should do at that point is

49:58: be like okay like I'm I want to ask somebody for a book that's specific size where did I start with this problem i

50:04: started with a problem being that the chair is wiggly ask us that tell us you

50:09: know the chair is wiggly i don't want it to be wiggly you can tell us i tried you know solving it by putting book under it

50:16: but please tell us start with you know the root problem like what were you

50:22: trying to solve you know what what is the issue you're running into

50:28: yeah the one the the the issue is not one of like knowledge base like you don't need to know a lot about the

50:34: engine to just tell us what you're doing i always have to ask people like well okay you want this but like what are you

50:41: what are you trying to do yes just tell me that please like we're not asking to know how components work we're just

50:47: asking you tell us what your original root issue

50:53: is and kind of you know asking like for a very specific kind of feature or thing or back fix or something just like be

50:59: like you you literally say you know I'm trying to use this

51:04: component i'm trying to do this thing this is what happens instead there's actually an issue like there's a good

51:11: video that I played on the last like resonance um like it's literally I'm just going to quote it

51:17: like it's like you know you just tell us what did you what did you see happen if

51:23: there's a bug not what did you think happened and it's like you know the kind of clear

51:30: distinction uh next question is

51:36: uh from Alex Taco Anton hi uh will you add the optional configurable Unix

51:42: socket named by for external communication controlling headless client via local host type connections

51:47: if is not possible we know the possible workaround with system device out and system sockets standing from so this is

51:55: actually this is a good example so like you know you're asking us for unique socket named pipe you're asking us for a

52:01: very specific way to kind of control headless but like the the key issue is like you know you want to control the

52:07: headless you know from something there's multiple solutions to that you know it doesn't have to be unix socket and m5 it

52:13: can be TCP it can be like you know rest api there's lots of you know different

52:20: approaches for solving this kind of problem um for a specific question I

52:26: don't think we'd probably do like named pipes because that's very system specific um we would actually probably

52:34: do something more like TCP or REST API or web soocket because those are like a lot more commonly used more accessible

52:40: with libraries um we do want to add mechanism for like controlling the

52:46: headless from external software and sort of building user made tools there should also be like even GitHub issue about it

52:53: uh we haven't decided on the mechanism yet probably not named pipes like uh much

52:59: more likely something like you know websocket or TCP or REST API like those are my kind of top candidates uh and you

53:07: know building something on top of

53:13: those uh Grand is asking uh followup to the

53:19: bit to display question i have tried Bluetooth display with display index one and it creates black screen with a tiny texture zero works but replaces user

53:26: view unless they're in VR is this a bug to be reported when open display makes black secondary window i'm probably

53:34: um I would say so yeah I don't know if we'll prioritize anytime soon we might actually end up reworking that component

53:41: a fair bit so like it might like it might still report it but I don't know if we'll I feel like we're not going to

53:46: prioritize and we're just going to sort of rework how it works yeah that one might be that one might

53:52: kind of be like a Unity specific kind of like implementation too yeah it's something to kind of

53:59: revisit uh next question is uh barely weird kind of like Godo and other open

54:04: source projects people contribute because they want to it not just profit and growth i think they were responding

54:10: to someone else in the chat there it feels like they're responding to like you know how we're keeping team motivated

54:17: yeah like if if you if you have like follow-up questions like please include the context otherwise like we don't

54:24: actually know what you're responding to yeah it might be something yeah i don't know how to answer this one

54:33: um Oops so next question is from Grand K uh would IK rework likely involve making

54:41: tweaking and customizing IK on com on on component on avatar easier yes that is

54:46: one of the goals um it's to make the IK sort of be more

54:51: um what's the word for it to make it more idiomatic to FS engine and toite

54:59: how stuff works which is you know in turn going to make it easier possibly also like splitting up to be more

55:05: modular so you can kind of compose more complex behaviors um you know kind of similar

55:10: approach like we took like with photon dust uh next questions from Grand K uh would

55:19: nested notice be similar to normal programming language concept of functions yes it's kind of similar you can think of them as functions uh

55:26: there's like one key difference that's a bit like doesn't map like fully onetoone

55:33: is that you can send impulses out of nested nodes to the outside of them and

55:38: then like you know the control flow actually returns back um and you can send more impulses which is you know

55:44: something like you can kind of think of it as like you know if you had a function as if you know you passed a

55:50: delegate you know to that function but the delegate is actually like It's almost like a closure in a way too like

55:57: where you know you keep the context of whatever you know the color of that node

56:03: is so it doesn't mully one to one but mostly you can think of them as

56:08: functions yes uh each nested node is also like if it has any local variables it actually

56:14: has its own copies and for each invocation you know that's essentially a fresh one um is it going to like you

56:19: know allocates new stuff like on the stack i like this next question how it's

56:24: phrased oh my god so uh Zenry Dragon is asking

56:29: uh do you think there will or even can move to the old Linux model of development with you as Linos that is

56:36: open source with you as our burn dictator and people like Gins and Ages while being lieutenants i don't know if

56:42: I like that terminology um I I I'm not sure I don't know how that

56:51: would work because like you know how that work like you know for a company like how would we be able to like you

56:58: know like essentially the main concern is like you know so we actually able to do this you know fulltime because I feel

57:06: like if we're not able to do Resonite fulltime that would kill the project

57:11: because like it it does require a lot and if we're not able to do a

57:18: lot I think it's going to like you know it's not going to move fast enough and like we're not going to be like able to

57:24: kind of keep up with things so I don't know how that model would really work like you know what what what

57:30: would like the business model be like you know how would the development be funded maybe sometime in the far future

57:37: when it kind of grows maybe like that becomes different conversation but right now I just I don't know I don't think

57:44: that would necessarily work for this it's something that might change

57:50: but like right now yeah I don't I don't see that like

57:56: working uh next question is from uh uh how to pronounce it d dami diame

58:07: any plans on adding a feature similar to Red X and if so would there be a way for people to add their folder item to it

58:14: would it just show up on any that was shared yeah we actually have plan for Resonate Workshop um so that's a topic

58:21: that we did cover on previous resonances there's also a video on it on our YouTube channel so I do recommend giving

58:27: them one a watch but essentially the idea is you know it's like on your desk you would have like you know workshop and you can like browse it by categories

58:34: you know you could like find avatars tools gadgets you know worlds like you know uh protolex notes textures

58:41: materials whatever you want uh people could submit it people could update them um and be searchable so uh I I think

58:50: it's actually one of the features like I'm particularly looking forward to adding because I feel that's going to make sharing content much much much

58:57: easier uh because right now like you know this whole thing like you know we have to know somebody who has good

59:02: shared folders and have to find things that way um with actual workshop you

59:09: know it's accessible to everyone from beginning and we can build on top of it too so for example you know with the

59:14: material tool we can just be like find a material you type you know a keyword like for example you want a wood

59:19: material so you type wood and bunch of materials you select one it pops in the tool and just use it you know we can

59:25: integrate it with other parts of the software uh so yes that's planned i do recommend going watching that video

59:32: because we go into a little more detail on it but Resonate Workshop that's going to be um I think it's going to be like a

59:38: big bloom to the community uh next question uh Grand K is asking

59:47: would collections enable creation of custom object tracks as the programming definition of object uh not really not

59:55: collections like if if you like you can use it to sort of emulate like objects

1:00:01: tracks um by you know having like a dictionary where have like you know a bunch of

1:00:06: properties saved under keywords but that that is like if you say that you want the actual programming definition object

1:00:13: which to me means for a strct that's like you know a value type where

1:00:19: literally you specify the memory layout it's like you know a fixed size so for example you know it can be six example

1:00:25: 64 bytes and it has like properties these and these on these addresses that's not a collection you know that's

1:00:32: a different kind of concept same with objects objects you know kind of similar this defines the layout but they're more

1:00:38: you know they can be like allocated on the um well they're always allocated on the heap you know you can have like multiple things pointing to them um and

1:00:46: they also can define methods you know which is again like something that's outside of collections so if you go in

1:00:53: the programming definition of those then the answer is

1:01:00: no uh next question from Moonbase hey

1:01:05: Fuks wondering if you're expecting any Unity bugs or limitations when doing the split uh of FRS engine and Unity i'm

1:01:12: sort of expecting a limitation but at least with 2016 but that's just me i

1:01:18: don't really Yo 2019 i don't really expect any like limitation i mean like

1:01:23: the whole point is like you know we're getting away from those limitations because we're actually moving stuff out

1:01:29: of Unity so we're not limited by Unity so like you I would say like it's

1:01:35: the opposite um if you're saying like expecting limitation I don't really know what kind of limitation you would have

1:01:41: to kind of specify but I'm not really I'm not really expecting like any

1:01:47: like the only real the only real like a limitation we would still still have is the fact that we would still be beholden

1:01:54: to its rendering pipeline but other than that we'd be pretty much free yeah yeah

1:01:59: the render there like we'll still like you know be relying on like Unity itself but the rest like you know we're free and that's the goal like we do want to

1:02:05: replace the render too uh next question is from BD question is

1:02:11: there any way to disable loading an asset dynamically until it's needed without breaking things like cloud site garbage collection

1:02:18: processing um so uh if you don't want to break like

1:02:24: there's two ways you can kind of go about it uh one of them so right now resite it uses sort of like asset

1:02:30: reference tracking to determine if assets should be loaded or not um so if there's nothing referencing an

1:02:37: asset it actually doesn't get loaded the problem is um it's

1:02:45: uh like what's the word

1:02:51: uh it it's not like cascaded which means if we have an asset like a material asset that's referencing a texture but

1:02:58: nothing is referencing the material the texture is still loaded because the material is referencing to it because

1:03:04: there's no way for the material to communicate to the texture that the material itself is not being used um one

1:03:12: of the features we want to add like one of the optimization is cascading asset dependency and what that will do is we

1:03:18: have for example measure renderer if the mesh render is like disabled or maybe like none even

1:03:24: exists the material will know that it's not needed so it's not going to be loaded and it's in turn going to tell

1:03:30: the texture I don't need you and the texture might not be loaded until like

1:03:36: you know something actually says like that it needs it and it propagates all the way through um to get around it you

1:03:42: can kind of set the references to null and kind of store them like elsewhere and load them dynamically

1:03:48: the problem with that is you know like if you if you have the references null if they're not actually on the asset

1:03:53: resonate you know the cloud it will see like okay this is not being used i'm just going to delete it from the cloud

1:03:59: and you know the asset goes poof uh one way to around it is you actually save copies of all those assets into your

1:04:05: inventory that's going to keep them pinned they're going to you know stay on the account

1:04:11: um and that's going to make it you know so they don't you know they don't need to like

1:04:17: you know they don't get like deleted and you can kind of dynamically assign references to them in the actual content but you do need to have a saved

1:04:23: [Music]

1:04:29: version uh Grand K is asking "What world are you in?" So oh actually I think this

1:04:34: one too sunset Galaxy yeah this is Sunset Galaxy by Hamocorb uh this is the

1:04:40: winner in the social war category in MMC for the small world it is a very very

1:04:46: cool world uh let me actually just showing you a very small portion of it

1:04:52: oh oh dear uh it's like this sort of like bust that goes through multiple worlds and pretty much almost every

1:05:00: single world that you see you can go there like you can actually like you

1:05:06: know um like you've probably seen us like you know kind of fly and kind of stop at some of them the bus it'll

1:05:12: literally stop at these worlds you can step out and there's like little like you know there's little like worlds in

1:05:18: the place actually we could just go like at the next stop maybe looks like we might be headed somewhere

1:05:25: i don't know we'll have to see we'll have to see we might we might pop out we might pop out over the bus just

1:05:32: make it more fun yeah we still got an hour left so there's actually one place I really like it's

1:05:38: It's actually that one the green planet i really like that one it has a really nice vista also the snow one is really

1:05:45: good too like I like the snow one it has a really cool like wisps from coming from the It's funny because the

1:05:53: ice world is cold as hell um but yes this is this this one the

1:06:00: social VR uh small team category i think you switched the camera or something you

1:06:07: like zoomed it in oh it's fine on my end it might be the bug

1:06:13: oh okay well I can only see my elbow in it it's It's fine on my end so it should

1:06:19: be fine okay um yeah there's like a bike oh we are Looks like we are stopping somewhere where are we going oh this is

1:06:26: the desert planet i don't want to be on the desert one that's a volcano the green one yeah

1:06:32: I want I want the green one there's a tiny moon that has like super low gravity yeah we're going to pop out at

1:06:39: the green one the green one I like probably like the most and the snow one actually I'll get out on either

1:06:45: [Music] one but I definitely recommend checking out this world also like you know

1:06:52: British it's it's literally it's literally like if I zoom out oh never mind oh I have to disable

1:07:00: occlusion if I zoom out we are like literally in a you

1:07:07: know a British like double decker kind of bus kind of

1:07:13: thing just zooming out there we go

1:07:19: just flying through [Music]

1:07:25: space and it kind of stops yeah I think we're going for a stop [Music]

1:07:31: now it's actually funny because they even like uh in little places they put like um there's like British power plugs

1:07:40: that's funny this is a really nice vistas like I'm just watching on the

1:07:48: camera it It reminds me a bit of like Outer Wilds too it's like one of the judges said to like just has Outer Wilds

1:07:55: vibes like traveling through a small solar

1:08:03: system there's a bunch of options too yeah i suppose while we wait for like

1:08:08: the next stop we could answer the next question as well no hold on i was messing with the camera okay

1:08:14: actually if you if you don't mind me messing with the camera you can answer it but I'll be moving the camera around

1:08:22: okay um question for Oh jeez question for Cyro is the sweeps that you're making

1:08:28: using fixed time step physics okay

1:08:33: so the the sweeps that I'm making and a fixed time step are those are two like

1:08:41: different concepts but they can be used together so the first part of that question is uh the sweeps and

1:08:49: um what sweeps are are um you can essentially kind of think of

1:08:56: them as like thick ray casts almost they are you're essentially you know casting

1:09:03: something into the scene but instead of an infinitely thin like line you're

1:09:09: casting a shape that has volume or like you know like different dimensions on on

1:09:14: any axis like for instance a capsule or a cylinder or a box or a sphere

1:09:20: um and you can use those to kind of get

1:09:26: more broad like information from like the physics engine um rather than like a

1:09:32: raycast like so if you're using like raycasts to like do like say vehicle physics um they won't like fall through

1:09:41: like a 1 nanometer crack in the geometry or anything

1:09:46: um so you can actually kind of almost also think of it in in reverse where like a

1:09:52: raycast is just like an infinitely thin sphere an infinitely small sphere sweep

1:09:58: which means it has like no surface or whatever i guess you really want to um

1:10:04: but the second part of that question is a uh references fixed time step physics

1:10:11: um now when we when you talk about like

1:10:16: fixed time step physics um there's this concept it mentions it

1:10:21: uh called a time step and what that is is that's like the amount of time between each like simulation frame in

1:10:29: like the simulation and in some simulations what you do is you pass in

1:10:35: how much time it took to render the current frame and you use that to determine like you know how far things

1:10:41: have moved in the simulation um and that works pretty okay um it can kind of get

1:10:47: kind of funky when you get kind of low FPS cuz then things start getting really weird when they accidentally like move

1:10:53: through each other and kind of shake around and and stuff um but when you use a uh a when we talk

1:11:03: about fixed time step physics instead of doing um instead of changing the amount

1:11:10: of uh like time that you're telling the simulation has passed you're keeping

1:11:15: that time constant and instead what you're doing is you're running more simulation steps per frame or less

1:11:21: depending on you know how fast you want the simulation to run and this that

1:11:27: generally tends to give you like better uh better like results in the consistency of the math but it can be

1:11:33: prone to like runaway conditions where you know your game lags and then you simulate more and then it makes your

1:11:39: game lag more and then you simulate more because it's trying to catch up and you just like explode um it's almost like if

1:11:46: you're running slow you're making it do even more work to compensate for the slowness which makes it even run even

1:11:52: slower because it's more work yeah there there are there are ways to you know avoid that by having like a a maximum

1:12:00: number of steps that you can simulate per frame um so but it really it really

1:12:06: it really depends like you know on your use case for that now

1:12:12: uh I'm not using them together because the action of performing a sweep is

1:12:18: something that you do in the simulation so it's essentially instant like it's

1:12:25: instant it's like a it's a raycast basically but it has volume and it can also kind of rotate as

1:12:31: it goes through space usually like sweeps also happen like with for this like they happen outside of the

1:12:37: simulation so the physics engine is going to do it simulation and then you qu it so like you you kind of probe it

1:12:43: around you know do ray cast and sweeps to figure out like where things are so it it is something that's usually like

1:12:49: separate from it like fix the fixed time step is more what a physics engine does like to run its own simulations and

1:12:56: whole calculations yeah um and it's kind of neat cuz like as I

1:13:03: was looking at the code more I kind of realized that like raycasts and sweeps are kind of more similar than I thought

1:13:09: because a raycast can just be described as an infinitely small sphere sweep

1:13:16: kind of but they also tend to use like more efficient moth yeah well I mean I mean just effectively

1:13:22: like you can think about it like that but yeah I hope that answers that

1:13:28: question [Music] and next question is from Grand UK uh

1:13:37: Grand is asking is there a way to go from Murf ID to reference of a specific type for example slot component if not

1:13:43: what is the internal purpose of the reference ID flex node uh so one way is like you know you would assign it to

1:13:49: like a reference i don't know I don't remember if you have like a dreference node which is just going to give you you

1:13:55: know whatever the target is it's something we might add at some point um

1:14:01: usually like um we don't recommend like working with reference IDs like directly

1:14:07: um because they're like um like they don't give you any like you know information about the type of what

1:14:13: they're like referencing so like you know you you kind of like doing a little bit more kind of lowle stuff and most of

1:14:18: the times you just want to keep it with with like you know the types but like it is is there because it's an

1:14:25: information that kind of exists the main thing you have to kind of treat them as an opaque you know an opaque like data

1:14:31: point because they do have like a structure to them but the structure can change uh so you shouldn't be kind of

1:14:37: you know relying on any specifics of it yeah it kind of sounds like that kind of

1:14:43: sounds like a ref hacky use case what you're alluding to almost um these are

1:14:48: essentially like you're basically working with pointers at this point pretty much it's kind this is a little bit like pointer it's more like a

1:14:55: network one the next question is also from Grand UK what is the type user ref not to be

1:15:02: confused with the user reference type for so it's essentially like a reference to a user but it's a little bit smarter

1:15:08: than just a direct reference so when uh user ref is assigned it actually

1:15:14: remembers both the machine ID and uh the user ID of that user so if the same user

1:15:20: rejoins the session it's going to reference to that user if it was just a

1:15:26: sync ref that's of type of user when that user leaves technically that

1:15:31: instance of user is gone and even if the same person joins again it's a new

1:15:37: instance of user because like you know when they leave and then join that the instance is deleted and the new instance

1:15:43: is created even if it represents you know the same person uh the user if you

1:15:49: know it makes that stable so like uh it remembers you know this reference this specific

1:15:55: user you can also save it in the world so like if it's saved the world and then user like left or maybe it's not they're

1:16:01: not even in the world like when you save when they join again it's going to point towards that user it figures out the

1:16:08: specific instance of the user in the world and matches it based on their machine ID or the user ID

1:16:15: i have a question real quick yeah can I go to the bathroom yes well you might

1:16:21: miss the stop oh okay uh I'll wait i'll wait a second i think we're going for a green one

1:16:27: maybe okay oh there's my hair uh hold on let me fix that i need

1:16:35: to fix it there we go i don't think we are the green no we are we are we are

1:16:41: okay i I have this I I have this

1:16:46: pent we're going to the green one no yeah i don't want I don't I don't

1:16:53: want to Oh there's not too many questions so like we we can we can fuffle about a bit um Yes are we going

1:17:01: to the green one or we going there it's very pretty to me

1:17:06: [Music] sparkly i don't like this kind of mechanism

1:17:12: it's super neat because you can have like you know a bunch of like kind of social like places around this border and people kind of separated but it's

1:17:18: like you know this bus is kind of connecting all them together yeah I would kind of like to

1:17:24: see um it would be kind of cool to see people make like a sort of like No Man's

1:17:29: Skyesque kind of world or even session travel system yeah that would be crazier

1:17:37: that was a big one it's going to be easier like once we have the domain system

1:17:42: go to warp speed to new sessions yes

1:17:48: you crash into them and they blow up and explode why explode okay i think we're going for the

1:17:53: landing in a sec flying over

1:18:12: let's see we're landing i think we're I think we're uh

1:18:18: we're like grazing the atmosphere giving us a good look at the planet

1:18:24: [Music] ooh oh we're going for it i think it's

1:18:32: kind of cool because like when you when when it flies over you can also see it in the sky just flying

1:18:39: [Music] through come on yeah this this was definitely does a

1:18:45: scenic like kind of scenic route it's like ooh look at the planet look at the

1:18:52: planet you want to be there you want to be there you want to go to the

1:18:58: planet come on you like looking You like looking at planets don't you you like looking at planets

1:19:05: [Music] going to we still have uh 40 minutes left so we still have

1:19:12: uh uh still have some time to ask

1:19:18: questions once we land on the planet oh there we go the atmosphere now yippee

1:19:27: yay it's very pretty here

1:19:34: i'm going to be

1:19:39: gling it's very pretty vistas too it's like

1:19:45: look at that like look like look you can see the Sith like uh planets too and the other ones yeah i like this world oh I'm

1:19:54: in no clip i think we're going to be landing

1:20:05: we're going for the landing

1:20:11: i think we're going to land in some kind of like clearing no there's a there's a bus stop it's right next to the

1:20:18: thing oh look at that like behind us that's a nice view with

1:20:25: like Yeah we did like several loops around the planet i think it should be yeah we're going to

1:20:32: probably The stop is like somewhere over there

1:20:42: it kind of looks like we're going to land like right around this area yeah right over here yeah there's a stop

1:20:47: there this is kind of where I wanted to get out earlier yeah like this is probably

1:20:53: my most favorite place like in this world with the second one being the winter one

1:20:59: i do like the autumn trees yeah it's very pretty instead of like Japanese

1:21:06: skates let us out the world's

1:21:13: pretty come on we want out there we go there's the stop it's

1:21:21: like hidden between the trees come on oh wait let me uh let me grab

1:21:28: your pen ah we can get out yay yay we're free you're free you're free

1:21:35: cuz you forgot your pen oh it's okay thank you this is a nice spot I think except I'm sitting in this thing now

1:21:43: hold on hold on hold on levitating hold on no there we go i can be sitting in the grass

1:21:50: i was going to say that you were levitating on your excitement uh to get out of the bus me

1:21:57: all right can I go to the bathroom now yes all right i'll bring some more questions i'll hide behind a tree

1:22:07: [Music] there we go that works yeah this is very

1:22:14: pretty so the next question is from Grand uh Grand is asking and I have to

1:22:22: move the Twitch a bit uh is such a workshop system would there be a way to

1:22:27: do share folder but marked it so it doesn't show in the workshop or would it be separate system to share folder system we currently have uh it's a

1:22:34: separate system so the workshop

1:22:40: um is essentially completely separate system like the shared folders they're not really designed for like you know that kind of like sharing which makes

1:22:46: which is one of the reasons it's kind of junky for that it's more meant to for like you know for personal sharing with

1:22:52: things So um yeah it's pretty much separate

1:22:58: system you potentially could put like shared folder item into the workshop but

1:23:03: I don't know like what the use case would be it's it would be like easier to just you know put the items

1:23:11: themselves the next question

1:23:18: uh actually add a little white because I feel it's a little bit dark here so

1:23:24: fortunately you know there's like part of a real-time edit thing there we

1:23:29: go make it a little bit

1:23:38: bigger that works i [Music]

1:23:44: think maybe too much there we go uh the next question is from Grand K

1:23:50: have wedding put much effort into the design of the multipprocess architecture uh that will replace the current

1:23:57: architecture of FX engine with immunity yet or will it be done later uh yes there's been a bunch of work put into

1:24:02: that um a lot of it's uh sort of research um so like you know figuring out like

1:24:09: like one of the things actually because I'm I'm the person kind of handling that part uh a lot of the stuff I've done is

1:24:16: studying you know how it's been done for web browsers which were like um I think

1:24:21: like the pioneer this kind of like approach and Google Chrome in particular you know it was like I think the first

1:24:27: one that sort of introduced their architecture and then Firefox it switched to it as well uh and they do

1:24:33: have like pretty good documentation on how this stuff works i read a bunch of articles so I've kind of like went

1:24:38: through a lot of that you know figuring out like how they approached it how they how Firefox moved to that approach you

1:24:44: know over time and because they started like you know with other architecture and they had to kind of replace it which is you know the similar situations we

1:24:50: are in uh so there's been a lot of that work done uh so work on like you know

1:24:55: researching sort of u IPC mechanisms which is one of the reasons like uh why

1:25:01: want to go with um why want to go with like shared memory because shared memory

1:25:07: is extremely fast is literally you have two processes that's just sharing the

1:25:12: same chunk of physical memory as if it was their own meaning you don't need to

1:25:18: like you know send data over pipe between them like you literally just access the memory uh so that's

1:25:25: another aspect um and also like you know just figuring out how are going to move

1:25:30: engine into its own process so big part of that is you know figuring out what's

1:25:35: preventing us from moving for extension through its own process which is you know figuring out um figuring out like

1:25:42: you know where the kind of interactions are which is why we working you know uh making photos and we're making audio

1:25:49: right now so you know those are also things that kind of come part of it because we have to you know sort of prepare the system for that kind of

1:25:55: separation so it's kind of figuring out like you know where the lines of communication are and sort of reworking them so they can happen over some sort

1:26:02: of like IPC mechanism so you know that's also work that's technically going towards you know the multiprocess

1:26:09: architecture and that's been ongoing for a while now

1:26:16: um so yeah there's a bunch there's like you know some idea like design ideas for how for example communicate that one uh

1:26:24: it's still going to the specifics of it are going to be like developed but I do have a general idea how the communication is going to happen and a

1:26:31: lot of the development has been you know moving it towards that because for

1:26:37: example the way uh photon dust is done it's specifically designed so all the particle like simulation the result data

1:26:44: it's a single data buffer it's all like you know contained within a single like bite you know just single chunk of

1:26:53: memory and that's done on purpose it's photon dust has been designed that way

1:26:58: so we can just you know make the chunk of memory be part of shared memory and then the renderer can access it and you

1:27:05: know render it out so um like a lot of the work that's been ongoing has been

1:27:13: like has been done specifically for the multipprocess architecture because if we

1:27:18: didn't then you know we would end up reworking photo and does reworking audio and then we have to rework chunk chunks

1:27:23: of them again to work with multipprocess architecture so like the work for that

1:27:29: has been ongoing for probably longer than you might even think

1:27:36: uh next question is from BD_ i'm going to adjust the camera a

1:27:43: little bit uh BD is asking to clarify if I have

1:27:50: a static texture which is attached to a slot an object but otherwise unreference would be loaded and would it be pinned

1:27:57: uh so for it to be pinned it has to essentially it has to have the URL at

1:28:02: the time of saving when you save the world or the item um to be loaded it needs like it's going

1:28:09: to be loaded if it's referenced by something that uses the asset which can be the material so like if you have a

1:28:16: material and the material is unreferenced the texture is going to be loaded right now uh if it's not referenced by anything then the texture

1:28:22: will not load uh but you really have to make sure like nothing is referencing it

1:28:28: if it's not if nothing is referencing it and it has the URL it it will still be pinned so like the pinning doesn't

1:28:35: depend um pinning doesn't depend like

1:28:41: um what's the word it essentially doesn't depend on like anything in

1:28:48: the whether anything's like using it in the

1:28:54: world next question is from Granny K how do you get a user ref um I don't know

1:29:00: what you mean by get it's like something that like you know components use so but

1:29:05: there is there is a comp like there's a store for it that you can use so like maybe that's what you mean i think

1:29:11: that's what they mean you can find this under like there should literally be just user

1:29:17: ref yeah yeah data model user ref store under variables and this will this will

1:29:22: get you user ref store or whatever you Yeah so give one with protoflux that's that's the one we can use and that one

1:29:28: will have that behavior because it uses user f like

1:29:36: internally next questions from Grand K uh what is the point of editor

1:29:42: components for example delegate editor ref editor they don't seem to enable editing except for primitive member

1:29:47: editor um they are designed for use internal use for for inspectors so they

1:29:53: actually let you do like editing you know references within the inspector but they requires you know specific setup

1:30:00: most of the inspector components are not really meant to be used directly um like you know they they are kind of

1:30:08: they're essentially just building blocks of the current inspector

1:30:13: yeah and if you mean like editing as in like typing into them they're they mean they're editors for like dropping

1:30:20: references into them and like that kind of stuff i cannot advise like against using those

1:30:25: directly because they're they're more designed just for the current inspector uh next question is from

1:30:32: powder pup with audio is there any plans to implementing for transforms for audio

1:30:37: visualizations not for audio uh that's not uh it's not part of it um like we we

1:30:44: do want to implement for transforms at some point but a separate thing from the audio engine

1:30:50: um what uh and we we can already talked about it but like mostly what audio is doing is you know sort of collecting the

1:30:57: audio outputs that are you know within your area sorting them based on priority computing you know distances doing

1:31:03: distance attenuation computing specialization and then mixing the results together into single audio buffer um stuff like you know for a

1:31:12: transforms that would be like just a component or something that like you know does

1:31:17: works outside of that essentially like that one probably wouldn't even touch like audio super much other than just

1:31:24: like listening to you know when audio outited happens so it can compute a new frame of like

1:31:33: update uh next questions from Moonbase this song uses Apple loops uh how do I

1:31:39: know my first song's these loops this is some reply

1:31:47: next questions is from BD_ do you have internal builds which already are

1:31:52: running in multiprocess model with a bunch of things broken I imagine or has not quite gotten that far yet it hasn't

1:31:58: contained that far yet because um in order to be able to do multipprocess architecture we need to like rework some

1:32:05: of the systems we did reworked uh the particle system but another thing that's

1:32:10: blocking it is the audio system which is you know something that's being worked on right now and since that is

1:32:15: unfinished we can't we literally can't make the multi-process

1:32:21: architecture um usually when we develop things like we're pretty like you know

1:32:27: down to the wire so like once once we have internal builds like you will hear about it we post in devlogs you know we

1:32:33: will be talking about it you know on our streams like you know stuff like this um

1:32:39: so yeah those builds don't exist yet they cannot exist because we're we're still working

1:32:45: on things that are necessary to make those builds possible in the first place

1:32:50: and although those things are done we cannot really make those builds either it also like doesn't make much sense

1:32:56: because like you know if you're like focusing full time on like making the audio engine we're going to be focusing

1:33:01: on that we're not going to be you know jumping back and forth between different tasks because that's it's very

1:33:07: inefficient like you know it's trying like to juggle too many things and you can end up with a situation where like

1:33:13: you know like if say and I'm not giving a specific like you know numbers but say

1:33:18: you have two things each one of them takes two months to do on its own if you try to do uh both of them at once like

1:33:26: switching back for like back and forth maybe each one of them now takes five months so now instead of four total

1:33:32: months if you try to like you know go back and forth now it takes 10 months so it's it doesn't it's not a very

1:33:38: efficient way to kind of go about

1:33:44: it next question is from world theory 2013 uh keeping track of what is a local

1:33:51: versus global impulse in what context between all different types of nodes that use impulses is a bit confusing

1:33:57: good any tips or rules of thumb that would be helped to remember i don't actually know what you mean by local or

1:34:03: global impulse oh I I don't know if I don't know what they mean by that but I can kind of think I kind of understand

1:34:10: what they mean by like context cuz it can be kind of hard to determine like

1:34:16: what is like a sync or like an async context in that regard i think that's what they mean by that one i don't know

1:34:21: the first one though i I would probably say just clarify your question too like

1:34:27: um because we don't really have like a concept of global or local impulse like that's not really a thing so you need to

1:34:36: probably give us like more context um the next question is from

1:34:46: uh Redm 17 i'm a newish user and I'm struggling to keep parity between social VR platforms from my avatar if I make

1:34:53: changes to either the mesh or shape uh keys blend shapes as each export from Blender and import from Resonite is

1:34:59: essentially making the entire avatar from scratch again in Resonoid is there anything planned that could make this

1:35:05: type of situation easier to deal with uh there's a few things you can kind of do uh one of them if you for certain types

1:35:12: of modifications what you can do is we import the new mesh is you can just grab the reference to the new mesh and drop

1:35:18: it on the existing avatar if you haven't made any changes to the sets of bones or you haven't made the changes you know

1:35:26: reordering like blend shapes for example that will generally just work i'll just use the new mesh if the bones or sets of

1:35:34: shape keys have changed like for example you added some bones removed some bones um you know or same like you know with

1:35:41: blend shapes uh then there's a tool called the rec transfer tool tip um that

1:35:47: you can try using what it does it will try to like map the new mesh you know uh

1:35:53: to the uh existing avatar and sort of remap things where needed uh there's some bugs with it so depending on the

1:35:59: situation ation it might not work correctly but it might be worth a try because it can make your job like easier

1:36:07: um for things to kind of help you know one of them would be actually improving that tool so it's like more robust uh

1:36:14: because we kind of like when when you do make those kind of changes like you know the system needs to figure out how to actually map it to the new avatar

1:36:21: because you know if bones added or removed or moved around it needs to figure out what happened and how to like

1:36:27: you know move your stuff between them um there also I don't know actually if it's still actually no there's not yeah I

1:36:34: think that's kind of the main thing it'd probably like you know just be like improving the tool to make

1:36:41: things like this easier there's another issue uh that sort of ties into this which is adding like a component which

1:36:46: would sort of track file system changes so like if you import something from something and it detects okay this file

1:36:52: has changed it's going to do the import and sort of tries to like map it for you but there would just be like making the

1:36:58: workflow easier so like you don't need to like you know do manual import and then do the mapping we just kind of

1:37:03: trigger it automatically yeah this would be kind of more effort maybe on like your part too but um at

1:37:13: least when I try and do stuff I try and design some of my systems to be um quite modular so instead of like referencing

1:37:19: like slots of my avatar and whatever like directly with like my protolux and stuff I'll like abstract them away into

1:37:25: variables and then I can kind of encapsulate all of the functionality of my avatar or most of it into like a

1:37:31: little thing I can just drag and drop onto a new one set up the new variables and there you go

1:37:37: yeah this is one of the things that can help too is like whatever changes you can make to your own you know kind of

1:37:43: workflow and how you structure the avatar that's going to make things

1:37:51: easier um Grand is asking would it be worthwhile creating new category in

1:37:57: components for internal components to exist alongside unatategorized i would just say

1:38:02: generally if it's uncatategorized consider it internal until told

1:38:07: otherwise um usually usually if component is not really meant to be like

1:38:13: used directly it will be uncatategorized like they just don't bother categorizing it so uncatategorized is like a danger

1:38:21: category um if you think there's a component because some some just might be forgotten to be categorized if you

1:38:28: think some component should be you know usable globally make a GitHub issue you

1:38:33: know say this component is uncatategorized um maybe it should be categorized maybe

1:38:39: it should be usable at that point we can look at it and be like okay this one this one can be categorized this one's okay to use or we say no this one's

1:38:46: internal avoid like using it um it might be like we might maybe make a category

1:38:54: like usually we put stuff like you know into debug there's actually so hidden category where we can just kind of hide them

1:38:59: completely so maybe um but yeah like anything in

1:39:04: uncatategorized I would say treat it as internal unless you know stated

1:39:10: otherwise unless you kind of put it into some category and you can ask you know like if you see one that like you feel

1:39:15: is useful like feel free to kind of make issue about it and ask us to categorize it and at which point you know we'll

1:39:21: make the decision

1:39:27: uh world theory 2013 saying in some cases pauses are only generated and seen by single client right I hope that I

1:39:34: have that right that's what I mean by local no that's actually all of the impulses impulses always happen just on

1:39:40: one client it's sort of like you know running a piece of code uh and you're

1:39:46: like you know only one person is actually kind of running that code uh

1:39:51: you know actually how to put it like you each sort of like Every time an impulse

1:39:58: starts it starts on a specific user and it's always going to complete on that specific user there's like no mechanism

1:40:06: for that impulse to like you know transfer to another user like that's that's not like concept that the system

1:40:12: has there's ways you can kind of trigger you can can make something start another impulse on a different user as a result

1:40:19: of like actions you do within the impulse but that's not like you know like a native mechanism the impulse is

1:40:25: always going to start on one user and it's going to finish for that user you can have multiple

1:40:30: users sending out impulses for the same you know uh purple flags so you can have

1:40:37: multiple people kind of running impulses but for each of the user the impulse is essentially local like there's at no

1:40:43: point like you know the impulse becomes global in any way

1:40:48: um um the way to think about it is you know impulses are almost like you know that's like you're doing things like

1:40:56: everything in the resonite it's kind of described by a data model it's like you

1:41:02: know it's like values and numbers and strings kind of describing what things are um and that part resonate that part

1:41:11: is global like by default resonoid will make sure that it will stay in sync for

1:41:17: everyone um when you do impulses impulses are like actions like for example an impulse it can like you know

1:41:25: go into a node that modifies a value so it's a particle user doing that

1:41:31: action where uh you know they modify a value once the modified value you're

1:41:37: modifying something that's global and fruit is going to make sure that modification is you know replicated on

1:41:44: other clients but you know that's kind of separate from the impulse because it doesn't care how that value got changed

1:41:51: it only cares that the global value got changed but the impulse by itself is always kind of like local

1:41:59: um so it's um yeah like

1:42:06: essentially like you know the best way to think about is like impulses are you have like you know one shared

1:42:12: data model actually I'm going to use the brush where did I put the brush there it is so if you like you

1:42:19: know think about it you know imagine like you have the hierarchy you have the scene you know there's a bunch of

1:42:25: things you know and this is kind of describing your world and you can think

1:42:30: of this as shared and then you have a bunch of users who can be doing things to

1:42:38: it so maybe like this user runs some impulses and the impulse will make modification and everyone will see that

1:42:45: modification unless you've kind of driven this uh and maybe this user will make modifications to this and you

1:42:52: essentially each user is changing a shared hole

1:42:58: um so it's like you know like the impulses impulses will always be happening on the user and you can do a

1:43:05: thing like where user generates like with impulses they modify a value and then the code on another user will

1:43:11: trigger impulse which will change something else like that can happen but like you know that's not a direct thing

1:43:17: and technically that impulse that happens on other user that's a new sort of sequence of actions that happen

1:43:25: um for a specific user oh this kind of makes sense

1:43:31: yeah it's not like a typical client server model sort of where like you have a like let's say I like you know I push

1:43:37: a button that's that that action is not sent to the server which then handles it

1:43:42: i handle it reset actually does like it's something that is called like remote procedure calls like in you know

1:43:49: net programming it has no remote procedure calls like it's literally built completely without them and it's

1:43:56: kind of built without them on purpose because in big part it's you know what

1:44:01: allows us to do what resolite can do because everything's modeled as data

1:44:12: and also um before we The next question I almost forgot um there is actually a question that was missed in chat because

1:44:18: they did not add a question mark oh okay uh was it before this one or yeah it was

1:44:24: before this one okay make sure to add a question mark otherwise you know it might get missed um actually I need a

1:44:30: copy uh let me read it first uh Alex Taco Anton is asking for clarifying

1:44:36: question about external communication the way Unix circuit Unix standard uh are named piped is also for security

1:44:41: reason tcp HTTP is not secure enough this was the reason for the question i

1:44:48: don't know if I agree on them being not secure enough like you can make them pretty secure like I would I don't really see

1:44:54: why they would not be secure like if if there's like a bugs

1:45:00: with it like you know there probably with your system like TCP stag that probably should be fixed

1:45:07: i Yeah yeah like we need to probably provide even more context because like I I don't think I agree with the

1:45:16: assessment um next question is from Fizzer Rabbit

1:45:21: VR i'm sorry if the material has been touched already uh but is there yet or planned way to import animation file PV

1:45:28: animate etc that is separate from model file i like to make motion captures and assign them to NPCs to run designated

1:45:35: times uh there are some ways uh you can also just import you know uh some of the anim files that are supported uh we use

1:45:42: a library called asim for importing files uh like 3D models and you can kind

1:45:48: of import ones that are just pure animations it's going to generate sort of like they're not going to be any visuals but you're going to get like a

1:45:54: hierarchy uh with animation tracks the other way to do it is you can implement

1:46:00: uh you can use our own format called animj and there's a number of community tools that lets you sort of specify

1:46:07: animations as JSON files and then import them as animation tracks and there's component like animator that lets you

1:46:13: sort of like drive things from those values and there are also um protofllex

1:46:19: nodes that let you sample those animation tracks

1:46:31: i take this question this was a response earlier okay okay

1:46:39: uh so next questions from Oz uh very strange question but is there a way you

1:46:45: would suggest to visualize the bounding box of local slot as in say what the default name box generate uh so right

1:46:51: now we don't have a way to do it um the main reason is because like anything

1:46:57: that's local like when you see a bounding box that bounding box is global

1:47:03: which means if it's global it can only be based on things that are also global

1:47:09: um so it's not going to show anything you know that's kind of local um we're

1:47:15: probably going to add more tooling at some point like you know for local things but it kind of depends what you're trying to do exactly because I

1:47:21: don't know like what your use case

1:47:28: is uh next question grand K uh is there a valid uh user for primitive member

1:47:35: editor that isn't refing since you said editors are typical internal knows um I

1:47:40: think it's uncatategorized i would say like you know pro like probably not like it's kind of meant like as an internal

1:47:47: component and we put a big warning on that component too so it's um

1:47:53: um yeah some of those some of those editor components they really are made to they really are just made to be

1:47:59: generated by the inspector yeah so like if you want to add inputs to like your UI or whatever I know it's a little bit

1:48:06: more cumbersome because those opponents look those those components look really handy but I'd probably just parse it

1:48:11: yourself in a lot of cases those are like some other components are more generalized i'm probably going to do that more like once we rework the

1:48:17: inspectors make very generalized components but um yeah if it's in

1:48:22: uncatategorized there's a good chance like we're it wasn't really meant to be like

1:48:28: used directly or maybe it was just forgotten but in that case you know ask us like make a gab

1:48:35: issue um next question is from Grand K there are custom nodes currently being made

1:48:42: but like a way to represent variable inputs uh like using volume multi ad would using perlex imple manager and cut

1:48:49: component be not recommended for this purpose yeah like probably wouldn't recommend you know that's kind of the same kind of realm of you know it's not

1:48:57: really designed because the perlex input is manager that's designed to work with actual nodes like the current sort of

1:49:05: custom n like nested nodes like custom nodes like it's not something we would

1:49:10: actually conser nested nodes it's still technically just a bunch of nodes they're are

1:49:16: just masked to look as a single node but technically it's not um and like you

1:49:22: know the components aren't really designed to work with that um so yeah like that's also kind of

1:49:29: danger like we we would probably just like for actual custom nodes like we're

1:49:34: just going to implement you know the nested nodes because that's already mechanism that's designed for that purpose

1:49:41: yeah the I I probably wouldn't

1:49:46: like how would I say it you're you're definitely you're

1:49:52: adding quite a bit of overhead by trying to make custom like nodes like yourself right

1:49:57: now like and using them like all over the place as well i actually don't know

1:50:04: where I was going with that i apologize

1:50:11: uh we also ran out of questions so if you still we got 10 minutes left so if

1:50:17: you got any more questions feel free to ask yeah sure question no no no like super long ones at this point um there's

1:50:24: always like on resite in total it was

1:50:29: your tell tell us like you know complex philosophy and history of Resonite in the last man in the remains there's

1:50:35: always like a few that kind of pop out like at the um um you know that kind of pop out at

1:50:43: the end of the thing uh dear uh we got another one from BD

1:50:52: uh are there any good samples worlds for showing how to get started with new particle system

1:50:58: components um hm there's like one uh from an MMC like I

1:51:05: don't know how much it'll help you know getting started uh but I think it can

1:51:12: because like it's kind of fun way to play with it um it's called uh particle

1:51:19: synthesizer by Gah P so it's this

1:51:25: world why is it actually rendered no it's mirrored um let me do this particle

1:51:31: synthesizer by Gah P so um this world

1:51:36: you essentially have like it it has bunch of the components like the modules for photon dust as sort of like these

1:51:43: items you can grab you can slot them in a grid and you can just mess around with them they build like you know kind of

1:51:48: more um simplified sort of UI for it so that can be a good way to you know just

1:51:54: mess around and see what the different modules do so uh maybe this one and a

1:52:00: lot of the you know a lot of the modules that are in there uh they're actually they're actual like you know photon dust

1:52:06: component modules so like once you kind of use the inspector to build things um that's

1:52:13: uh you know like it's it's going like this is going to be a lot familiar because it's going to use the same terms

1:52:19: same names for things um so that would be a good one i would

1:52:24: also just recommend you know just uh grab a developer tool tip um actually

1:52:29: just show that too uh let's just you know grab a developer tool tip create

1:52:36: new make a new particle system and mess around with it because that's one of the

1:52:41: best ways to learn with particle system is you know you just mess with things that are in there you know you look you

1:52:46: know there's a value there's a rate what if I you know add a zero now I have more particles um you look at the particle

1:52:53: system there's a bunch of modules if you go attach component there's a whole bunch of stuff under rendering particle

1:52:59: system there's modules and there's a lot of these uh so like you know pick

1:53:05: whichever one like you know sounds interesting say gravity force i pick that one you know uh you add it into the

1:53:13: modules oops I replaced one by accident add it there and you know the

1:53:18: particles are falling and you kind of mess around with things like this way and see what stuff does and there's a

1:53:23: good way a good way to kind of learn about particle system is just mess

1:53:29: around like it's um it's like

1:53:34: uh it's one of those kinds of systems you know like where the more you mess around with it the better you kind of understand and the better you know how

1:53:41: to make lots of different effects i'm meaning to add some of my examples to like the public folders i will do

1:53:47: that eventually i'm sorry I haven't gotten around to it yeah it be kind of cool too or even like you know if you

1:53:53: see like cool items like I actually have like one uh that Modern Balloon has made that I really like uh often times you

1:54:01: can like you know find cool items that are using the FX like this

1:54:07: one and you know this one this one does these kind of

1:54:15: cool cool effects and sometimes you find items like this and you can literally

1:54:20: you know ask the person but you can you know take them take it apart see how it's made that's another good way to

1:54:26: kind of learn there's also this one this one's neat we

1:54:34: That's cool it's pretty uh next question is from red M uh

1:54:42: red M17 for uh for making the workflow of avatar creation import better where's

1:54:48: the best place to ask for it so that it could be worked on uh always like the best place is our GitHub uh I think

1:54:55: there is an issue for it so it's something you know that we we do want to work on it's just matter of you know

1:55:02: priority so um I would say like you know check the GitHub see if the issue is already there uh given up up vote

1:55:09: because it kind of lets us prioritize it a bit better um but it's something that will happen regardless sooner or later

1:55:16: like we do want to work on it um it's just a matter of priorities because right now we focusing heavily on

1:55:23: performance so checking time 5 minutes left um next question is from Alex uh

1:55:32: Alex Taku Anton what do you think about communities that are made inside Resonoid uh and expanded to hold I need

1:55:41: to move this uh and expanded to different platforms to give more people into Resonoid as the editing and social

1:55:46: platform thanks i think it's pretty cool like I mean like the big platform of you know the community

1:55:53: um or big platform of I cannot talk big part big part of the platform and what

1:55:59: gives it its life is the community and having lots of different communities because every time somebody comes you

1:56:05: know to resonate people have different interests different backgrounds and having lots of different communities

1:56:10: that kind of helps them you know find their place and kind of grow the community and kind of you know um pass

1:56:16: on like what there's a is about like you know so it like we feel like you know this is a

1:56:22: really good thing and the more communities we get and the more diverse communities like the

1:56:32: better uh Gik is asking um are there ways to make pop context menus for

1:56:38: example confirmation dialogue yeah there's like a number of ways um like one of them you can you can make custom

1:56:44: context menus there's like systems for that uh so like you know if you just want that like you can use that

1:56:50: subsystem you can also literally just build your own like uh worlds like in

1:56:56: items you know you can literally just build your own UI and your own system for it like for example you know this um

1:57:03: this world even has like you know its own menu spawn UI menu and it has a whole bunch of like things there's like

1:57:09: you know various like toggles like you know um can I think that turns out the

1:57:15: leaves off no I don't know which one does which asteroids like um let's see

1:57:21: asteroids turn them off there go grab pillows with players furniture colliders so you can make enough stuff

1:57:28: and you can just if it's on your own you can just make it do whatever you want it to do

1:57:40: but the simplest way might be to just you know piggy back on the context menu because it's already pre-built you know

1:57:46: system we got 2 minutes left so this might be the last question we've got

1:57:51: another short one um maybe it'll fit in but no promises uh Unskilled Wolf is

1:57:57: asking "For driven values do they always get updated each frame if I had a drive that depends on a few early changing

1:58:03: inputs and a lot of mod is there anything I need to do to optimize this so yeah um the system uh for proto flags

1:58:11: it actually tracks you know when values change so uh

1:58:18: when when you source like when you make a drive if all your source values are

1:58:24: you know values that do not change continually and also in the whole chain of like you know driving that value you

1:58:32: are not using any nodes that would generate continuous updates uh like for

1:58:38: example smooth letter smooth will generate continuous updates because even if the input is not changing the output

1:58:43: might be you know changing continuously it's just like you know updating it if you avoid stuff like that the system

1:58:50: will automatically optimize and it will sort of build a list of like you know what values can change and which values

1:58:56: trigger which changes um so it'll only update when any of the inputs actually

1:59:03: change if there's any at if at any point in the chain there's uh something that

1:59:09: generates continuous changes like even for example you know using like the T- node if you use the T- node you you know

1:59:15: do some math use some other values that even a value is going to be updated every frame because the T

1:59:21: updates every frame but if all the sources are you know not changing

1:59:26: continuously then the driven value is also not going to be computed every frame um generally like you know you

1:59:34: might not even like notice like you know this happening because like it'll just update whenever it needs to uh but the

1:59:39: system does optimize under the hood it's also uh uh pretty much the time so we

1:59:46: unfortunately don't have time for the last question uh so uh with this you know

1:59:54: thank you very much you know everyone for watching uh I hope like you enjoy the stream thank you for asking all the questions thanks Sra for you know being

2:00:01: here helping um helping you answer your questions uh thank you thank you

2:00:07: everyone you know for also making all the cool things on the platform like thank you like for hammer like and the

2:00:12: rest of the team for making this super cool world like it's very pretty like I like going you know through and hosting

2:00:19: each other on a different one uh and for everyone you know supporting us Patreon and through Stripe thank you so much

2:00:24: because you're helping us you know keep going at this making you know making this platform better like every day like

2:00:31: and just kind of working on the big things and the small things um we'll see you like you know with the next stream

2:00:36: i'm going to check if there's anybody to raid so give me a

2:00:42: second um anybody streaming Resonate uh looks like there's only

2:00:48: crater jam so we'll send you their way um and also uh one more thing if you're

2:00:56: supporting us Patreon currently uh please consider switching to Stripe because um even if you switch to the

2:01:03: same tier we actually get more money out of it um there's um like Patreon on

2:01:09: average they take about 15% stripe on average takes about 5% so

2:01:15: like we literally get like you know more money for the same amount like you're giving for the same amount you're paying

2:01:21: which if everybody switched so like you know we would literally get like few,000 more each month which we can you know

2:01:27: then invest into back into a project um so with that uh I'm going to

2:01:34: set up rate for creator jam

2:01:56: ce should be ready okay yeah it so

2:02:01: tell they're like hi for us and um and if you're there like uh uh I don't know

2:02:07: if the creator jumps still open but I made a I made a fug noms in the food court in there earlier today so maybe

2:02:14: you'll see it anyways thank you very much for watching thank you you know for everything and like see you see you next

2:02:20: next week

2:02:26: byebye right