From Neos Wiki
Jump to navigation Jump to search

Prime's Weekly Office hours for Documentation, Tutorials and Questions!

Here are the notes from July 13th 2021

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


Not available for today.


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:

We were potentially moving this office hours to a Bi-Weekly event, but due to the volume of questions we'll keep this one at the current cadence of weekly. So see you all next week at the same time!


MysticPoro Q: how was the event for the Neos team? and how useful has it been given the information given from the con and player base boost.

  • The team haven't had a chance to get together to talk about VBLFC yet. Take a look at the Weekly update or maybe the Friday stream for news.

Sloppy McFloppy Q: What have you been working on?

  • I've been helping with things generally, just tidying things up documenting things etc.
  • Look out for the new DateTime based nodes. It's one of my specialities so I'm also taking a look at some DateTime bugs.

RaviidDidsdale Q: An unrelated unimportant question, but what is your favourite cheese?

  • See various replies on historic.

Mentalish Q; With how the Wiki is set up, will we be able to get the Logix nodes pathways labeled for each logix node? I always have a hard time navigating and finding the logix node in game.

  • I think we can do this. It is now on my ToDo list.

Gray Q: SimpleAwayIndicator has a user ID field, some of my avatar meshes populate that field automatically when spawning in, but if I add the component to other meshes I'm not sure how to get that field to auto-populate with my user ID. I can fill in UserID manually but when the avatar reloads say when joining a new world, the field is blank. Is there a driver somewhere which populates those user ID fields for SimpleAwayIndicator?

  • Double check if a User field is automatically assigned.
  • If it isn't then go ahead and use AvatarUserReferenceAssigner (Component) to assign it.
  • You can use one AvatarUserReferenceAssigner for all of your User values if you know where it is.

Fuzzy Q: When a value is being driven (pink background in the Inspector) is there a way to find out exactly what is driving it?

  • There isn't a current method. Check the UI Roadmap for information on changes in the New Inspector UI that might help here
  • Do remember to check nearby slots, components and logix nodes for Drives, Drivers and Refs. You can often find what's driving it.
  • You can also unpack foreign Logix and Inspect the References to find out what they control:

MysticPoro Q: do we know how far away bepuv2 is from releasing to Neos bit of a hot potato topic so feel free to skip this one

  • I'm skipping this one, Feel free to ask Frooxius or the team but do remember that we don't usually give timelines on many things.

Gray Q: Is there a "best practice" for building logix onto objects in game? Should I be building them in a blueprint so it looks nice, then pack that into the game object which has the logix applies?

  • Prime personally doesn't use Blueprints/Redprints as he finds they lead to behaviours he doesn't need. You should use them if they help you though.
  • General principles though:
    • Pack Small
    • Pack often
    • Separate Concerns
    • Test Packing and Unpacking regularly.

I'm Erin Q: can delay node get a reset/stop current delay? idk if thats possible

Duskitten Q: If at all possible, would it be possible to have some sort of documentation on what exactly "SyncDelegate" is, as ive been playing around with them (as im trying to play around with context menu functions), but I cant seem to find what or how it links to or what exactly it is

  • SyncDelegates are usually internal things. You'll see them lots in UI and constructs which Neos makes for you like the avatar builder or the inspector.
  • In some small cases you can use them with certain components but generically use Button Events or the Button Components instead of them.

Runtime Q: Is there anything planned for plugin documentation? Some basic docs for how the common FrooxEngine classes we plug into work would be amazing, e.g. an explanation of when precisely all the Component onAwake() onStart() onWhatever() functions get called.

  • Not currently
  • We'll probably start with a small series on my channel before beefing up the Wiki in this area.

Earthmark Q: Why not construct neos systems using in-game accessable primitives? I feel there have been usability concerns that are overlooked because the common dev flow for users is different than the flow for main devs.

  • This in some cases is complexity and in other cases is security.
  • We do do this a lot in game with some systems (Inspect the world browser)
  • But for others we're unable to.
  • I provided an example in the Streaming camera dialog where you can move a Twitch Chat from Userspace to Worldspace. We currently don't have a secure way to do that with existing nodes or components so its done Manually using CSharp etc.

Duskitten Q: How long until we get a search bars in logix browser and the component browser lol

  • Check our UI Roadmap for information here. It will be coming at some point.

Nammi Q: Can the Patreon badge be replaced with something else? (The neos logo with a plus in it? /s)

  • The team are looking into this but have no updates to publicly share at the moment.

Nammi Q: The logix node isPatreon shows true even if a user is no longer a patreon, is the logix node going to be renamed to "is/wasPatreon" or will it actually display false in the future?

  • I'll look into this, it seems like a bug but also might be intentional to provide recognition for users who have EVER donated.
  • Please open a GH for it!

Earthmark Q: Are there any public documents on the basis of executing components in neos, for instance if it does dependency graph analysis or other heuristics based execution. It seems very important to understand this to write efficient systems, such as what is the cost of a drive versus a component writing a field?

  • We'll aim to get you what you need here but do remember that in some cases the design of Neos is meant to be that you shouldn't need to worry.
  • If there's a problem in performance please report it regardless and we can see what we can do.
  • In some cases over-optimising through focusing on the engine details might not be ideal.

Duskitten Q: Will there be an update to tutorials you've made in the past for some things (for example grabbable or snappers) that are done using the new UI, rather than the old UI, as it would allow easier ability to follow for new users? Or do you think that currently they're well enough easy to follow reguardless of UI, or will you likely wait for another UI update before making new ones if you have any plans to do so

  • I do plan to re-record some but not until the UI Update on Inspectors.

Nammi Q: I have a friend who wants to subscribe to Neos Patreon, but doesn't want the badge in-game, doesn't want it to be known to other people. Can this be done?

  • I am personally not sure but do double check with Shifty who may have seen this before. She may be able to help you.
  • If you just want the space we can perhaps add it manually but that leads to manual overhead.

MysticPoro Q: whats the belt menu?

  • Its the old version of the dash menu. Take a look at some of my older videos or the "Neos Museum" world by GearBell to see it.

GunGryphonQ: Many times data reference fields do not specify which data types or objects they accept. Will it be possible to have the reference field hint at their intended type?

  • Check our UI Roadmap for information here. We may have certain enhancements or changes here.
  • If you want to double check for now. What I do is pull an inspector for the object and then using the Logix tip interrogate its type.
  • SOmeone might be able to use the "Get Type" node here to build a fancy UI for you in the meantime.

Gray Q: Is there a component to check if the user has opened the SteamVR overlay? Like be able to toggle "present in world" when a user opens the SteamVR overlay?