Welcome to office hours. We're gonna go ahead and get started. This is the weekly air-mayor section where I ask questions about Nios
So if you have any questions about Nios, please drop them in the office hours text chat
And I will go ahead and get them answered
I'm just gonna go ahead and ping the office hours roll again so people know that we're here
It does take people like I don't know ten minutes to arrive. It's like seven people right now
Thank you so much those seven people for being here. We get to like 20 past. It's like 20 people. It's strange
But there we go
Try to keep this at the same time every single week for as long as possible
Just so people think of it like a TV show. So we have one question right now from specs this question
I'm going to delay reading just for a little bit whilst I open up the code base
Excuse me. Oh, it's because I checked out a branch yesterday
I tried to open Visual Studio Visual Studio and can't find that solution file. It's like oh, yeah, I'm on a branch one second
I'll read the question whilst the code base is loading that takes a while anyone who's opened a Visual Studio project, you know
It's just like oh, yes
I'm gonna spin your computer fans up as loud as they will go just to read some text files because that's Visual Studio for you
So specs this question is
Do wigglers or and wobblers and other components that run on T incur much in the way of network traffic or do they basically run locally?
Masking from matter how much how many might be too many in a world surprised to find how many we could sit you without seeing
Which impact so I know that spinner for example runs locally and that's why
Spinners can actually desync for various people
So spinners are really only good for what I call sort of visual animations rather than sort of functional animations
What I mean by that is let's say you're in a wizard study as a part of an RPG game
And there's one of those like mobile, you know small planetariums in the corner
If those planets on that planetarium are running on a spinner, that's probably okay, right?
Because it's just there to add ambience to the to the scene. It's not there to
Do anything functional so you people being desync is totally fine with that. It's just a you know background piece of art
If however that wasn't a planetarium and instead it was actually like a solar system and you're making a space game where you fly between
Planets using a spaceship you wouldn't be able to use spinner in that case because the planet might be in a completely different
Location for half the crew of your ship which would kind of be a deal breaker
So there you go. There's the difference on spinner at least now the code base is open and responding to control T requests
I can go ahead and look at wobbler
Yeah, so wobble is also local so local drive
And the same with wiggler. We'll go wiggle and wobble
Almost said what what what would too many w words wobble and wiggle do not sync any data
Other than their settings if you change the speed the magnitude etc those will sync
The actual state does not sync so again
they are used for local effects like I mentioned the difference between the model planetarium and a wizard's office and the
Space game where you're flying between planets, and that's why you can get away with quite a lot of them
But do you remember that they don't sync?
Moving forwards to the next question has been difficult to manage the development of multiple versions of Nia since you've said in the past you
Have quite a few things were pretty much ready for an update and there's also small update required like the one we had
But they score is it difficult to track all that considering how large the project is it get get is very good at that
In some cases get isn't like I just had
I don't know why but because I had a branch checked out the shortcut file
I usually used to launch the solution didn't work for some reason
Occasionally I have to remake that shortcut file. I don't really understand why but whatever
Other than that it's good. There are some cases where like mergers are problematic a good example of this that has been in public before so
It's you know
Do you know about it already is color management in color management?
We introduced a new data type color X which I believe you can still see inside Neos right now. It's just not finished
Don't use it. Don't use it
But it's there inside the code base
When we are trying to make the full cut over to color management every version of color in our code base
needs to turn to color X
And so while that is only a one character change just imagine everywhere
Why color is used as a good example there the delete button the default inspector is red and the reason why it's red is
Because someone has typed the word color dot red at some point in the code base that needs to be color X dot red
And so what that leads to sometimes is a lot of merge conflicts particularly when?
You know the color management build is is you know trying to desperately stay up to date with anything else for the video
It's that question, but get pick is designed to be there. I'm still trying to teach members of the team
How get works etc for example?
If you are one of the people who commits to get with the git commit message of update I will
Do the leader Liam?
Who's the guy that plays the wanted guy?
No, no that's wanted the movie of bending bullets
I want the one I was a new one he played memory Liam Neeson. Yeah, Liam Neeson
You know he plays the same person in every single film. He's the guy who gets stuff done
Taken is the film that I was
Referring to that's the mean
Yeah, so if you
Get commits that was it yeah, if you use git commits with just a simple of like update
I will find you and I will kill you
Git commit should describe the change there is no such thing as a
Too long and get commit you should keep the first line of the git commit very short
But you can push enter and then type an essay and git will just handle it
It's beautiful when you do that because people have context about why you made that change
And then you don't do something like at 3 a.m.. Go why did
Bob who isn't at work today because they're on vacation
Why did he make this change because it just broke everything sure you doing that and then secondarily don't commit commented out code
You need to comment something out, and you think you might use it later
you should wrap it in a configuration block or a build flag or you should delete it and
Leave a reference somewhere in your own personal notes about where you can find it in the git tree if you don't have personal notes
Without your code then I don't know what you doing
I just like keep notes for everything like I was setting up the MMC voting server for this year
And I had no idea how it worked
I completely forgot everything because I didn't make notes so I have made notes and I know how it works
And I'll know how it works next year. Oh, it's an interesting question
They say what is a part of Neos that you wish you understood better?
I understood the actual like lower level data stuff the synchronization for anyone who's written a plug-in or a mod
Maybe you'll understand that the majority of fields that do synchronize in Neos are just called what are called sinks
Sink and then not sink the kitchen sink sinkers in to sink synchronize
if you make something a sink it will just
Magically appear on everyone's computer, and I have no real idea how or why because I don't really need to touch it
I wish understood that more simply because if there are problems of it
Which there are I could go ahead and fix them if that questions answered moving forwards to Riggs question
Riggs says well the new Neos have
Different collision physics than the current build asks because I'm trying to make a pool of table
I don't know what you mean by a new Neos, so we do have an item on our roadmap
rigid body physics and rigid body physics will enable you to
Make things like a pool table that isn't spotted right now. It's not like a physics system or anything to do with collisions
It's just an unsupported feature. Yes
You'll be able to do stuff like that in fact a pool table is actually like a really good example of the difference between
Rigid body physics and what we currently have what we currently have is character physics
Which is hey I can jump in the world and I don't fall through the floor
Which you can sort of coerce into making balls and stuff that you can throw around
But it's difficult laggy etc. And there's a huge warning when you do that like literally built into the inspector
That won't be the case when we have rigid body physics if you like more information on rigid body physics
Take a look at the character controller component inside the game
Which has a list of you know talks all about it or take a look at the issue
Which is reference from that character controller component or just search for rigid body physics
Okay, moving forwards to Lex's question. What is the timeout for certain network related actions for example?
How long it takes to automatically get set offline when you crash or how long it takes for a session to disappear off the session
This one you crash. I'd have to look up each of those in turn
Because they're they're probably different
Some of them might just be sort of a function of other matters as well. For example the session lister
I know that that has a couple of update mechanisms
So there's the update mechanism that occurs on our end as in the cloud and then there's the update mechanism that happens
on your end, which is periodically your world browser will
Ask the server for new sessions, and so if those don't sync up exactly like a sort of weird orchestra
Then things that aren't valid might be there. The breaking questions
I'm going to mute and slurp and humongous amount of coffee. Okay, that was half a pint of coffee
I should be good to go now. Why are there two threads? Oh someone speaking the thread from February
Let's go ahead and lock that thread. I will answer the question. It's our fault if it's confusing, but I'll go ahead and lock that one
So Rico says will near support non humanoid avatars from the VR chat depends what you mean by non humanoid
I think that due to a certain population on our platform will probably look into
different leg types at some point
If you mean things like spiders quadrupeds
Any millipedes probably not millipedes, but you know well
I think you're probably asking there for is more generic IK which is a feature that we're interested in
So for those who aren't aware IK and also FK aren't just things are used for avatars or
You know moving arms or whatever inside of
In you know inside video games they're used for the actual fully definite process of those
Which is inverse kinematics or forward kinematics if you don't understand what kinematics are
I want you to think about the cup of water glass soda, whatever it is on your desk that you're drinking
Hopefully you've got a drink on your desk and what you think about you picking up and drinking them the fact that your body
Knows the sequence of muscles to pull and push to make that happen
automatically is
Forward kinematics that's like where you you know where stuff needs to be and so you you know
Just you adjust stuff until it works that way so it comes up in a lot of stuff
It comes up in a good example being of like generic IK would be like a robot arm
So you think about a factory where robot arms may be?
Lifting a piece into place someone I always think about as a car manufacturing line
You know when they take like half the car and this robot arm goes like
Like sucks it to the other side of the car yeah that needs kinematics
So you know where the robot arm is in space that the human body just knows that is is amazing
We don't really understand how it works
Everyone's now sort of waving their arms around and thinking about it next question here from Ozi who says
Not sure how to phrase this right, but how odd is the facial tracking implementation for Nia's?
It seems like the facial tracking software is well buggy horrible and annoying so imagine for Nia's is trying its best
You have to remember that do everything through a layer
so we do
Device integration, and then we do what we sort of like
I don't know if it's literally called this but in my head like sanitization and conversion
So we take the data that the device gives us we sanitize it and we convert it into data which Nia's
Understands and then we blast it out there in Nia's functionality
And that's the biggest example of this that doesn't actually make sense to be integrated
But is integrated right now is that for haptic systems?
We support both the be haptic suit and the oboe suit if anyone who doesn't know what the o suit is good
It's a alternative haptic base suit which requires sticky gel to be affixed to your skin via a tight jacket
It looks interesting
But I don't know if I want to get naked and sticky with the lads just to have some haptic feedback
The point there being both of those systems work and have vastly different API's
But they come out the same as the haptic components inside of Nia's
We want to make that sort of first part like the device integration layer
We want to make that open to you guys to write plugins is the wrong word because everyone goes like but then I can't join other
People we want to make it so you can join other people and you'll be able to write your own device integrators
So if you make a headset in your bedroom
using a workbench and you know an Arduino ever you'd be able to
Integrate it into our systems and it would pretend from the view of other people in the session that you are just wearing a regular
Headset because that would stop the sort of arms race. It's not arms race is the wrong word
But you know, I mean like we have when a new device comes out
Well, I mean my arms race which is the wrong word, but I'll run with it is that you know
New headset comes out does VR chat support it does
Rec room support it does roblox support it does meta horizon support it does neo support it and the answer to those questions is
the first person to support it usually gets like a
Boost because they're like, yeah, we support it blah blah blah
moving on to additional questions
Alex says what did I miss what you can do the recording?
There's also a transcription available which does stress out my computer, which is why it sometimes takes a while
It's like ah VR platform developer is slow on AI thing. Yay
I need like more computers
I know that it's the stereotypical thing for people who work in the tech sector like me in this area to have like server racks in
Their houses or something so many people I know have just got like a full server rack in their house
And they're just like, oh, yes, I could process this transcription through my server rack. I don't I used to it's off
It's the tree. It's been I shipped it from the UK where I lived
To Germany where I live for 18 months
I didn't turn it on and then I shipped it to America and I still haven't got it turned on
There's actually still packing tape on it from when I moved in here five years ago
It's not even really a server. It's just a tiny box that can do what I want to
But yeah, there will be a transcription and there will be a recording
Alex then extends this question with talked about Nia's future. We have not talked about Nia's future
If you like to ask a question, please go ahead and do so moving on to the next question
Riggs says full body locking to hip or head feature possibly on the horizon. I'm used this might be a thing
I seem to be hip-locked
Ah, yeah
So there is a large collection of issues to do with IK particularly when it comes to full body tracking
That we want to look at and improve. Frix is quite sure of what he needs to do there, though
He just needs to you know, have the time and capability to do it. He spends a lot of time in full body understanding
What's going on there?
We get it's problematic. We're just there's nothing we can do about it right now. There's a bunch of changes there
Erin asked what's the difference between forward and inverse kinematics?
I've had a forward kinematics before so inverse is you take the end position and you figure out the joints going backwards
So in the case of a robot arm, you would take the position of the clasper
You know the grabby bit at the end of the arm and you would work backwards from the grabber to figure out
Where the joints of the arm need to be to make sure that that grabber is there?
Whereas forward kinematics is the other way around you start at the top and you are down
I don't know much about it, but I presume like inverse is more
Easy to wrap your head around because you're like, yeah
I want I want the grasp or of my arm to be here
Work out where the elbow needs to be work out where the shoulder needs to be
And that is I don't know because we don't know what mathematics our brains are running
But I believe that's kind of sort of how our brains interpret it as well
Like I don't ever think about my shoulder or my elbow and I reach out and grab my giant mug of coffee
I just grab my giant mug of coffee because that's where I want my hand to be
So I believe that's that question
Moving forwards to Rico's question Rico says will there be more features to make easier to create things for desktop users?
Depends what you mean there if you could elaborate on what difficulties were having as a desktop user
I might be able to answer you more effectively Aaron asks. Is there a question you're surprised?
Nobody has been asking an office hours yet
I'm always curious about sort of like some of the weirder parts of news that no one seems to use
I would love to answer questions about the areas which I use
every day that no one else uses like let's get some more questions about the
3d volumes
Slices the measure tip the meter tip the distance meter component
You know more questions like that like if I haven't heard of the component and you ask about it
You should get like a badge you get like oh my god prime hasn't heard of this component badge
Alex you can watch the recording. I
Can't continually repeat myself. It's it's like we run on into the future
Ozzy says there was a new tip added to initial tools recently. What's that intended? It was intended
I did it and I don't really like I don't care what anyone thinks what I did was I took the mesh visibility
Tooltip and I made it visible inside essential tools. It was completely invisible. I also updated the
this visual for the
component clone tip so that you can actually see it's the yellow one because again like the picture like I basically just
updated the pictures because it was bothering me the
Three people in that week had asked about the mesh visibility tip and I'm like, it's there
It's just the invisible one and I'm like hang on a minute. Why can't I just update this and I'm like I can so I did
I understand that that breaks muscle memory. There's nothing I can do about that
I think it's better in the long run that the mesh visibility tip is now actually visible
I just found it ridiculous
like and then someone needed the component clone tip and they didn't realize that that was the component clone tip because again it was you
Know the picture was very small. What I'd love us to do is get
You know probably get some like good UI
not designers illustrators would be the appropriate term for this particular task to make
Diagrams and pictures for each tool that we would then replace in the inventory
Rather than a picture of the tool tip
It would be like a square with the word developer tip and then a picture of the developer tip
you know like a billboard ad sort of I just think that'd be a lot clearer and better than
An often weirdly stretched blurry photo that you can only really tell which tip it is by the color. So
To summarize I guess it is not a new tip. I just updated it so you can see it
If anyone has a problem with that
I will turn invisible and you won't be able to find me
Just like the mesh visibility tip which is designed to make stuff invisible, but itself was invisible very confusing
Alex's where is the recording the recording will be up between one and seven days from the time of this
Session it really does depend on what I need to do immediately following this if I get distracted
It's suddenly midnight and I haven't done it which then means it's Wednesday and I haven't done it
And then if I have way too much like 3d graphic stuff to do on Wednesday
I just can't I can't run the eye. Rusio says has prime heard of the linear map of 3d or
We're just gonna like test me out. Like do I know these components?
The reason why I'm delaying is because I'm actually going to my youtube channel because I think I have a video on the linear mappers
Yeah, I do 31st October 2019, yeah, I know about the linear mappers
Moving forwards to stifle says I wonder if prime has heard of the lapping multi clip player before. Yes
I have someone was asking about that misunderstanding what was going on. There's one of those that is broken
One of the clip players is broken. I can't remember which one is broken. I need to look at both of their names
I'm in Neo, so I'll just empty object attach component media and see if I can find it
It's in players. It's an audio then. Yeah, there's the lapping multi clip player and the multi audio clip player
And one of those is broken. There was an issue I was reading about moving forwards
Rusio said that they assumed it would be invisible like an in joke. I don't agree of in jokes the hamper
Uses freedom like an in joke is totally fine. For example
Really don't know of a good example
I guess the example is when you like, you know
I mean in the bottom left of discord when you click like the area that's got your your doobly-doo your numbers on it
You can copy actually that's changed recently because now it just brings up that used to be that when you click that it would copy
It to clipboard and if you clicked it like a few times like there'd be a little white to die like the elephant
Logo person would not the logo one but the one that they animate sometimes would come up and go to die or something
That's that's a fun joke
Something that like is a detriment to uses is not a fun joke though. Oh, yeah, Sasha
I do want to ask why is the clear logics interface but icon in there called clear logics which ends born actually called clear
Interfaces no actual confused problem. Just confused me and how that desync. I don't know how that desync either
I'd have to look into it. Maybe they did the picture thing
You can customize inventory thumbnails and maybe they customize the inventory thumbnail for it
But just didn't update the thumbnail being forwards Tiki says there's the new neat say the MMC 23 map
When I play it, I find myself missing blocks if I never actually see the saber inside the block
Especially when the framerate is low. Do you think it'd be possible to make more efficient block hit detection using logics?
Just to know if colliders the most efficient solution to the already
Colliders should be the most efficient solution. I've had people before
That have said something on the lines of like but my logic's collision code is better and I've come like do you have any idea?
What you're saying?
Inside the physics engine that we use to do collisions is
Awesome. Awesome code that you just can't do like overlaps
Intersections all that sort of like terminology for the physics and that's how it works out whether to colliders are colliding and that's how it works
Out if mesh colliders are colliding it's like it's insane. It's examining each individual triangle and seeing if it overlaps of another triangle
It's crazy. You can't do some of that in logic, but not all of it
I've had someone literally say that they were going to take their object and sort of surround it in
Ray cast a little bit like pinhead from Hellraiser to try and see if it's colliding in anything and I'm like
Could you not just put an active collider on it?
And I heard active colliders were bad and I said yeah, but what you're suggesting is much worse
Active colliders are not bad by the way
You just need to use them carefully spec says on that note if you're working with a team
Please don't name your slots after memes instead of meaningful descriptions working with a team is an interesting
Exploration and I'm happy to see that there are you know some standard teams that always come out MSC and do a really good job
but I'm also happy to see as well that there are a lot of people who maybe haven't worked in a team before and are
learning the
quirks of doing that there is a lot of stuff that goes into there for anyone who doesn't know by
By trade is wrong because I don't actually do it right now, but I spent
Five six years as an engineer, and I've spent five or six years as a product manager
I didn't understand what a product manager did but now I do
People often get that role confused as well because a couple word manager and
Manager has sort of connotations of being sort of like a leader or in charge or a boss in quotes
When it comes to product manager, it's anything but our job is basically to orchestrate chaos
And and that's what we do if you're a people manager. That's the traditional management thing that guys are
Afraid of or apprehensive about if you're a product manager your job is to manage the product don't manage people so it's different
Lex looked up. Yep. It's a custom thumbnail
Item texture thumbnail source, I don't think has been renamed I can check for you. I go here
I can go to item texture thumbnail source
Looks like it used to be called texture thumbnail source. I don't know if that was before or after I made a video on it
So I will check my channel make sure that's up to date item
customize
inventory
Customize inventory thumbnails, let's see what I call it
Oh
Dear this is a three minute video run this at five times speed. I am running it faster than YouTube can keep up
Give me a second here YouTube buffer the video
Okay, I'll leave that buffering for a bit. I'll see if my tutorials up to that
There are some frame synchronization issues for physics, which I think we're planning on looking at later. Thanks. Hey, look
so the update was
September 20th, and I did this
Wish here September 20th 2021. Yeah, my videos are date. That's fine
When we when we get going again with updates, I'll
Start having some sort of policy on how I update videos and stuff
I have a lot of people that comment on my world creation video and they're like this is all day
I understand that the - is different but like if you just ignored the - everything's still valid
Think says now that's where you trust on users to understand the names of the UI same but different UI homeless
Wanna step by step holding the hand the exact same, you know, yeah, you are right and I've always said this
I'm just you know reset it we are at time, but I'll restate it
Anyone is free to make Neos tutorial videos and at some point I do hope that the Neos team themselves
make
Their own tutorials at which point they will be much better orchestrated planned and scripted
You know, I'll probably be involved in those etc
The the reason why my channel exists is to do tutorials in my style and my brand which is just like I hit go and I
Record none of my videos are planned actually a couple of them are planned
But like they still aren't planned when I hit there's no script
The one where I did mineable or for example, that one was planned
I had to go get some assets for that one, etc
But I hit go and I just started talking I didn't have any script in mind. It's working out great
Hence why everyone likes them, but there is a point in
Neos's future I hope where my tutorials are sin as
Less good because they are not scripted and that's absolutely fine
And I like that day whenever that day happens
I can we take a look at just a popular tutorial channel for a very popular topic, you know
Maybe web development or something those people they plan and script so so so much
To get the best quality video and then I'm just there like record giggle. Stop recording start recording again giggle
Yeah, I don't like editing if I have to edit it would take me longer to learn to edit than it would to
Just rerecord it. Well, there's been a couple of times where I've accidentally leaked like personal information or something
You know what happens with OBS and I've gone I'll have to edit that out and blur it
I've gone or I could just rerecord it and that'll take me ten minutes
But I just rerecord it take a look at the outtakes video if you'd like to see some of those outtakes
there are hundreds of exactly the same thing there Jackal says that the tutorials appealed to them because
They're not polished. Yeah, I know it's exactly why I keep doing them
I do need to I've got this idea for a meme video where I do a mock
Video in the star everyone else does tutorials. We're gonna have dubstep. We're gonna have intros
We have like a subscriber met thing would have the bell up here
We're gonna have a raid shadow legend sponsor and it's gonna be a very simple tutorial
It's gonna be like how to click a button in Neos like
20 minutes with just like a single like second of left click. I should also you're right
I should also do a hyper cam video. That would be great. I couldn't actually do raid shadow legends
I I put ready to add a legend through the thesaurus and I came up with a very close title
Which I'll make up and trust me that the sponsorship segment will have like a dragon downloaded from sketch fair
But like reading and stuff, it'll be awesome. Okay, we have one final question
I was just about to end but Zach did ask a question says how do I set up a dove dev tooltip again?
You attach the dev to totally
You attach the dev
Tooltip component and everything will just work I can get you the name of that that component. Give me a second
No, that's the logic step dev tooltip. There you go. Yeah, the actual whole part of the video will take
300 times longer than the actual tutorial content of the video, which is just how to click a button
So but that's the kind of the point
Anyway with that we are at time we've been at time for like 10 minutes
I will go ahead and leave us off here if you have any additional questions in the tight in the meantime
Drop them questions and help channel DM me. Send me a carrier pigeon
Whatever you want to do. I will get back to you with another office hours in a week. I will speak to them
Bye bye.