1. Neos VR
  2. News
  3. Updated Branding, BEPUv2 upgrade & Color Management have entered testing phase

Updated Branding, BEPUv2 upgrade & Color Management have entered testing phase

Hello everyone and welcome to another of our weekly updates!

First, sorry for being a bit more sparse with them recently. Majority of my (Frooxius) focus went into finalizing BEPUv2 upgrade. This has now reached an exciting stage, where it has feature parity with the old build and we are working out bugs and issues before it gets ready for release.

The main focus of this upgrade is replacement of the physics engine that Neos uses for basic interactions. It doesn't include proper rigidbody support - this will come at later point as another big chunk, but this work will also serve as a foundation for that.

Thanks to some small, but impactful additions, one of the fun things you will actually be able to do is get "proto-rigidbodies" from the CharacterController. Those are very fun to play with, but it's important to understand their limitations to know why the full support needs more work. Please give the article below a read to know what's coming. It also includes a video of them in action to give you a little taste!

We have also updated our branding across different platforms! Neos now should have a more modern, unified look, which should improve the perception of the platform, especially to newcomers!

There is another major feature currently being tested as well - Color Management! If you'd like to be part of the testing, check out the section in the post below for details on how to join and what's involved.

We are also looking for your feedback on Neos Essentials reorganization and general feedback for the Neos Team! We've opened up a form here: https://forms.gle/NSgoXebWx7D36gsR6 More details on the reorganization are below as well.



[h2]Updated branding[/h2]
A few weeks ago we announced the upcoming update to our branding. This has now officially unrolled and we updated the logo and backgrounds across Steam, Discord, official website, Wiki, Reddit and Neos itself.



This change has been long overdue and should give our representation on those platforms a more professional and consistent look, which can be quite important, especially for new players who haven’t discovered Neos yet.

There is still much to do. We plan on expanding the background graphics with more detail and there are still a few places which need to be updated as well, so expect to see more come in the future!



[h2]Games of Neos - August Livestream[/h2]
On our regular Friday livestreams we like to go around and play some of the awesome games built in Neos. If you missed our latest one, you can check out the archive footage here:
[previewyoutube][/previewyoutube]

[h2]July Monthly Recap, Chroma & Geenz interview[/h2]
We have also published the archival footage of another of our livestreams from earlier of this month, recapping Neos' development over the month of July and interviewing two of our team members - Chroma and Geenz!
[previewyoutube][/previewyoutube]

[h2]BEPUv2 upgrade entered testing phase[/h2]
We have a bit of an exciting update on BEPUv2. It has now pretty much all the things for feature parity implemented and we started internal testing (more public will likely come soon after) to work out any kinks and breakages.

So far the results seem pretty good! Some maps are getting quite a noticeable performance boost, especially collider heavy ones. For example Dark City 2 by Enverex on a test machine runs around 70 FPS in a particular spot with the current public build, while 120 FPS in the same spot with BEPUv2.

[previewyoutube][/previewyoutube]

One of the even more extreme cases, a really huge Minecraft import map (has about 51000 chunks and thousands, if not dozens of thousands of colliders) runs over 120 FPS, while it chugs at 20 FPS on the main one.

Some maps won't see as much of an improvement due to having different bottlenecks and a lot of things will still bring the framerate down. This is expected as this upgrade just improves one of many areas and performance is a complex problem.

There are many more optimizations in different areas that will help solve other bottlenecks. Some of these will be built on top of BEPUv2 (for example efficient dynamic bone player collision queries), some will be completely separate and many will synergize well together to further improve performance over time.

[previewyoutube][/previewyoutube]

Once we work out the issues internally, we’ll open up the testing to the public. You can keep an eye on the #testing channel in our official Discord. Once everything is stable enough we’ll release the upgrade to the public and continue the work from there!

[h3]Full rigid body support coming as separate update in the future[/h3]
Our main focus with BEPUv2 upgrade is to achieve feature parity, so we can get it released without breaking any existing behaviors and content. However thanks to the new engine and re-engineered integration, there are actually a few small additions and improvements, one of them particularly powerful - ability to unlock rotation on character controllers.

However it is also somewhat misleading, so let us say this upfront: Rigidbody physics is NOT coming as part of this update, it's mainly a feature parity upgrade of the underlying physics engine and full rigidbody support is a significant chunk of work that'll come at a later point.

However the upgrade does add some new features and abilities, one of those is the ability to unlock rotation on the character controller. With that, you can actually get them to behave like simple rigidbodies.

I've been messing with those more than I'd think and it's lots of fun! I don't want to deprive anyone of this fun either, so you will be able to mess around with these when this goes public too.

However before you do, please take a moment to understand some important limitations of these. These are more like "proto-rigidbodies" than a full blown support that's coming later. Notably:

  • They're optimized for character locomotion and will have odd behavioral quirks when used otherwise, these will be addressed by the actual rigidbody support, so before that comes you'll have to deal with them
  • Having many of them won't perform well, both on CPU and network. They're not optimized for this use case
  • You have limited control. You can't control aspects like friction or create constraints (e.g. joining bodies with joints, hinges, motors etc) that actual rigidbodies support.
  • We STRONGLY discourage building too complex long term content with this mechanism, other than one that involves actual character control.


But understanding that, here's a bit of a taste of what's to come:

[previewyoutube][/previewyoutube]

[previewyoutube][/previewyoutube]

[h3]What will full rigidbody support offer?[/h3]
Even in this limited form, it is a lot of fun to play with. Tinkering, messing around and playing with features like this is at the heart of Neos and we want everyone to be able to experience this.

However proper rigidbody support still requires a significant amount of work after BEPUv2 upgrade is released, so it will take some time to arrive. There are some major things that this support will focus on:

  • CPU and network efficiency - with engine optimizations, efficient handling of many bodies in the simulation and specialized network encoding will allow you to have many bodies in the world with significantly lower impact
  • Simple to use with less glitchiness - controlling the friction, bounciness, applying forces and impulses and more, without the extra “cruft” that character controllers have - these will be pure rigidbodies
  • Constraints - you will be able to connect the rigidbodies with a number of constraints - joints, springs, hinges, motors and more, to create complex setups and interactions
    Smooth simulation and interaction for everyone - character controllers are simulated by a single user only and can be quite choppy and glitchy (for example when grabbing) for others if not setup properly. Full rigidbody support will be designed to not have these issues.
  • New features and tools - instead of having to go through convoluted process to enable the simulation, we’ll add quick tools and integrate physical interactions across Neos, to make it very easy to start playing with them and building cool content


You can watch the planned features for physics and other details on our official Roadmap on GitHub. Feel free to reach out to us if you have any questions on this as well!

[h2]Testing Color Management[/h2]
Color management is in alpha testing! To assist with alpha testing, we're looking for suggestions of different worlds to test with from the community!

Due to the deep changes that color management brings with many aspects of the rendering pipeline, this results in lighting looking pretty different compared to how it looks today. Although we have received great feedback during our closed alpha, we would like to expand our testing a little more to include some world suggestions from the community.

For those of you unaware, Color Management is our approach to the much requested Linear Lighting feature which enables users to author worlds for a particular color space, while leveraging Linear Lighting at the same time! In the future we plan on supporting a wide variety of input and output color spaces, such HDR monitors, headset specific calibrated color spaces, and so on!

If you have a world you would like to have included, just @Geenz in #neos-full-dive with a specific world you would like included for this early testing phase!

[h2]Neos Essentials Reorganization[/h2]
Neos Essentials is being reorganized to provide an easier to navigate experience. The folder structure of Neos Essentials has slowly expanded over Neos’ lifetime as new features and assets were added, and this will give us an opportunity to structure the folder system in a way that will allow for future additions to be intuitive to find. Of course, we would like community feedback on the proposed new structure! You can view the currently planned layout here:

https://docs.google.com/document/d/1zgQpM6DTZpsflBDPmL7GPAhGNoEDCmEd4di8N3IeDio/edit?usp=sharing

If you have ideas or suggestions to improve this layout, please make use of our new feedback form described below to submit them:

[h2]We Want Your Feedback![/h2]
For those who would like to anonymously provide feedback directly to the Neos Team, we've opened up a form at:
https://forms.gle/NSgoXebWx7D36gsR6

Please note, feature requests and bugs are best directed to GitHub, whereas exploit reports should be submitted to the moderation ticket system. This is for general feedback on the Neos platform, team, community issues, and other miscellaneous concerns.

You'll be able to find a pinned message for this form in the #🐜bugs-and-feedback channel, and a permanent link in the #👋welcome-and-links channel.

---------------------------------------

Anyway this is all for this week! With BEPUv2 in testing phase, it now shouldn't be much longer before it's ready for public, which should bring some notable improvements and also serve a foundation for exciting features and more optimizations in the future.

If you'd like to keep up with the latest, we recommend checking our official Discord, particularly the #devlog channel and keep an eye on the #testing for any public callouts for testing phase.

And as usual, huge thanks to everyone for their support! Without your help we couldn't be working on all of these updates, both big and small and pushing Neos forward every day!