Hello everyone and welcome to another of our weekly updates!
This week things were a bit quieter, as most of the effort goes to the BEPUv2 upgrade now, but regardless we have released a few smaller additions, tweaks and bugfixes, mostly some small quality of life improvements.
Notably desktop mode now has Press To Talk key. We added two new procedural meshes, hollow cone and a ramp. LogiX has gotten some new nodes for storage, string comparisons and formatting improvements and inspector has received a few small tweaks too.
In terms of community content, this week has been very eventful! The Neos Festa 3 has officially opened. This festival held by our Japanese community showcases creativity of users from all over the world in a very unique and fun way. If you haven't checked it out yet, definitely visit in Neos!
We have also interviewed members of the Japanese community on our recent livestream. If you have missed it, you can give it a watch in the video below!
The BEPUv2 upgrade is now also nearing feature parity and should be ready for testing relatively soon (no exact ETA is known yet, but it's getting close)! Keep an eye on #devlog and #testing channels on our official Discord for more.

[h2]Neos Festa 3[/h2]
The festival of creativity in Neos VR held by our Japanese community has returned for the third year! Neos Festa 3 officially opened a few days ago, bringing forth dozens of incredible submissions by Neos users from all over the world, in a number of categories.
You can view them simply by searching “Neos Festa 3” in the world browser. From within the futuristic library, you can browse all the submissions in a fun, unique way, as the world around you transforms.
You can also find more at
festa.neos.com or in the video below. If you haven’t seen it yet, we strongly recommend checking it out!
[previewyoutube][/previewyoutube]
[h2]Interview with the Japanese Community[/h2]
We have done another of our interview livestreams! In the last one, we had a number of members from the Japanese community, including Orange! If you missed this very special interview, you can check out the recording below:
[previewyoutube][/previewyoutube]
[h2]July community showcase[/h2]
Another of our recent livestreams showcased some of the awesome community creations from the month of July. If you missed it, you can check it out here, to see a sampling of some of the great community content:
[previewyoutube][/previewyoutube]
[h2]Press to talk and better tool dequipping in desktop[/h2]
Desktop mode now has press to talk! Since it was one of the popular requests, we decided to prioritize it, to give users a fair bit more control. To use it, simply mute yourself first through the dash and then press and hold the “V” key on the keyboard to talk. We plan to add a bit more to it in the future, once we have on-screen indications and input binding customization, but we hope it’ll serve well for now.
When switching tooltips with the alphanumeric keys, any existing tooltip is now also dequipped, instead of being destroyed. This should help fix cases where users have accidentally lost tools and other gadgets by switching to another one while having it equipped.
[h2]New Procedural Meshes[/h2]
The family of procedural meshes in Neos has grown a little! It now includes a hollow conical shape. This is similar to the regular conical frustum, where you can adjust the top and bottom radius, but with a hole in the middle, which has adjustable radius on both ends as well. The other one is a ramp, which is a simple ramp with adjustable length, width and height.

We’ve seen people use those meshes to build some amazing content in-game without having to use external modelling programs, so we’re always happy to expand this toolset bit by bit. You can find samples of those meshes in Neos Essentials / 3D Models / Procedural Meshes.
[h2]LogiX additions and improvements[/h2]
For anyone programming with LogiX, we have added some small quality of life improvements. The register nodes for storing values have all been merged into a generic ValueRegister component, instead of individual types for each type. Thanks to this, any value type is now supported, including enums.
There are also new string nodes for comparing strings, which can be useful for sorting text and other operations. The LogiX node browser will also color code the types when selecting a generic type, to make it easier to find the right type in the list.
Several nodes for formatting values, dates and other text now also accept culture as an input. This gives you more explicit control over which culture is used to format various values and ensure you get consistent results, regardless of the user's system locale.
[h2]Security improvements[/h2]
Based on exploit reports from our community, we have made several security improvements to prevent cases of crashes caused by malformed LogiX or using invalid types with certain generic components, due to inherited rules not being validated.
If you find any security issue, you can report them through our moderation ticket system at moderation.neos.com. We appreciate all the security reports, as responsible reports allow us to track and patch various holes or plan more robust solutions to certain classes of problems.
Big thanks to everyone for their reports!
[h2]Other quality of life improvements
[/h2]The inspector has received some small improvements as well. The quick operations for Slots have been reorganized to conserve space and a new option for parenting items under your current space has been added. The buttons and some labels can now also be localized. Procedural textures can now also be baked into static assets with a new option on the corresponding components.

[h2]BEPUv2 upgrade nearing completion[/h2]
The upgrade of the physics engine to BEPUv2 has been our major focus for a while (with some interruptions in between) and has progressed further. We have completed several major tasks to bring the integration to the feature parity with BEPUv1 to allow a (nearly) seamless swap over.
Notably we have implemented fast boolean sweeps into the BEPUv2 engine itself, since the engine doesn’t provide this functionality by itself. This is particularly important for Neos, because certain operations, like grabbing or releasing items, overlaps a sphere to determine objects within a certain area.
Certain items use dense mesh colliders and the traditional sweep tests every single overlapped triangle, resulting in a stutter that can last several seconds in some cases. To avoid this, we implemented an alternate version of the convex sweep, which stops testing after the first hit triangle, which is sufficient for determining whether the object overlaps or not.
We have also completed contact events implementation. Those are responsible for triggering events when colliders enter each other, allowing different systems to react to this. Thanks to BEPUv2’s low level customizability, this integration is much more efficient and in line with Neos’ own systems, preventing unnecessary computations when they’re not needed.
https://www.youtube.com/watch?v=JLJuOVClZp4
The last major piece for feature parity, character controllers, are currently in development. They represent the last major piece before feature parity is achieved, with only smaller tasks remaining afterwards, after which we can begin testing and perform the official swap.
The integration of character controllers is also notably different from BEPUv1. Neos will now allow using any of the colliders as the base shape, instead of it being implicitly a capsule shape, allowing for a greater range of flexibility. This should potentially allow for compound colliders to be used too, but this is yet to be tested.
It will also allow some other new features, such as unlocking rotation, which will be useful for interesting Zero-G experiences and other uses. While there’s nothing to show inside of Neos itself as the implementation isn’t complete, here you can see some of the experiments with the BEPUv2 demo, to better understand its inner workings and testing some mechanisms before integrating them into Neos:
https://www.youtube.com/watch?v=eWSUUYxGE1A
https://www.youtube.com/watch?v=gmPIuayqqNk
https://www.youtube.com/watch?v=NkNq5Ox9Whs
We’re excited about BEPUv2 getting close to completion. There’s still quite some things to do and other things we plan to do after reaching feature parity, but those can be done after the integration is officially released, bringing in some performance benefits as a result.
Stay tuned for updates, you can always watch the #devlog channel on our official Discord to see the developments as they happen, but we’ll always make sure to sum them up in these weekly updates.
And again big thanks to everyone supporting this project, building awesome content or just being part of the community! We couldn’t do this without you!
