Welcome to Office Hours, it is 4pm so we're going to go ahead and get started.
As a reminder, if you have any questions to ask us, please go ahead and drop them in the prime time thread,
which is a couple of channels up in the Office Hours text channel.
Before we get onto questions, I do have a couple of sort of announcement-y things,
something new for Office Hours going forwards whenever I remember to do it, of course.
So getting started, first of all, it is MMC. MMC starts tomorrow.
You can start making your creations from 2pm Eastern Time, 4am Japanese Standard Time, I think that's JST, and then UTC 1900.
Lots of people forget this, and it can technically cause disqualifications, so make sure you're starting at 2pm Eastern Time.
There is a post in the MMC channel which has a camera time, also a timestamp-y thing to let you know when you can start.
We do it at that because it's difficult otherwise because it's an international competition.
So that's that.
Secondarily, and only when I have something of note, I will mention it in this case, but I'm going to do a shout-out of the week.
It's not going to be every week, but I'm going to do a shout-out of the week this week.
So a shout-out of the week this week goes to... let me just make sure I get the name correct.
I did have it on my notes, but I have lost my notes.
Yes, Amber in the Discord, who made a tutorial on refhacking.
I talk about refhacking a lot as being things to avoid, but things to avoid doesn't mean don't share the knowledge.
So they made a tutorial on refhacking, it's in the tutorials channel, go ahead and read it.
If you're not sure what refhacking is, it's the ability to peek into the internals of Neos and how we store data structures in Neos
and get a hacky way of doing component editing and component property reading.
It is good that there is information out there about how to do it, but do remember it is on the things to avoid list.
Certainly don't treat anyone negatively for the fact that they are talking about that or giving tutorial information about that.
It is perfectly fine to use, you just need to know that it is not supported and it will break at a certain date.
That I don't know by the way, but it will break at some point.
It can also be used for malicious users, but is not inherently malicious.
So if you notice anyone breaching guidelines using refhacking or not using refhacking, just in general,
you can report them at moderation.neos.com where the moderation team will take care of it.
With announcements out of the way, I'll go ahead and get started with questions that we have.
So first of all, we have a question from Tiki who says
"I copied a world to make it local on the headless and for some reason each time I copied the world,
roles permissions are completely reset so everyone was adamant. Is there an easy fix to reset roles to default?"
No, there isn't an easy way to do that. There is a GitHub issue open on that,
it's something along the lines of permission roles being corrupted or something with various phrases that people have used for it.
The best way to avoid that happening, I found, is to make sure that you are saving a headless world as the headless user.
So log in as the headless user into your regular Neos, then you can use save as or save copy to save a copy of that world.
Alternatively, and I understand that this requires a Patreon subscription, but it's probably the best way to do it,
set up a group for you and your headless, save the world into the headless's inventory, sorry, the group's inventory,
and then the group will own it and then any members of the group can update it,
which leads to much less issues when it comes to management of that.
I've recently moved a bunch of worlds into a group inventory and I haven't had to rebuild the permissions on a particular world that it kept doing that for.
That also allows you to do sort of paralysed running of a world, for example, let's say that your headless was running a super cool hangout map,
and then in another session you open from the group inventory, you open that same world,
and you change the colour of the seats because you wanted the seats to be different, and then you save that world.
All you'd then have to do is restart the headless and those updates would happen,
and many people have their headless's restart sort of every six hours anyway,
so it means that then then becomes sort of like a six hour cycle of updates to a headless's world where it restarts and it gets the latest changes.
So that's what I recommend. If someone's available they can find the GitHub issue for that, I'll get it when we run out of questions.
Moving down the list, we've got various comments about hold music being scary,
Windows search being the worst, yep, Rain asks a question,
"Create some figurines of my avatar, but when I try to download them it always resulted in error."
Depends what you're doing there, if you're using the figurine maker from a few MMCS ago,
that will convert your avatar and figurine mode into a static mesh which should be exportable.
Just as a general statement for everyone, I don't want to pick on you Rain too much,
one of my pet peeves when it comes to helping people with Neos is when people say it resulted in an error or something happened,
I'm like, "What happened?" So if you can elaborate what you saw, then I can absolutely help you out more.
Like what error did you see? What happened when you tried?
There's a meme from... I accidentally, here we go.
It's like missing information that enables me to help.
The version of that one which I remember seeing is "I accidentally a flashlight"
and everyone's like "Oh, what what?" and then they just went with the whole thing!
It's like, did you eat it? Did you put it somewhere you shouldn't have?
What did you do with the flashlight? It's like "I accidentally a flashlight!"
But apparently that is an offshoot from the original one which appears to be about a .rar file.
So if you have any more information about what's going on there, I'll be able to help you out.
Moving forwards, Rain asks what headless means. Headless are sort of servers, they're not really servers.
Later on we'll have a feature which is actual servers.
It's a way to run Neos without a graphical user interface.
You can put it onto a server or you can put it onto a spare laptop that you haven't used in five years and it's just under a desk somewhere.
And then it allows you to have a permanent 24/7 uptime world on Neos that you can join.
There are lots of them available, frankly too many, but enough.
People use them to... it sort of reduces the stress and pressure of hosting a world,
because when you host a world currently, if you need to go to bed or you've got to go,
that world will close and everyone will have to leave.
But if you have that laptop I mentioned that's under your desk, then people can continue.
They can continue operating on that world. You go to bed, you wake up, the world's still running.
Headless clients, as they're called, are locked behind a Patreon tier.
So you have to go to patreon.com/neosvr or there's a link somewhere to get there.
And subscribe to the appropriate tier to get headless access and then you gain access to it.
That's also what I meant by subscription.
Going on to Rain's next question, which is what is a subscription? I really want to fund Neosys development.
So there is a Neos Patreon, which is how you can get various perks in Neos.
Right now, due to various reasons, that Patreon doesn't actually really fund development.
So please only use it for stuff that you need, such as storage space, groups and access to the headless client.
Thanks, Rabber. So Rabber, yesterday, last, last yesterday, last week, Rabber was asking about locale files being updated, the Neos locale repository.
And I mentioned that you could download the locale files manually and put them into a folder and Neos would then pick them up and use them.
And since then, Rabber has created a mod which does just that.
That has put a reminder, it is on my to-do list, but my to-do list is like insane.
Next to process locale PRs is do the dishes. So I've done the dishes because my to-do list also had several other copies of do the dishes because my life is a chaotic mess.
But I will ensure, let me just move that down to there.
I scrolled through it and it had like vacuum on it four times and I'd actually already vacuumed.
But I do need to vacuum again, so it needs to go back on the to-do list.
It's just like a big notepad document I keep. I've tried all sorts of systems for making to-do lists better, but this is the one that works for me.
So Rain elaborates on their figuring downloading issues and they said it was taking forever and then it gave up trying to download issues because it was not compressed into a single mesh.
Are you using the export dialogue? Like it should be fine. Depends how you're doing it though.
Again, need slightly more information I guess. Maybe I could do like a tutorial on exporting. I might have some of it somewhere.
It should be fine unless your avatar is like a mess. Like if it's got like thousands of materials, like humongous amounts of meshes, half of IKEA stuck to your face, then it might take a long time.
But otherwise it should be fine. Most avatars are simple enough once they're in figuring mode.
As for your next question, which is "Is there a newest development channel or a feature request section?"
So development, you can take a look at devlog or announcements. I'll just drop those in the chat so you can see those.
There isn't much there right now due to various things that are on announcements I don't want to get into.
For feature requests, you can go ahead and drop them into GitHub. Please do search before you make an issue as there are like 1,700 issues open.
1,783, we're almost at 1,800. And lots of stuff there.
A good example being we get a lot of users asking about dark mode for things like our inventory and contact screen.
That is a feature which is on that list. It's understandable why people would be asking for it, but it is on that list.
Now I've got that open, I'll go ahead and find the rolls being corrupted thing that Tiki was asking about.
"Rolls corrupted. Cohesion rolls are being destroyed." Yeah, actually made by Wraith, a member of the Neos team here. Here it is.
As you can see by the commentary on it, people really, really dislike the fact that this is happening.
Even by shadowpamper, there's even a testing on what's going on.
I do have a tutorial for exporting something? Okay. Oh, I don't remember making that one.
I do have over 300 now, so it's getting a bit difficult to remember all the ones that I've done.
It's been like three years, so...
"What did you eat for dinner last week Tuesday?" No idea. No idea.
With that, we are out of questions. So if you do have any additional questions, please do drop them down into the office hours text chat.
That's a couple of channels above the one you're currently in, looking at the office hours.
Lost. That is not occurring. Hope you're all having a good day, I guess.
I've got a giant box by my front door. It's just a giant box.
And the way what giant boxes work in my huge apartment building is, I have to take them via the elevator down to the parking floor,
get lost like seven times to find the actual room, which is where the trash chutes terminate.
So there's a trash chute on my floor and it terminates in that floor I'm talking about, and then I have to put it into a bin there, because it can't fit down the trash chute.
For those wondering, "Oh, you could cut up the box." Yeah, I could cut up the box, but that would take so long, and it also still might clog the trash chute.
And if I clog the trash chute, and they can prove that I've clogged the trash chute, they charge me $100 fine, so I will venture down to the parking area.
And you'll be like, "Well, how do they know you did it?" And I'm like, "Well, it's almost like the box has my name and address on it."
It's actually really problematic. You see some residents who do clog the trash chute with big boxes, who have pulled off the mailing labels
so that people can't identify it's them that have clogged the trash chute.
That's like when you know as a child you've done something wrong, but you're trying to not get in trouble anyway. That's exactly that.
It's like, guys, come on.
RTX says, "Does Nenus have a mascot?"
Nenus has many mascots.
So some of our mascots are just common memes that we have.
You can see from, if you watch our streams on Fridays, etc., you'll see various things continually come up.
In some aspects, Yellow Dog Man is one of our mascots. It's just sort of a colloquial name for Frixius.
Frixius is also kind of a mascot, as are the rest of the team members, including me.
If you're talking like an official mascot, no.
Like for example, Discord's official mascot is kind of its logo, because its logo is a character with eyes, etc.
PHP has an elephant or something. You know, all sorts of stuff like that.
Chuck E. Cheese has Chuck E. Cheese. I don't know why Chuck E. Cheese came up, I apologize for that.
Someone in here has Chuck E. Cheese's theme tune playing in their head now, I apologize.
Tiki says, "Seems I'm hitting all those nice bugs that are already documented on GitHub every week."
Feel free to ask anyway. I am happy to be your search engine.
I'm more familiar with some of the common problems that users come across, so if I need to find it for you, that's absolutely fine.
So we have another question here from Rain. Rain says, "Can you procedurally generate a world using logics?
You'd be able to generate worlds based on scenes and explore and build on them?"
If you want to, yeah. It'll be a lot of work, but you absolutely can.
There's been various types of that that are similar to that, but nothing explicitly like that.
I believe that you're talking about something similar to probably Minecraft.
So just to let you know, there's various caveats to it, because it has been updated in a while,
but you can actually import your Minecraft world into Nius, if you'd like.
As for non-Minecraft generation, let's take a simple example.
Let's say you had five random shapes. You know, you've got a sphere, a torus, a cube, a cone.
Name a few other random shapes. I've ran out of random shapes in my brain.
You could write logics which randomly picks between those five shapes every meter for the world,
and places one of them at a random size, rotation, and color. You could absolutely do that.
And while that doesn't look that good, it's still random and procedurally generated.
If you do that with trees, you could actually get a visual thing.
But when you're learning, try doing those shapes.
Foxbox says, "Gemini has an issue with Nius. Will it not play videos using the native Unity player?
The video will be a missing image. There are no jobs for it, no errors in the Nius log.
We've tried clearing the cache, fixing the DirectX libraries. We're at a loss."
Sorry to hear that. Have you tried the VLC player?
I actually don't know which player my computer prefers, because I never go into the settings and edit it.
We would need a bug report for that one, though, with more information including those log files.
So please open one over on the GitHub.
Something which I've been playing with in my head about trying to do inside Nius using logics as well
is an algorithm called...
Gee, what's it called?
Wavefunction Collapse. There we go.
Wavefunction Collapse.
Wavefunction Collapse is... it sounds really complicated.
Trust me, you're not going to tear open the world with a black hole or something.
It's just an algorithm for building worlds.
And I think it's probably possible in logics to do Wavefunction Collapse.
With Wavefunction Collapse, you can have an entirely procedural world with all sorts of stuff going on.
It would be a lot of work, though.
For those of you who are VRChat people, or play VRChat, there is a world on VRChat called Stairs or something.
It's elaborate gold staircases with a red carpet, you know, sort of fancy palace-style stairs.
And the stairs go on for infinity. I think that is Wavefunction Collapse.
You can just fall for five minutes and you're still on stairs.
What I want to do is a map similar to that where there's a goal.
The wavefunction does occur, but there is a goal, so there's a path to go through it.
Moving forwards, because we have another question.
Mingyu says "I use a Pimax 8K X with 200 degree FOV. Mirrors will display a double image for me."
This is a known issue with mirrors. I will get you the GitHub link.
I think it's this one. There's lots of issues with Pimax and stuff.
There's lots of issues with mirrors, generally, it seems.
Yeah, I see "First Shader renders oddly a mirror's quest mirror doubling."
"Mirrors not reflecting each other when one is used in blah blah blah blah."
That's by design. Why was it not closed? Oh, they've opened.
Seems like Fruch is saying we could maybe do it later.
So yeah, there's the issue that you're dealing with.
Follow that issue for more information about it.
Rain has a question who says "Is there a way to open any link in NES like it's its own Chromium-based window and use that window similar to any other?"
No, there's not currently.
The closest thing that we'd have to that on our roadmap right now would be screen sharing.
So we hope to have that implemented when we can get to it.
And that would allow you to share a screen from outside of NES on your computer into the NES world.
That's more complicated than people realize because it's basically video streaming.
What we have to do is capture your stream, turn that into a video stream, and then stream that to everyone else in the session.
Rain, welcome to NES. You must be a new player with these questions, which is absolutely fine, by the way.
I don't mind answering them at all.
It's just when I see this many questions, I'm like, it means someone is excited to play NES, and that makes me excited.
So thank you so much for all the questions.
So Rain, again, with a question, says "I'd like to hide my head bone locally instead of just adjusting NCCLIP. Is there a way to do that?"
Currently there is not. We don't support that natively.
There are a few mods that allow you to do it, and someone's going to talk to you about mods eventually.
Neos allows modding, whereas VRChat does not, and there is a Neos mod for that.
If you'd like to have more information about that, you need to go ahead and take a look at the modding discord, where we keep modding content, basically.
Shadow proposes an interesting solution, but that will not work in Mirrors. Like, in Mirrors, you'll have a very small head.
It is a little bit similar to other mods that have existed, but I understand how it might be difficult.
I was playing Stranded Deep the other day. Stranded Deep is... I don't want to say Raft Clone, but Raft Clone?
Raft's like a clearly superior game to Stranded Deep, but Stranded Deep does cool stuff as well.
And Stranded Deep has mods, and installing Stranded Deep mods was almost equivalent to the Neos mod, except there was of course a GUI visual thing for it.
It was basically like, download the mod manager, drag in some zips, hit go. The only mod I needed was... I only needed three mods.
One added a map, because navigating Stranded Deep is terrible. Another one added the ability to use the label maker in multiplayer, which for some reason doesn't work in multiplayer.
And then the third mod was right at the end of the game, to allow me to spawn items, because at the end of the game you need fuel, and to make fuel you need to boil potatoes.
And I was not going to sit there and wait for, I don't know, like 40 potatoes to grow just for the end of the game.
I'd done everything in the game, except the end game, which requires about 40 potatoes to be boiled.
I'm like, I'm spawning 40 potatoes. I'm not waiting for these 40 potatoes to grow. No way.
It's weird because when I was young I saw cheating in video games as something fun, and something that could be done if you wanted to.
But it felt cheating. It felt cheating. But as I've got older, I'm like, cheating is purely because I need to go to bed. I'm tired. I don't want to play this game anymore.
Give me my 40 potatoes and go away.
Rain says they like Neos because you can basically recreate any game if you tried hard enough, or I'd assume that's the goal if not true.
That is kind of the goal. Lots of people call Neos a game, but that's sort of like, not correct, but no one's going to tell you off at doing it.
It's just whatever you refer it to is fine. But you can do whatever you want in there.
We do have first person shooters, we do have card games, we do have parkour, all sorts of things.
I haven't seen an RTS yet. I've seen stuff similar to an RTS. That's things like Command and Conquer, etc.
Someone should build an RTS, that'd be cool. Those are the games where you create units and then order them around a battlefield. That'd be cool.
Racing happens a lot, RPGs happen a lot, there's quite a few systems there. There's even a world where you can blacksmith various types of weapons. They're really cool.
In about a month's time, you'll be able to see additional more games, because there will be some games created for the MMC competition which starts tomorrow.
We have four minutes left, so if anyone has any additional questions please get them typed into the thread, otherwise I'm going to sit here and maybe rant about video games that I've used cheats on.
Someone play Grounded. Grounded is like, really cool, but towards the end it just got really grindy, so again, I cheated on that one.
I wanna go to bed. Let me cheat.
Oh, your questions, so I'll swap to that rather than ranting about Grounded.
So Lex asks "Is it intended for people to be able to view session details of contacts and contacts plus sessions even though they're not a contact of anyone in the world?"
Note this is only possible through the API and not the world browser. "What details can you view?"
Ooh. I could understand the... you're not able to join, right Lex? Cool.
I know that we do consider contacts and contacts plus air quotes "public" for the purposes of guidelines, particularly the adult content guideline.
But, I will have to bring that one up with the team. I will make a note of that right now. Excuse any incredibly loud typing noises that occur.
Okay, good, you can't do it. At least you can't join, that's good.
So for a private session that is a session set to private, not a session that's set to hidden, but that will also work, and it's complicated.
For a session set to private, and you can prove this with the lovely application called Wireshark, private sessions don't even tell the Neos cloud that they exist.
So we get a lot of comments sometimes, and rumors, because I don't know in terms of VRChat if it's possible, but over in VRChat people are like "Yeah, VRChat staff can join your private sessions and be a peer invisible."
And I always say "In Neos that's not possible and you can literally prove it. If you set it to private, the API does not know that you exist."
So we would be able to find it even if we needed to. It will show up in your contacts list that that user is in a private world, but the status of what a contact is doing is separate from the actual instance, so we don't get any instance details.
But it sounds like it might be like a bypass or like a thing, because contacts in contacts plus is something that might change, particularly contacts plus, right?
It might be suddenly you are able to join because someone that is on your contacts list joins, but I will double check with the rest of the team when I get the chance.
I see lots of people typing, but it is half past, so those people who are typing, please continue typing.
But no more questions after those people that are typing have finished typing.
It's probably the most complicated way to say what I just said, but whatever.
I have coffee. Do you like coffee? Coffee's great.
Slinker says "Discord only just gave me a notification about this, Ted." Well Slinker, it has been the same time each week for I think almost a year now.
I'll double check. It's probably over a year. I missed the year anniversary of this event.
So you can just go ahead and put it in your calendar and it will always be this time.
Very, very rarely I do cancel it. Usually when I fly to Spain. If I'm flying to Spain, I cancel it, but otherwise it's still there.
I will move things around, cancel things, and make sure I make it purely so that you have a defined weekly occurrence of me talking about coffee and weird video games to you.
Yeah, I actually have on my to-do list, it's actually an issue assigned to me, is we're gonna re-look at the Discord integration a little bit.
Currently the Discord integration exists in the Unity portion of Nios, and I've already moved it to the Fruits Engine portion of it, which gives us a little bit more control.
Because the Unity project's a bit of a mess. I'll look at that one as well.
Dante says "Hidden is not private. Anyone who finds out the session ID could still join a hidden session."
You have to set it to private if you actually want it private, I see people confused and think misunderstanding has caused a lot of the rumors.
I think, Dante, we as the Nios team, in moderation, we just need to... there's that table that goes around where people are like "yeah, you can do adult content in this table"
I think we just need to make an official one. Yeah, it's like a table of green and red squares about when the adult content policy applies and stuff like that.
I think we just need to make it official at this point. Then we can sort of plaster it all over the walls.
For reference, for everyone that is here, if you go to the guidelines wiki page, and I'm going to read it from the guidelines because I want to misspeak,
I'm literally going to go to the guidelines page and read it straight off there.
I tapped in "Guidelines Nios Wiki" into Google and it sent me to "Optimization Guidelines" which is close but not quite.
Alright, here we are.
"To make use of adult content without violating the Nios usage guidelines, we recommend hosting adult content in a private private world. Private sessions are sessions that require an invitation to join.
Hosting adult content in a world where all users who access it and can view it have consented to view the content and are of appropriate age."
That is adult content 3, 1 and 2. We actually don't mention hidden at all I think in that.
Yeah, we don't mention hidden at all. Yeah, we should make that matrix and make it done and official.
With that though, I think we are done with our questions.
So I'm going to go ahead and leave off here and we will start back up again next week at exactly the same time, at which point MMC will be fully underway.
Please do consider entering the MMC, it is not too late to make an entry.
You have until February 1st to enter your entry and I hope to see exciting things that you've made.
In the meantime, if you have any additional questions, please feel free to drop them in the questions and help channel, direct message me directly, or make up issues, make moderation tickets, whatever type of question it is, there is a way for it to be answered.
Please ask questions wherever you can.
I will speak to you all again next week.
Shadow, yeah, you can enter, I'm sorry, I say goodbye and then someone asks a question, I'm like, sure, go for it.
You could make an entry until February 1st, like there is no entry deadline.
Like people, because there's a form you have to fill in to like enter and it is not required to fill in that form before the first.
You can fill in that form at any point during February, during, wait a minute, I've got my months confused.
Let me restate this, I mean March, I mean March, I'm sorry, it's like the boundary between January and the rest of the year just makes everyone confused about calendars.
You know, like the first couple of days of January where you write 2022 and you're just like, ugh, happens for the entirety of January.
Yeah, don't worry about it.
Okay, I got to restate, you have until March 1st to make, fill in the entry form and submit your world.
Apologies for that one, months, time zones and dates are fun.
Okay, for real now, this time, for real.
If you have any other questions about MMC, just DM me or post to the MMC channel.
I'll see you again next week.