OfficeHours:ProbablePrime:2022-07-19
Audio
Description
In this Office Hours, Probable Prime talks about:
- Myths
- Prime's take on the new guidelines. (tl;dr Prime supports Nipple equality)
- Session Rules
- RawDataTooltipHits vs RaycastOne
- Command Line Flags
- Real Robots Magazine
Transcription
(Please note that the transcriptions will not be 100% accurate)
the weekly AMA for questions about Neos with me, Prime.
If you have any questions, please drop them into the office hours text chat.
That's two above the one that we're currently on,
and we'll get started in the order that they appear.
Looking at the current question list,
we only have one which is unfortunately about cheese.
I don't answer cheese questions, I'm sorry.
So we now have an actual Neos question from Zagre who says,
do you know a way to dynamically flip checkboxes in the dash?
I wanted to make it so I automatically flip the head movement,
stroke controller movement in the dash when I switch from fly to walk.
Yeah, so you will need to inspect the dash.
There's various ways to do that,
like just inspect user space, you'll find the dash.
Inside there, you'll find that there are
a bunch of components near those checkboxes called setting sync.
Now, you can use setting sync in user space and in user space only
to synchronize and update various settings.
So the way you'd have to link that into
world space is some form of like cloud variable probably,
which would detect which one that you're in.
As cloud variables are sometimes slow,
I'm not really sure it's ideal.
It might be good though to make
like a shortcut option that can just be on the dash.
I'm not sure I released it.
If I did, it's inside my public folder under facets.
I have a quick shortcut checkbox that can go
between Neos's wobbly lasers and my preferred lasers,
which are 100 percent straight with no wobbling.
That was a lot of detail,
like I kept forgetting the numbers and having to write them
down or look up a pin message or whatever.
So I made that facet and that just uses setting sync and
data presets to update some setting sync components to
the non-wobbly or wobbly things when I push that checkbox.
Really helpful. I don't really turn that checkbox off.
I mean, I made it and it's now on my dash forever.
So it's cool.
I made it, take a look at it.
Ozi asks, what's a technical Neosmith you see commonly around?
So I actually made something for
Giberl yesterday and I'm going to share it in this chat.
I'm just going to go find it.
You can actually, so just jumping around whilst I go find
this particular thing I made on my Giberl.
Zag says that they wish they had logics in user space.
You can. You just need to create the logic inside
world space on the facet and then install
that facet onto your user space.
I do it frequently.
When you're writing facets in that manner,
you just need to imagine that it's going to work and then test it,
because of course you can't test it.
Lots of user space stuff just won't work outside of user space.
So here's the note which I gave to Giberl,
because Giberl's having trouble basically making an avatar that did something.
And I'm like, why?
And they were trying to avoid like logics,
colliders, slots, and everything to try and make this system.
And I'm like, this is ridiculous.
You should use whatever the hell you want to use.
Slots are a problem,
but it's not one that you should make humongous efforts to try and stop.
You shouldn't be going like, oh,
I'm going to collapse all nodes into the same slot,
or I'm going to avoid using relays because they have a slot.
It's something that you should think about from a different attitude,
which is, do I need this functionality on my avatar?
If the answer is yes, then sure, add the slots for it.
If the answer is no, then don't add slots for it.
For example, I don't care what weather it is where you exist.
I don't care what your FPS is.
I don't care what your queue packets is.
I don't care what your last ate for dinner.
Like don't put that stuff on your name badge.
That is not needed functionality.
Do you need a gun which has a hundred slots on it on your avatar?
How many times do you shoot that?
Do you need your multi-tool on your avatar?
How many times do you use that when you first launch into a session, et cetera?
Things like that. Think about functionality over form.
It's like a video game character that says that function of form.
I can't remember what the hell video game character is.
It's probably a champion from League of Legends, though.
Anyway, and then they were like, oh, yeah, we had colliders or birds.
We didn't know the colliders are not bad.
You just need to know how to use them correctly.
And then they heard, you know, logic is bad because everyone talking about logics is
like 100 percent fine to use.
And if anyone is telling you any of these things,
then you need to redirect them over to the Wikismith page
or to the things to avoid page, because like it's getting ridiculous, right?
Use the tools that are available to you and they'll work.
And then keep in mind function over form.
And, you know, you'll you'll get stuff done.
You'll get stuff working.
The problems I see with most avatars can be sort of broken down into too much on them.
You don't need all the systems.
If you don't use them, don't install them.
Non-baked blend shapes.
Please bake blend shapes.
If you don't want to bake blend shapes, then sorry.
You kind of need to these days.
So take a look and that as well.
Moving forwards to the next question.
Duff asks, do you think the recent rule changes in regards to body mesh exposure
adhering to European standards is going to be beneficial for platform long term?
Yes. So let me let me tell you how it works.
So the the opinion on on
what we're essentially going over here is I heard a time a while ago
and it sounds strange, but like it is the easy way to talk about it.
The term being topless equality is what basically that rule changes about.
And the reason topless quality has not been a thing
was largely because of society.
And now in content creation, as in sort of Twitch, YouTube,
TikTok, whatever you want to like, whichever site you're talking about is
largely a problem to do with advertisers.
So most platforms are in charge of what they do,
but they're not really in charge of like how they make money.
Most of them make money via ads.
And so the way the ads work is an ad provider company
that usually sort of farms ads out to other people.
You can think of it like a sort of record label or, you know, a publisher
or something like that for ads
will sort of say to a site, hey, we want to, you know,
ship this car insurance ad on this type of channel
targeting this demographic, you know, this gender, this age range, et cetera.
And we don't want to target this advert on anything controversial.
So it would remove adverts and monetization from conversations
about sexuality, identity, conversations about politics, religion, et cetera.
Often don't get as many ad placements as other things.
And so then adding to that, you end up with a sort of perception thing
where these ad providers are like, hey, we don't want our content
appearing on anything even remotely adult because we don't want our brand
lined up with that.
And so then that leads to, well, hey,
if we're going to lose money by having this content on our platform,
then then maybe we should, you know, just ban toplessness.
And then that leads into a big thing where it's like, OK, well,
is it cultural or is it purely ad related?
A lot of the times it's purely ad related.
Sometimes it's not.
Depends on the platform.
And then that leads into sort of other things.
Moderation being the other one is like, how do you moderate this content?
Quite easy to do, I think.
If it's sexual in nature, then clearly it breaks guidelines.
If it's non-sexual in nature, then maybe what's the problem?
Like, I don't understand.
There are interesting sort of things I see where we're moving towards a way
where, hey, maybe this can start being resolved.
And I'm not saying you're going to see topless equality on all platforms.
I'm saying it's like there are steps I see which are taking towards
sort of the platform being more responsible for that.
I see better tooling, better reporting coming out.
I mean, every platform, you know, always has the problem.
It's like we have too much bad content.
We don't know what to do with it, et cetera, stuff like that.
Advancements like COPPA, that
annoying thing you have to do every time you upload a video
and then she said it as an automatic.
That is the lawmakers trying to fix it.
YouTube Kids is YouTube trying to fix it.
But YouTube Kids is a weird space.
So like we've got people trying to fix it.
I don't know.
I see it as like another weird holdover from sort of archaic practices.
It's like it's strange.
Having said that, though, there is like a
difficult like way to talk about it.
It's like, when is the borderline?
When is the line? When is over the line? Right.
If you are like concerned about it or upset or,
you know, thinking about it, a good way to look at it
is to compare it to breastfeeding in public places, which is another huge issue.
It's like, what's going on here?
Now, like I've seen it multiple times and I think it's cool.
But like, you know, the mother always looks ashamed or scared
or, you know, anxious when I see it.
You know, it once was like sort of in a park and I'm like,
oh, I know what's going on there.
And I'm just like, cool. And I moved on with my dad.
I didn't need to be like, oh, that's disgusting.
This baby's sucking a nipple like it.
It's it's not a problem.
And thinking about that
when compared to everything else might sort of help you out there.
Having said that, though, I do work for a lot of platforms
where those platforms have rules and guidelines that are beyond my control.
So the moderation team largely run the policies of moderation.
And I largely don't have a say in what they do.
And the reason behind that is like I'm not in that area.
Now, some people will say like, hey, Neos is small.
Why can't you be in the area?
And the answer is, I totally could.
But the moderation team are quite full and I trust them.
And so I defer to their policies.
When I work for larger companies, I'm like,
these people have teams of people that are designed to make these policies.
Teams of lawyers are designed to make these policies.
Teams of the other side of ads, which is the sort of company side of ads
that will talk to the ad brokers that are trying to make these policies.
I don't have the time, energy or attention
to do it correctly or to challenge that.
And so I kind of defer to them.
Of course, I always give them feedback.
But as an employee of those companies,
I need to align with whatever those their policies are.
Otherwise, I'm breaking their policies, which is incorrect.
Another good way to think about that is how your relationship
with a security team, if you work any sort of technical place,
if the security team says like, hey,
there's a security issue in your product, your service,
your building, your environment, you listen to them and you fix it
because it's security's job to do that.
And you kind of just have to trust that they are better.
If you didn't like any of that,
then I'm going to highlight one sentence from that.
I think there should be equality here, full stop, because like,
that's all that there.
If you don't think that there should be equality here,
then consider what you wear in public the next time you're out
swimming or at the beach if you are male presenting.
Moving onwards, Duff is asking follow up questions.
This is going to be a fun office hours.
Duff asks, do you think that the recent
I don't know that that's the previous one.
It was the next question scanning around.
Duff says, in your opinion,
what is the fine line between certain personal roles in worlds
that one user controls that make conflict with guides and guidelines?
However, it's in their own private world.
If it's in private world, like most of the Neos guidelines,
not all of the Neos guidelines,
read the Neos guidelines from information get stripped back a little bit.
So like you, you can do adult content provided you have consent
with everyone in the room.
I am tired of being
teleported into a damp, dark place from across the map.
Please stop doing that.
I will fix your logic if you want me to, but like, stop it.
Stop teleporting me to dark places from across the map, please.
It happens too much.
You know what I'm talking about?
Great.
If you don't want to, if you don't know what I'm talking about, also great.
So, yeah, most of the Neos guidelines get sort of stripped back a little bit or adjusted.
And so that allows you to be different to the guidelines
in those areas that kind of like change and get like altered.
There is a line still there, though, where it's like, hey,
these things are still against the guidelines, at which point it's like, hey,
it's still against the guidelines.
So I do understand that there is like a line that that might be up against,
particularly in private sessions, but provided it meets those guidelines
with the private world stipulations sort of thrown in, then great.
Yeah, Zach, the guideline changes is in devlog.
So I have a request for anyone who has missed the policy.
I know there's a lot of people who missed that.
Please ensure that you have Discord notifications turned on for devlog,
Neos updates and announcements.
You don't have to read everything in there,
but those are the most important channels.
We promise we won't spam those that much.
They're just stuff that might be important to know.
If you miss them and you have notifications turned off on those channels,
then partially, and I don't mean fully because we can always do more to notify
you, partially could be seen as your fault for missing them.
In the future, I hope that we have big updates.
We can like put something in the dash that sort of says, yo, hello.
You know, when you like load certain products,
there's always like the message of the day.
So the reason why you're seeing like a rise of launchers,
it's so like they can upsell other services.
You know, there's like the Minecraft launcher.
Like, why do I need to launch Minecraft?
I used to just run Minecraft.exe or whatever it was,
and then like Minecraft loaded up.
And now there's a Minecraft launcher.
It's so they can say like,
Yo guys, here comes the next update.
There's a change to our rules, stuff like that.
We can cram a lot of that into the dash and provide sort of messages to you.
The usual way of doing it is providing basically like,
has the user send this message? No.
OK, display it to them.
Has the user send this message and push the OK button?
OK, never display it to them again.
And then when they're like, I missed the message, it's like,
hey, we showed the message to people.
I'd love to get more open data about that as well.
Like, for example, if we kept getting feedback
that lots of people missed the
missed the announcement, then we can look at the data.
And we wouldn't zone anyone out or specifically target anyone.
But we might be able to say like,
we're looking at the records based on who pushed the OK button.
90% of players pushed the OK button that said that they'd read it.
You know, we can get that kind of data and that becomes better.
You know, if there's 90% of people pushed that button
and there's still lots of complaints about people not reading it,
maybe our message was worded wrongly.
But it gives us a way to basically be a bit more data driven about the stuff.
There's a lot of myths, which Ozzy is talking about, where I'm like,
let's let's get data on it.
Hey, I think that counts bad.
Let's get data on it.
Shifty has a great way of wording the personal rules.
More restrictive, not less restrictive.
But do keep in mind the stipulations in those guidelines
that sort of get pulled away when you're in private laws.
Duff says, why do I need to use the internet in order to use Minecraft?
I don't know what's going on down there.
I did notice that they're now breaking out of the sort of usual skin route.
You can now have like hats, backpacks, wings and stuff like that,
which break out of the sort of size of the regular Minecraft avatar.
Of course, that is for money.
But it was it was kind of cool.
I also know a couple of people personally as friends who
were making money off that Minecraft store
even before they did that breaking out I'm talking about.
They made skin packs.
They sold them for mine coins, whatever it is, the like M gold.
Like they were making money with it.
And I actually don't think there's anything wrong with that.
If it's cosmetic, great.
It's like usually how the cosmetics are shown to the user.
The fact that there can be user made, you know, creators
are making these cosmetics in the Minecraft platform.
That's even better, right?
Sharing the love with the actual people that are making them.
Other platforms are just like, hey, we make like we have a team.
They crank out 50 shiny, sparkly,
fantastic outfits a month and they all cost ten dollars.
That's different.
But no, these are these are friends and they make money off creating stuff
that people can buy on that Minecraft store and wear in game.
Moving onwards, Ozi says,
do you have a tutorial on using the raw data tooltip hit for Raycast?
It seems very on its usage.
Yes. Only use that for tooltips.
It like, you know how the lasers curve.
I think about that film.
I've mentioned it before on Office.
I don't know why it keeps coming up.
Wanted is a film where they curve bullets
for like no apparent reason and ways that don't work.
The reason why you use raw data tooltip hit is because that will follow that curve.
Right. So it will follow the wiggly lasers to exactly where they hit.
Raycast is is straight.
Don't quote me.
It's like raw data tooltip is not straight.
When you're making a tool, wherever possible, please use raw data tooltip hit
because it will handle things like desktop, VR, different controllers.
The tooltip, what you call it, the tooltip anchor
a lot better than than you possibly can.
I notice a lot of my older tutorials for tools are basically like,
find the tip and then like add a little bit to the front of it,
because, you know, you're going to clip into someone's finger or hand.
And so we add just a little bit.
So it shoots out the front and gets clearance to go through.
Or if you use raw data tooltip, it'll handle that for you.
Like, you know how you can't filter a raycast to say like,
hey, I want to hit this, but not this, but not that, but not this.
You can't do that right now.
Raw data tooltip can to some extent.
So just use it for tools.
I'll add it to my tutorial list.
I was modeling some like molds for like bars in Blender yesterday,
because the next tutorial I'm going to be doing is taking that ore
from the mineable ore tutorial and forging it into bars.
And then maybe we'll blacksmith them in a third tutorial.
And then we'll have like half of a runescape like quest chain.
I started modeling tutorials on runescape.
I don't really know why. I'm just like, hey,
people want to know how to mine ore.
Maybe there's a tutorial about smithing.
Maybe there's a tutorial about cooking coming up.
Maybe we can do woodcutting next.
There's plenty of content there.
All right. Moving on to the next question.
Zag asked, any use on UI updates?
See the announcements channel for why again, we're a little bit slow there.
It's important to remember.
And I hope that once we get things moving again, we can adjust the way
that we are representing the stuff to be a little bit clearer.
I have some ideas there, which I'll be discussing with the team once we get moving.
But it's important to make sure that you're looking at the right place
for UI updates.
The main roadmap, which is projects one.
If you look at your address bar, it says projects one.
It just says UI update and it's very sort of ambiguous and big.
We found that that was difficult to deal with.
And so there is the projects two board, which is more broken down.
You can see here that preparing, gathering infos, redesign settings,
which is what we were going to do next.
Seems weird to do settings next, but actually allows us basically to be like,
oh, someone doesn't like that.
We can add a checkbox for it.
Someone doesn't like that.
We can add a checkbox for it.
Right now we can't.
There's just not enough room to explain that even better.
Go open up the settings dialog for your favorite game
and see how complicated that is and how many sub menus there are.
We don't have that right now.
We need to have that.
We need to add that.
All right, moving forwards.
So it says that they need to go over how when to use Raycast one
versus just using the constant Raycast.
OK, so when I was a child,
story time with pram.
When I was a child, there was this magazine called Real Robots.
If anyone else knows the magazine Real Robots, Real Robots team represent.
And let me see if I can get a picture of this damn thing.
Uh, robots magazine, I've still got the pieces somewhere
and I feel so bad because it just got crazy.
All right. Perfect.
Absolutely perfect is here's a picture of how crazy real robots got.
Right.
So you started off in the in the middle with that like robot
that could just sort of drive around and then they just kept adding stuff to it.
Right.
So if you look around the edge, there's like docks, there's like arms,
there's like controllers and all sorts.
You just kept going because they wanted to make more money.
Point being, it had a line finder and it could follow a line.
And the way it did that was essentially a real physical component
that does a constant Raycast to find the line.
Usually it can only see black lines,
which detects the sort of brightness difference
between the outside of the line and the inside of the line and follows it.
But it's a perfect example of when you should be using Raycast
is something like that, like a path finding robot or something like that.
There are, of course, other cases,
um, maybe like a laser beam at like a museum.
You know, they all like do the ninja flips to get through the lasers.
Right.
You need that that laser to always be on and always be receiving data.
Detective anyone's gone across it.
But you could easily just do that with a collider.
Right.
That's the same shape and dimensions of the of the laser.
Same laser harp.
That's another good idea.
But again, you could just use colliders
with the same shape and dimensions of the laser.
So like Raycaster doesn't isn't isn't needed.
Um, Zag has a statement which is the one shot needs to keep the data present.
It doesn't.
So you need to remember that the Neos impulses
are essentially like an event system.
So if you look at a simpler example being a button.
So there's a button on a Web page and you click it.
Whenever you click any button on a Web page, like add to cart, sign in,
whatever you want to call it, an event fires.
And I know that you, because I have and most people have,
have been frustrated with buttons not working and you might have spammed them.
That creates an event for each button press that happens.
And the website needs to process that.
The same thing's going on with impulses.
Each impulse coming out of there is one event and it has data associated with it.
The reason why the data clears in quotes is because the event has finished
and the data is cleared to make room for the next event.
So what you need to do is you need to process the data
as it's coming through in that impulse chain or save it if you don't need
to use it within that impulse chain. That won't ever change.
It's like literally a function of the engine doing what it's meant to.
If it didn't clear the data,
then it would be ambiguous about what your next raycast hit.
If you like more examples of that, there's actually an example
in the most recent tutorial I published, Mindable Ore, where I don't write anything.
I don't write anything coming out.
We can't add a second output that has lost it.
That's not suitable.
You just need to learn to use that node in an event driven way.
And that will sort it out for you.
If the impulse chain is too long, it's incorrect.
It's if you use certain nodes on the impulse chain.
Things like duplicate slot can have issues, things like delay,
things like update delay.
They can have issues because what they do is they shunt that impulse
to off the current chain.
They create a new impulse chain.
You just need to rework your logic and use it.
Like I'll link that tutorial I've got.
I don't mean to basically be like, get good son.
That's not what I'm saying.
I'm saying here is like the reason why it's doing that is because it needs to.
And if you use the the nodes in a more ideal way,
you'll start realizing why that's happening in the future
when we have collections.
And I know it's like collections, green pastures and daisies.
You'd probably be able to sort of like add the hits to a collection
and then do operations based on those collections.
So that would be a way around it because you'd be able to store
dynamic amounts of data.
The point right now is that you can't do it.
So like if you want to store every single hit, go for it.
But it really is a design problem.
Heading on to dust question.
I mean, issue where I set up the nearest cash place on a separate hard drive
in steam startup process.
And yet, despite installing
nears on a separate drive and changing the cash path,
it's still storing the cash data on a drive I didn't wish to get on.
Let's double check your steam arguments.
If you use the nearest launcher at any point,
the nearest launcher needs to have identical command line arguments
ran on it, otherwise it will move the cash elsewhere.
Also, I'm not sure if you'll if you don't like notepad
plus pass or something like that.
What you can do is you can find in all the logs that you've got.
You can find like I think there's a log line
that says using cache directory or using cache, blah, blah, blah, blah.
And if you can find all the examples of that and get them in a list,
you'll be able to sort of pinpoint at this date on this time.
This particular log file says that I wasn't running using my select cache.
And then maybe that might jog your memory about what you did
or maybe what you didn't do or if there was a problem.
It basically be like, oh, this is why the cache was,
you know, this particular run happened.
What did I do that day?
Oh, I forgot to use the launcher.
Or maybe I reinstalled it or I updated things like it.
Just point like a date and time out for you.
That's a good question from Zack.
She just says, how is the cash supposed to be used?
It isn't. To not use the cash node.
To me, it should be.
And Zack says to me, it should be logically keep data
and cool and clear, but doesn't do that.
Yeah, honestly, the cache node is a layover and needs to be removed.
If you search for it in the NES Discord,
you might find freaks talking about it somewhere.
But he made the functionality of cache sort of internal to the nodes
that need to use cache.
And so it's not really needed these days.
We should remove it.
Just, you know, dig a fish to fry right now.
No, we need to remove it Sticks.
We have this.
Zack, let's look at your logics.
The problem, I'm really sorry, and I don't mean to be mean about this,
but the problem that you're having is a design of like a design problem
that occurs after the raycast.
Sticks, no, we would remove it.
So we have functionality within our update process to find it,
and we can smoothly just take it out.
Like it does nothing.
It does nothing.
So it's like having a dead goldfish on the floor.
It doesn't, dead goldfish flap is a bad example.
But you know what I mean, it's like, it just, it doesn't do anything.
Kip, I was asking, is the play and wait node the proper way to make a jukebox?
Whilst making it play the system, I found that it was hard to stop the music
without sending a pulse to start the next track in the update the year.
Probably not play and wait, because that gives an event that might not return.
With a jukebox, you have to remember that someone might be able to push play,
pause, stop, change the track at any point.
And so you really want to wait because like that wait might either never trigger
or might trigger too soon or something like that.
I would honestly just play it.
And then when they hit next track, deal with it that way.
Not quite sure of the issue there, though.
The Neos tentative launcher, like the text box at the bottom,
I think is where you can put in command line arguments.
I honestly don't use it.
All the Neos launcher does is it runs the Neos.exe.
With, oh, no, you mean the tentative.
Okay, no, no, no.
So, hold on, there's too many things called launcher, right?
There's the old launcher, it had all the check boxes.
There's the new tentative launcher, which is just the Neos Pro launcher.
But the Neos Pro launcher is another launcher.
And then there's the Neos Classroom launcher, which no one uses except those
that use Neos Classroom, which is, none of you guys, anyway, exists.
Give me a second here.
Maybe we need a launcher launcher.
Launcher launcher, here we go.
Here's the video called combined line arguments flags with the temporary launcher
that will provide information about how you can add command line arguments to this.
Kip says, the autoplay still needs to know when the track finishes.
Yeah, use like fire on true position,
normalized position greater than 0.9 or something like that.
Yeah, that launcher, that video, though, should help you out.
That launcher, the one that Duff has pictured here, which is the tentative launcher,
also known as the Pro launcher over the campaign.
All it does is download Neos.
The two buttons there will just launch the EXE with a couple of command line parameters.
Once it's downloaded the EXE, what I advise you do and probably talk about in that video
is make shortcuts that will have different command line arguments.
So you can create a shortcut and then you can have different command line arguments
depending on what you're doing.
With that, we're out of time.
So if you have no more questions, I'll go ahead and end off here.
If you have other questions, please feel free to direct message me.
If you have any questions that you have or post on the Discord,
we will take a look at them as soon as we can.
I'll be back next week with more meanderings about Real Robots Magazine.
I'm so disappointed that no one here was a Real Robots Magazine subscriber.
But I will cut the recording here, cut everything off here,
and I'm going to post a YouTube video of the Real Robots Magazine.
Quickly, before I cut it, Zag asks, is there a custom node tutorial?
No. There are a variety of ways to do it.
I don't advise doing any of them unless you know exactly what you're doing.
Most of the ways that you do it are great, but they won't allow you to pack it.
So when you pack them, they'll mess up or they'll be weird.
You can kind of get away with it when you use the mini redprints.
That's not really like a custom node.
That's just like a blueprint on top of a blueprint.
Do take a look at that. Those do unpack well.
But all of the custom node manufacturing thingies I've seen don't pack well
and don't unpack well at all. I will speak to you later.
Oh, Kip, Kip, I'll take the questions.
OK, I'll take it. I'll take it.
Shakes fist. OK, so there are two.
So Kip asks how the logics interface components are used.
So there are two components that are often misunderstood between both of those.
So there is the logics interface component, which I believe should be
on the actual rectangular things that float around.
Everyone hates those.
They are logics interfaces,
logics interface card or floaty devils or whatever you want to call them.
Now they handle all the connecting and handling between all the properties there.
The logics interface proxy is the component
which people hate and see everywhere and want to remove.
Proxy components are basically a signpost for Neos to say like,
hey, you might be looking for this. It's over here.
So the way logics interface proxy is meant to work is that when you unpack
and the logics unpacking process notices like, hey, I need an interface here.
It's meant to look at the logics interface proxy and be like, oh,
there is already an interface floating over here. I won't create a new one.
I'll just look at the proxy and link it up to the existing logics interface.
But that doesn't work.
And that's why they will rotate, rescale themselves, reposition themselves,
duplicate themselves, et cetera.
I do want to comment a little bit about that problem.
Every single person that has access to the code base of Neos has tried to fix this.
Me included.
We've all concluded that it is much better to just rewrite logics interfaces.
It is very confusing.
So we will fix that as soon as we can.
And I understand the pain.
I get really angry about it, especially when I unpack stuff
and there's like eight people in the room because I'm just like, oh, God, what have I done?
And then people are like, I can't read your logics once I unpack it.
And I'm like, no, me neither, man.
I'm just like, it uses interfaces.
Nah, me neither.
That's why dynamic variables, cloud variables, and even to some lesser extent,
value fields are more still popular because at least the value field interface card
is smaller than some of the other components.
This is why components are popular.
And that gets mistaken a lot for logic is bad because, you know,
components, you don't have to deal with the interfaces.
But logics is not bad.
Use it when you need to.
Is there a component to add two numbers together?
Yes, the add.
We will close off here.
Bye bye.