From Neos Wiki
Jump to navigation Jump to search

Prime Time, ProbablePrime's Weekly office hours for Questions, Tutorials and Documentation and anything else that doesn't really fit.

Here are the notes from 8th February 2022

These are rough notes typed by ProbablePrime. If there are errors please edit away!

Audio recording of this Office Hours:


Please do remember to check our Roadmaps as a lot of questions here are partially covered there. Do continue to ask them but the roadmaps are there for you to read:

Please use our Contacting the Neos Team section to reach out! Please make GitHub issues for your issues!

For security issues please read our Security Policy. For moderation issues please submit a ticket on our Moderation Portal.

Random Note on Rumors

I'm getting a bunch of Rumors heading my way this week, so I'm taking the opportunity to let you know:

  • If you hear a rumor and want to clarify it or check if its true.... ASK US. You can DM me or ask at any of the contacting the neos team options.
  • Please don't take them as fact without fact checking your information. Missinformation and disinformation is rife and its very easy to confirm information with me. Ask and I will answer.

Common Rumors from this week:

  • You need to pay $ or NCR to play Neos - FALSE, Neos is free.
  • NCR would not be given out in the February Patreon Cycle - FALSE, this was given out. NCR changes will be announced.
  • You will be banned for reporting security issues - FALSE, if you breach the security policy you may be though. So make sure you follow it.
    • Examples of breaching this policy include:
      • Testing security issues in public, without the consent of users present.
      • Showing off security issues, or bragging about them in public.
      • Using these security issues to breach other guidelines including but not limited to asset theft, harrassment etc.
    • Follow the security policy please!.


ohzee: Is there a component that you wish people knew more about and used?

  • The Common UI/Button Interaction ones. Seriously, I don't use LogiX In a lot of UI that I make they are insanely useful.
  • Data Presets. Even more lack of LogiX.
  • The majority of the MMC voting UI just uses the above two. Every year I don't even need to unpack the logix I just update some data presets and the new categories appear.
  • The world browser in dash uses 0 LogiX due to these components.

Lexevo: In previous updates, there were features that weren't fully explained in update notes or on the wiki yet. Would using a tool like DotPeek to figure out the feature yourself still go against the guidelines (the 'no reverse engineering' part), even with the new mod and plugin policy?

  • I can't tell you its ok to use DotPeek, its against our EULA.
  • But if you're making Plugins or Mods for Neos, you might need to.
  • Please make sure Documentation requests on the GitHub are open for everything that you don't know how to use.

Spex: I expect the answer is "No" but are there any particularly secure ways of storing something like a REST API key for use in Neos? Or would you need to use something like a separate bot account outside of Neos with a plugin to have any certainty regarding that?

  • Not right now no.
  • Worlds are too open. Pretty much any method that puts a value in the world could potentially be read by a user in a session with you.
  • In the future we'll likely have some stuff to help here for example some combination of Hard Permissions, Collections and the LicenseID system.

Jam10o: I've heard whispers something along the lines of "the dash and notifications and everything local is technically just a world that is overlayed atop any world you're in" and "there's a [forgotten tool name] that allows you to edit your user space world" - how true are these statements, and if they are, how do?

  • That's correct!
  • Userspace runs as a sort of "overlaid" world ontop of any world you're in. its a completely separate world.
  • to inspect it you'll need a userspace inspector, Turk has one in their public folder. Its a facet that when added to your dash will open an inspector for you in userspace.
  • Be careful, you'll probably break something :(

Lexevo: How do Workspaces work (The workspace component)? Can we use them ourselves? If we use them, how do they save (for example do they count towards our storage space and how would we delete them)?

  • I'm not entirely sure, workspaces store your Facets and your dash configuration.
  • They're not officially supported for outside of Dash use right now.
  • Use at your own risk, we might delete, break or modify anything you do with them.
  • Have fun!

Cervox: Whats up with the slowdown of updates recently?

  • There has been a slowdown for sure.

Turk: What have you guys been up to in the background? Or is it not allowed to be shared at this time

  • The moment I have something I can talk about we usually do.
  • Check our roadmap or announcements channel for updates on everything.

Turk: There was a recent photo from the main account that folks were having fun with seeing in the community, is there a reason that a 3rd party was asked to make it vs the content team to make it?

  • Turk was referring to an illustration the Neos VR account made.
  • Personally, I think its a cool Illustration but some of the details around its wording and design are a little confusing for some users.
  • It's exceptionally normal for a company to occasionally contract to a 3rd party for various items. Not everything can be made in house and not everything should.
  • If you think this is strange, please look at 99% of other companies. They all do this :)

Dukitten: Are there any new funny nodes that have been added in testing, or are you not allowed to say

  • Everything I'm working on is in Devlog. For fun though here's some test code for this issue:

// (String to test, Expected result, Escape Handling) (string, string, EscapeHandlingType)[] EscapeFixtures = {

   // Test that It doesn't do any crazy stuff when it shouldn't.
   ("Test", "Test", EscapeHandlingType.JSON),
   ("Test", "Test", EscapeHandlingType.Regex),
   ("Test", "Test", EscapeHandlingType.Uri),
   // Basic quote escaping
   (@"""Test""", @"\""Test\""", EscapeHandlingType.JSON),
   //Regex doesn't care about quotes
   (@"""Test""", @"""Test""", EscapeHandlingType.Regex),
   //Uri's are fun
   (@"""Test""", "%22Test%22", EscapeHandlingType.Uri),
   //Regex escapes spaces
   ("t e s t", @"t\ e\ s\ t", EscapeHandlingType.Regex),
   //So does a Uri
   ("t e s t", @"t%20e%20s%20t", EscapeHandlingType.Uri),
   //JSON Doesn't care
   ("t e s t", "t e s t", EscapeHandlingType.JSON),

}; String escaping is fun!!!!

GunGryphon: Do you think the Neos desktop mode will play well on the Steam Deck? Will there be any specific control accomodations for it?

  • I don't know. Froox requested a DevKit but has not received one. I don't make hardware recommendations without testing myself.

Duskitten: Do you have a recommended formatting guideline for adding things to the Wiki, and/or would it be possible to make a tutorial on how to add things to the wiki, as Y'know, consistancy is important

Spex: Any near-term potential for better emoji support in Neos text fields? I find there's a surprising amount of value in having a free graphics library available so easily. Maybe making use of Mozilla's open source emoji library?

  • That's difficult to do right now but we might be able to bundle it in with the contacts screen work where messages will be somewhat overhauled in design.

Duskitten: Will we ever have <url> or <img> functional as tags for text areas

  • That's tricky, our RTF support right now isn't fully formed and we need to limit how much stuff we add to it, otherwise it becomes a fully featured HTML browser which we don't want.

Duskitten: In the case I want to add a url in a text field (as like a clickable link) do you have a good suggestion for how to get around that?

  • Float a box collider oveer the location of the text, add a hyperlink component to that box collider.
  • Its horrible, but it will work.

YOHO: do you think its possable to make a call in neos? so like the voice recording? not with your sell phone

  • Its on our roadmap yus!

Duskitten: Why do casts and stuff fly to root, still something i dont understand

  • That's a bug assigned to me, I haven't looked at it for awhile.... sorry :'(

Duskitten: What has your most favourite thing to have worked on in neos thus far been

  • Hard to say, there are so many things.

Sloppy McFloppy: Can't remember if I asked this in a previous office hours, but what has Froox been up to as of late? He's sort of gone dark.

  • Froox is around, they're working hard on the future of Neos.
  • They're just being less social recently. Remember that even if you don't see someone it doesn't mean they don't exist.

Spex: Do you have the slightest idea why there exists a Beveled Box procedural mesh and also a Sugar Cube mesh that also just appears to be a Beveled Box mesh?

  • Historically, Neos has a slightly different architecture where we kinda just made meshes specifically for items. Its a little weird.
  • Take a look at the standard Neos Button, it has its own meses etc. Very werid.
  • So tl;dr weird historical stuff.