From Neos Wiki
Jump to navigation Jump to search

Prime Time, is a weekly Office Hours about Documenation, Questions and Tutorials.

Here are the notes from the 6th July 2021.

These are rough notes typed by ProbablePrime.


A recording will be available soon.


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:


Gun Gryphon: Q: Will get local user always return the client's user in local space or is that different?

  • There's a lot to unpack here. So I'll explain each part.
  • The Local User node outputs a value which is local to each user playing Neos. For example if Frooxius and Prime are looking at its output. Frooxius will see Frooxius and Prime will see Prime.
  • Local User Space is a node which outputs the slot which the Local User is parented to. If the user is not parented to anything it will output "Root".
  • "Userspace" is the sort of additional world which runs ontop of the world you're in, Only you can see it and it contains things such as your Dash, Friends Menu and Inventory.

Gun Gryphon: Q: does most math or operators in Logix (ex. Float to Int convention) get sent straight to C or another highly optimized pipeline?

  • Neos is written in C# and most mathematical operations use a Library Called MathX which the Neos Team wrote.
  • MathX provides optimized routines for certain slower mathematical operations.
  • For everything else regular maths is used and is fast enough.

There were some questions about the Schedule of Office Hours check the schedule on its page Office Hours.

Gun Gryphon: Q: Is there any way to reduce the update rate of certain driven objects?

  • Don't worry too much Neos will self-optimize most stuff.
  • Most operations have a speed input. This will lower it.

Fuzzy: Q:What's the 'accepted' way to find which user your logix is attached to?

  • The Get Active user node, it gets the user which the logix is parented to.

Shadow PantherQ: If a user has clock drift (say, 5 minutes from actual time) and joins a session, would User Time Offset be also off by 5 minutes or does it work with timezones and (in most circumstances) return the whole amount of hours?

  • All times will be offset by 5 minutes except those that are explicitly Written by another user.

SHFR_HQ: Speaking if timing, is there someway to embed time stamps in video from the streaming camera?

  • Not that I'm aware of. You could overlay something in OBS or in game though.

Sloppy McFloppyQ: so if you had a local time check trigger something to happen in a world at a certain time, would it only happen for people in the correct timezone, or for everyone?

  • If you modify the world state in response to this trigger then everyone will see it. If it is a locally driven effect then only you would see it.
  • You can modify the world state using many logix nodes such as Write, Set Global Position, Boolean Latch etc.

FuzzyQ: Camera UI - with the Twitch chat attached - recently the buttons on the Twitch chat are greyed out, not just for me, so the chat can't be detatched and pinned... is that some setting that's changed somewhere, or...?

  • I asked the User to double check in their own world and they said it was still happening here
  • I asked them to Open a GH issue and we'll look into it. I haven't experienced this.

GunGryphonQ: To confirm, an impulse on an object that is enabled/active for one user will not update anything for other clients.

  • If the impulse modifies the world state via a write(Write Node, Boolean Latch, Set Nodes(set position etc). Then everyone will see it.

GunGryphonQ: Does a Local fire on change have the same effect?

  • Yes if you write the change or modify the world state.

TurkQ: Actually with the recent SignalIR additions, curious would the difference between the push pop nature of that or streams vary? Say we use a SignalIR format vs a Stream Format (More of a Data Model Question but if not don't mind me)?

  • SignalR is only used for data channels such as Friend Requests, Mesaging, Cloud Variables etc. It is not used for in session communication such as Voice, Object State or Object Locations. It won't be used for those things.

KungFuMonkeyQ: Since SignalR has a builtin fallback to websockets, will a websocket request in Neos be able to connect to a SignalR server in its websocket fallback mode?

  • No, the Existing Websocket functionality in Neos can only connect to Websockets for now. This may change in the future but SignalR is at the moment only an internal thing for Neos itesel to use to connect to the Neos Cloud.

FuzzyQ: Do you like crumbly Lancashire cheese? (the white one)

  • Yes, I like any cheese.

I'm Erin: Q: how long until support for touching yourself

  • This is a kind of Meme feature request that deals with being able to feel your own haptic triggers.
  • If you'd like it make sure its on github and vote it up. Or just actually touch yourself in the real world :)

GunGryphonQ: Are websockets fine with ipv4 addresses? Thinking of controlling an IOT device directly and somewhat securely. I know ipv4 won't connect for other users which is desirable.

  • Websockets support Ipv4 addresses. Yes
  • Do Double check firewalls, addresses and websocket support with your websocket server and you should be fine.

HolyQ: What's your personal favorite current and/or planned feature in Neos right now? Would love to hear the POV of an official Team Member for this.

  • Really anything, but what I really like is stuff that makes what we can already do Better. Optimizations and improvements etc.
  • I fully support and will help with the larger features but we often forget what we can do today in Neos and the capabilities we already have.

There were a lot of questions about "Local" writes and Local user based nodes. Prime will try to explain this better within a video soon