You've heard me,
but I was muted.
Interesting.
OK,
never mind.
Whatever,
um,
whatever,
we'll just,
we'll just continue.
I lost the recording of,
of the first part of it cos I got confused.
Uh,
where is?
I would love to see if I can find the webcam cable.
I,
I've located the cable I need.
I need to remove this flash drive,
plug this in.
And then that should
turn on and appear
eventually.
Come on,
maybe we'll plug it again one more time.
Come on dog,
not dog,
webcam,
yeah,
just referred to the webcam as a dog.
I don't really know what's going on there.
All right,
there we go,
dog cam.
Yeah,
dog cam.
All right,
so we'll skip the questions that I,
I,
I answered cos those weren't resonate related when I thought I
wasn't recording when I was recording and I wasn't muted.
So we'll go on to
resonate questions,
um,
and we'll go from there.
So J4 says,
um our components removal upgrades handled the same way when importing
a resume package or a 7Z uh son be ost them.
Um,
if not,
how is backwards compatibility insured the packages that raw files don't have.
Um,
it,
I saw the conversation about this one in the wiki channel,
and I,
I think the easiest way to answer it is
with a resonate package,
we get more information about the source and the context
and the resources and the assets and and stuff like that
within the ressonite package.
Like there's like metadata,
there's information,
there's all sorts of stuff that,
That we might need to put back together
whatever's contained within that file,
right?
It's everything that we need.
Whereas the 7Z Bison Busson is just one file,
right?
So if the 7Z file doesn't contain,
for example,
the assets,
then
they won't be included.
So a good example is if you export a resonate package of an avatar,
we Include the avatar's textures,
but if you just used a um 7% of an avatar,
then
the
uh textures wouldn't be included,
but the inside of that file would have a reference
to the textures elsewhere and if that reference gets deleted,
then um the,
the person file wouldn't work anymore.
So the scenario there would be
you save a 7 Z person
and uh it contains your avatar,
and then you delete your avatar from resinite entirely,
like everywhere it is.
You delete it all,
then you reimport the 7 Z bus,
the textures wouldn't load because they're not included.
Whereas if you did the same thing with a redisonite package,
the textures would be included
and it would come back in fine.
So wherever possible,
I recommend resonate package now that they're there for,
um,
offline exporting.
You can of course still use 7ZBuson but just know that there's
gonna be orphan links in there and um it's gonna break quicker.
Uh,
Noki says,
uh,
are assets used only in a published world included in the user's data storage limit?
No,
no.
If you save an asset to your inventory,
um,
that cannot be found anywhere else,
so I fed her.
A good example here is like,
OK,
let's say that.
You,
um,
you upload an avatar and it's your avatar,
you're the only person that owns the textures.
Um,
you're the only person that owns the mesh.
That will always be yours and will always count to your storage.
However,
let's say instead that you uh took a publicly
available base from one of the avatar worlds,
but you made your own textures,
then the mesh won't count towards your data storage limit,
but the textures will,
because those are unique.
Um,
and it,
there isn't like a hard and fast rule to to do it.
One of the things we want to do is actually add UI so we can figure it out and,
and help you understand what's going on there a little bit more,
uh,
because the uniqueness of an asset is based on its hash
and not like
any sort of human measure of uniqueness.
And so that means that,
um,
while there's probably thousands of copies of
the Rex avatar inside our cloud storage.
Um,
they're not all identical and therefore all of those will maybe have,
you know,
different,
um,
size storage requirements.
Uh,
but yeah,
basically,
anything that you put
into your cloud that is unique
will affect your data storage level.
Uh,
Noodlebugs asks a while ago,
I heard that someone was working on an out of game flux editor for Resonate Packages.
Do you,
you know if that's still a thing?
Um.
Yeah,
I think I,
I,
I think,
I think someone's
doing that.
I saw a bunch of stuff about it.
I don't recommend it.
If they're doing it,
go for it.
Um,
next is modern,
who says,
speaking backwards compiler B,
uh,
there's an issue I had where I finger pose source was removed and
replaced with I finger pose source component
that basically had the same functionality,
but anything that used I finger pose source was broken.
I made get a bit out of it,
but I didn't get any response.
Can I put the issue here?
Uh,
yes,
but you won't get any response about it here either.
Like,
if,
if you're not getting a response,
it's not that we hate you,
it's just that we haven't got to it yet.
Like we're very,
very,
very busy.
As you can tell,
I'm extremely busy just petting the stock.
I'm happy to talk about them,
but like I have to prioritise questions that aren't just
link a GitHub issue help question mark,
right?
Uh,
because if we did that,
there are thousands of issues and that would be all that this segment,
uh,
contains.
Uh,
Noki asked me a clarifying question related to the previous question.
If,
uh,
they add a big image to this public published world I made,
I don't have to worry about file so terms in my own storage.
If you own the world
and you save the world,
and that image is unique,
it will be added to your storage.
If the world is owned by a group and you save it to the group,
that new image will be owned by the group and it will affect the group's storage.
Um,
and the same with reflection probes,
yeah,
that's basically just an image.
If it's unique,
you pay for it.
If it's not unique,
you don't.
Uh,
new log says any exciting performance fixes or updates coming.
Um,
big one that's being worked on right now is the particle system.
Um,
once that is done,
um,
it is moving us on the sort of path of,
of decoupling,
uh,
for extension from
unity.
And so it doesn't look like it's.
Uh,
associated with performance,
but it really is because it,
it like detangles us,
right?
If you imagine like a big box of cables right now,
that's,
that's resonate,
and we're just trying to sort of like straighten out all those cables and
then we can replace the cables with shorter cables or more performance cables,
etc.
I keep talking about wanting to make a tech tree,
like we can't do a roadmap because like we
we we we haven't planned out things enough there,
but we can do a tech tree where it's like,
hey,
uh,
we know that this item needs to occur before this item,
and we're currently working on this item.
And so we could render it,
you know,
like a video game where there's like an hourglass
or whatever on the item we're currently working on,
and that,
that might help.
One of the things stopping me from doing that though
is I'll probably get some parts of it wrong.
um,
and so if I get a part of it wrong,
it's gonna to be like,
uh,
you know,
so,
uh,
well,
we'll see.
Are you gonna stand there all day,
dog,
or are you gonna sit down?
He's really spooked by the people moving in.
And now there's a garbage truck outside,
it sounds like.
Uh,
so modern asks,
out of curiosity,
do you know why meshes with a lot of blend shapes take long to,
uh,
process and load in?
Yeah,
so
every single vertex,
which is edited by the blend shape is effectively a separate model as,
as,
as Nuki says,
right?
So,
um,
like you imagine like a,
a wardrobe for like a theatre play,
but it's just your avatar with various sort of faces,
that's why.
Um,
that's why I like the recommendation is to bake those blend shapes and also
split the head and body mesh because that means that you don't have to have
all of the face track blend shapes affect the body mesh.
Um,
that's like easy to do in blender,
maybe I should have a tutorial on it,
but like cutting off your head,
easy to do a blender,
um,
and it has
awesome ways of doing that.
Uh,
if anyone who doesn't want to bake their bone shapes for a reason,
I,
I just don't care,
bake the blend shapes and um
you'll
have a better performance for everyone.
Um,
and just save two copies of your avatar.
Like I'm,
I'm done like arguing why you should do that,
you just should.
Yeah.
I've been meaning to,
and I don't know if anyone knows,
um,
but I was watching,
uh,
the carrot creator of,
uh,
Dragon Age Veil guard,
and
I was just wondering like how they do character
creators in like that game engine kind of concept.
cos if we had a car creator
like Dragon Age Veil guards,
like it would be good,
right?
Most people would be.
Oh,
you know,
I don't have an avatar,
I don't want to import one,
it's like,
well,
great,
here's a character creator,
right?
So
interesting to see if we could
figure out how they're doing it.
I don't know if it's blend shapes or bones or anything,
and I presume that once you're done with character creation in games like this,
they sort of do
some sort of bake
to make the model less dynamic,
but I just have no concept of how all of that works.
It would just be like,
it would just be interesting.
It's bone shape.
Like there's some of it that like would also affect the,
the skeleton though,
right?
So there's like height and,
and build stuff
that has to affect like the,
the layout of the skeleton.
I don't think it can be
entirely blanch shapes.
It's,
it's gotta have to also be bones.
Um,
the,
the facial animations that you get in AAA
games are bones and blend shapes guaranteed,
cos they're just like very,
very,
very expressive and varied.
So it's,
it's gotta be more um
flexible than just blend shapes.
They're just moving in,
feather,
there's no need to be scared.
They're just moving in.
They've got lots of furniture and stuff and they're just moving in.
Feder,
I'd love to just,
you know,
like take a look at the,
the source material,
the source code,
the,
the editor there to,
to,
to figure it all out.
I think it would just be like cool to look at.
Um,
what I say is I do sort of one of those mesh loading on
a separate thread because it always seems to lock up the main one,
just curious.
Um,
it's probably the
like slot decode.
So you know the thing that like.
Uh,
we keep talking about how like it's,
it's loading slots that's a problem like that,
that's probably what's going on.
I'd have to look
into
like the code to figure out if we did the mesh loading on a separate thread.
I don't have the code open and I actually don't have time to open it today.
I go straight from here
to
get ready and then I'm off
down to UW.
Uh,
Mr.
M says,
I heard something about quadruped avatar support,
whatever that's called,
is that happening at a later point?
Yeah,
so when we redo our IK
we'll have um support for.
We'll have support for more generic rigs,
and that might include like better
quadruped support.
Um,
you can do it right now with a bunch of like hacks,
but it'll be better once we have,
um,
more generic IK support.
Like he wants to relax here.
He just doesn't know how cause he's still scared
of the people moving and this is like,
he's like half fallen over.
Come on,
just,
just sit down,
just sit down.
There you go.
And asks how the AIO swap went,
yeah,
it went fine.
Uh new AO's in there,
um,
I'm laughing cos like the
AR AI is just getting bigger and bigger,
and so the majority of the side of my computer is just a giant glowing block now.
uh,
but yeah,
it all works.
Um,
I'm happy about that because I just want technology to work and I,
I,
I just,
I,
I don't
care.
I don't care,
right?
Um,
I just want it to work and if
technology gets to the point where it doesn't work for some reason,
I'm just angry at it.
I just,
I just don't care,
like
work.
My dad used to have this,
uh,
he only he only did it like once or twice,
but
it was uh
it was always funny and I always remember it.
Uh,
they,
my dad and mum were doing like a
dinner party for some um family friends or whatever,
and the blender just stopped working.
And he went,
I'm really angry at this blender,
but you know,
I,
he was swearing at it,
etc.
It's gonna go up the end of the garden in a minute.
And it's always a threat,
he used to say,
right,
yeah,
it's gonna go up the end of the garden,
but this one particular time with this blender,
he literally just opened the back door and threw it out
and then carried on like with the rest of the dinner party.
And that's what I feel every time technology breaks cause
like I'm,
I'm technical,
right,
so I,
I don't even class like simple errors or simple problems as bras anymore,
they're just like how you use computers.
Like I just,
you know,
restart it or fix errors without doing it.
But if it gets to the point where like,
I am not capable of fixing it,
it,
it's,
it's risking going in the garden.
So in this case,
I don't know what's dead about the AOO.
It could be like electronic or it could be that the pumps failed,
but
like I didn't care,
um,
and I just bought another one
and it works,
and I'm good.
Yeah,
what's the,
um,
Yu Gi Oh place?
Is it Yu Gi Oh,
Shadow Realm?
Yeah,
I,
like for example,
on my index controllers,
there's a bug with the right one,
and I'll explain this,
but like I,
I guarantee none of you know this fixed because trust me,
it's been years,
right?
But
the right
controller will randomly just disconnect
from.
The source computer from the headset,
and it will swear point blank that it's
still connected because it'll still have the green LED
and Steam will still say it's connected because it'll still be like,
you know,
good coloured in on on Steam VR's,
um,
display,
but it literally won't be sending any data.
And I can turn it off and Steam still thinks it's on,
and I can turn it on and it will stay on blue LED
for a bit and then go to green immediately and be like,
yeah,
I'm done tracking.
It's like you,
you literally aren't.
And the only way I can fix it right now is by restarting my computer,
so that's what I do,
um,
or by plugging it in.
So sometimes I just grab a long US USB cable and plug it in,
depending on what I'm doing.
Um,
and I've done
every imaginable troubleshooting step,
every single imaginable troubleshooting step,
uh,
but still can't fix that.
And.
Like,
that's one of the reasons why I haven't been in VR as much,
cos like that's happening and it's just like I,
I don't even want to think about it.
OK,
it's a question here from Kalli who says,
curious,
is there a con uh conical connoal?
I don't know,
mechanism for invalidating the as caching a remotely loaded URL.
Uh,
no.
Yeah,
I would just change the URL in some way.
Uh,
I,
I would have to look how we handle cash headers,
um.
But like I don't think we handle them to spec.
I missed the question.
Uh,
Red says about the new part of system,
how much more performance is on average.
Whenever you ask like how much or like
when or like
etc.
you're asking for a measurement,
but you're not being like prescriptive about it,
and it's difficult to answer.
So like what metric do you want that in?
Do you want that in like cheese,
frames per second?
Like what,
what do you mean?
I can't,
I can't measure that,
right?
It's not possible to measure that.
I can only estimate it.
So like maybe the better question would be,
is the new particle system more performant?
to which the answer would be yes,
but like I can't measure it.
We can totally add tooling to the engine to allow us to measure stuff like that,
we just haven't,
and that will probably be part of the performance update later on is to sort of like
figure out or at least document internally our.
way of measuring performance and then maybe we can start reporting on it.
But like,
I can't,
we know it is more performant,
but we don't,
like,
we can't measure how much that would be.
Just setting some stuff up
for this talk.
I downloaded like a PowerPoint file,
but like,
it was made in Google Sheets and so Google Sheets didn't,
um,
Didn't do a good job of converting it to PowerPoint and it deleted my font colour.
Um,
so I just put like the hyperlink to the Google
slide deck on the on the flash drive I'm using,
and I'll just open up the Google version of it.
Uh,
Mr.
Mem says,
is Ressonite more important than its predecessor,
um.
Yes,
in a bunch of areas.
No,
in some other areas,
but,
like,
well,
like,
mostly yes though.
There's a bunch of like obscure bugs that people
run into and DM me about and they're like,
oh,
this worked over here,
it's just like,
yeah,
I know,
like we are so busy and we're trying our best,
please.
Got some clout here,
this is a mixer mug.
Specifically for
the bedrock services team of
of Mixa,
and it has Diet Coke in it.
I'm out of regular glasses,
so I'm drinking all my drinks out of mugs right now.
I've got to load the dishwasher.
Red says,
have you played buckshot Roulette?
No,
um,
I wouldn't play that game.
Um,
I hate like
luck based games,
if that makes sense.
Like I know it's like,
I know luck like occurs everywhere,
right?
You know,
you play World of Warcraft and you kill a boss,
there's only a certain percentage that will drop an item.
Got it,
understood.
But
that one's just like randomised and it's,
it's all over like YouTube because it was like,
I don't know,
like it's one of those like cool reactiony games.
Like here's an example,
OK,
so if you're if you're playing a scary game,
let's say Amnesia,
Dark descent,
um Cry of Fear.
Uh,
5 nights at Freddy's,
like whatever sort of game like that you,
you imagine,
and a jump scare happens,
I might
jump,
you know,
startle,
I might flinch,
but I'm not gonna like be expletive or loud or swear or yell,
and I don't think any of these YouTubers would either.
They're just doing it because the camera is recording them.
And so it creates this like weird narrative that like jump scared games are funny
because
people have funny reactions to them.
But like I get scared of video games and I just go like
hm.
Um,
uh,
moving forward to modern's question,
I'm sort of curious why the huge loading
hititch happens when you first start up resonate.
There's a bunch of loading hitches when we start up resonate.
Um,
we,
we don't really do this because we're too small to do it,
but like eventually we will if we get large enough.
We'll start looking at metrics,
right,
and we'll start sort of analysing them and figuring out
what we can do to make them better.
And
trust me,
I have a lot of experience with stupid metrics,
like,
uh,
here's a stupid metric for you,
um.
Monthly active users,
tells you nothing.
Like it tells you how big your audience is,
yes,
but like,
it can be overindexed to the point where it's like,
oh,
we want more monthly active users,
what can we do?
And then you just go down routes of like acquiring more users.
Um,
instead you need to look at things like retention,
etc.
But one of the things you need to look at to,
to get a handle on retention is to figure out like,
when are your users leaving?
And in a lot of cases,
I think that would be in the sort of 1st 1 or 2 hours of their experience on resume.
And so then the actual
effective metric to start fixing that might be
time until first meaningful interaction.
It comes up a lot in in speed running as well.
It's like how,
um,
cos like speed runs stop the clock at the last meaningful interaction,
uh,
from the user,
so maybe it's like the final hit on the last boss
or the final OK on a piece of dialogue or whatever.
Uh,
the other end of that is the first meaningful interaction.
So what is the first meaningful interaction that you do on resin,
and that might be,
for me,
it's open up my context dialogue and join a random session,
right?
Uh,
for a new user,
it might be
in the tutorial world,
able to move around,
no lag,
no hitches,
like,
what's the time for that?
And if we start recording that and working on improving it,
again,
we can sort of report on that and we can.
Uh,
work on that.
So maybe it'll be like,
oh,
look,
it,
it takes,
if a cloud home's included,
it takes like 1 minute and a half
to get to the cloud home on launch.
First runs more like 2 to 3 minutes.
What if that was 30 seconds?
Could that be 30 seconds?
How could we get that to 30 seconds?
Um,
and at that point,
we might have a bit more information about what's going on there,
but we're not looking into that.
Uh,
Nuki says,
how heavy is an intersection shader again,
what number are you looking for?
kilogrammes,
grammes?
What measurement?
Um,
I don't know,
I'd have to look at the shader code.
I would imagine it would be
slightly more heavy than the sadder that does not have the intersection mode,
uh,
cos it needs to calculate an intersection,
which is like an additional math step.
And then it needs to modify the,
um,
like the rendering on that intersection.
There we go.
It is now 1:30 and like I said,
we need to end on the dot here,
so that's me over.
Um,
I'm gonna do something funny for the,
for the camera though.
Look,
it's Mr.
Feder.
I really don't like that.
I will speak to you later,
bye bye.