1. Neos VR
  2. News

Neos VR News

2020.12.24.35 - Virtual desktop improvements, Oculus Link SteamVR fix, security

Another small build, I was travelling today to visit family, but here are some small additions and improvements that I didn't want to put on hold.

You can now adjust Brightness and Opacity of the virtual desktop! It'll now also work on hybrid GPU systems using a fallback capture method. It has worse performance, but it should work. I made tweaks so the capture only happens when the virtual desktop is actually active in the dash.

Also Oculus has released hotfix for their SDK which seems to fix Neos running through SteamVR with Oculus Link, resulting in performance penalty.

Hope that everyone's having great Holidays!

[h2]New features:[/h2]
- Added Brightness and Opacity sliders for virtual desktop in the dash
- Added fallback desktop capture method using uWindowCapture library, which uses BitBlt method that works on hybrid GPU systems (e.g. with integrated and dedicated GPU)
-- Note that this capture method is significantly less efficient and framerate of Neos and/or the capture might be poor when in use
- Added "Desktop Renders" to debug dialog, which tracks how many desktop clone textures were rendered in the last frame
- Added templates for GitHub issues to provide more structure and make it clear what information is needed for the quickest resolution of reach type of issue

[h2]Tweaks:[/h2]
- Brightness, Opacity and Follow Cursor settings for virtual desktop are now persistent
- Set default brightness to 95%, to help compensate overblown whites in the VR headset (based on report by @Shifty | Quality Control Lead)
- Rendering desktop texture is now skipped when all the components are disabled/inactive in hierarchy to conserve performance
- Security improvements for virtual desktop (based on feedback from @Faolan (Rad))
- Sanitized session ID from user profile data when the session is hidden or private (based on report by @Faolan (Rad))
-- This prevents users from joining hidden session easily in some cases, but please note that hidden sessions not designed to secure access, they're only hidden from the listing in most places. If you need to prevent people from joining use Private/Invite only which verifies each join
- Upgraded to Unity 2019.4.17f1 (from 2019.4.16f1)
- Upgraded to Oculus SDK v19.1 (from v19.0) which includes OVRPlugin 1.55.1 (previously 1.55.0)
-- This should fix Neos running through SteamVR when in use with Oculus Link (reported by @Enverex and others)

- Merged Japanese locale fix by @Melnus

2020.12.22.259 - Security, stability and other bugfixes

Sorry for just a small build, things are a bit hectic as I'm getting ready for visiting home for Holidays. Here are some more bugfixes to fix crashes and also a bunch of security improvements and other fixes.

Compatible with current build.

[h2]New Features:[/h2]
- Added new statistics to the Neos Discord Bot as well as the backend - number of users in public sessions, total number of public sessions and how many are active (have any users in them) and list of active Neos versions

[h2]Tweaks:[/h2]
- Merged Japanese locale updates by @Melnus
- Merged Polish locale additions by @art0007i
- Merged Spanish locale additions by @Ruzert
- Merged Russian locale additions by @Shadow Panther [RU/EN, UTC+3]

[h2]Bugfixes:[/h2]
- Improved security of virtual keyboards, so in-world keyboards cannot inject inputs to Userspace (based on report by @Rue Shejn | Artist 3D)
-- Once the same keyboard is favorited and loaded into userspace it will be able to work fully
- Improved cloud sercurity (based on report from @Veer | Chief Moderation Officer)
- Added extra validations for connecting user's data to improve security
- Neos now won't check for changes in monitor setup after initial initialization, as Steam aggresively injects itself into those checks and crashes the system on some machines
-- If your screen configuration changes (e.g. adding/removing a monitor) you'll need to restart Neos
- Fixed Create (or Write) Dynamic Variable node creating variables as persistent in some cases, even when "CreateNonPersistent" is set to true (reported by @orange and @chemicalcrux)
- Added extra diagnostics for establishing network connections and cloud relay/UDP punchthrough to help diagnose problems reported by @Readu

Virtual desktop access in Neos dash, OWO Game vest support, first science study

Hello and welcome to another weekly update!

With the Holidays around the corner we hope that everyone is getting into a festive mood. The Winter holiday party hosted by Creator Jam is taking place today at 2PM EST (UTC 19:00), don’t miss it if you have the chance to visit!

We have also brought you some new features, notably virtual desktop in the Neos dash! Now you can view and interact with your desktop without even leaving Neos and we’ve already seen users build extra functionality on top!

As part of our goal to support a wide variety of hardware and integrate them with a fully functional metaverse engine, we’ve introduced support for the OWO Game haptic vest which is currently in development.



[h2]Christmas themed livestream[/h2]
On our regular Friday livestream we have adopted the festive mood and decorated our avatars and the environment with Christmas themed objects and went out and rode sleds in the world, in the classic Neos fashion with lots of shenanigans. If you missed the stream, you can watch the recording here:

[previewyoutube][/previewyoutube]

[h2]Virtual Desktop Access in Neos Dash[/h2]
One of the major features added this week is ability to access your desktop directly from the Neos dash. You might’ve noticed the new “Desktop” button at the bottom bar of your Neos dash, accessing your desktop is as simple as clicking this button and then using your lasers to interact with the screen.



If you’re using multi-monitor setup, you can invoke a screen selection menu by pressing the App/Menu button (the one that normally opens your context menu) on your controller while pointing at the screen and selecting a different screen.

This menu also lets you invoke the virtual keyboard for typing and triggering shortcuts. The system automatically works with all custom keyboards as well and Unicode input, giving you a lot of power and flexibility to customize the access.

While the default Neos keyboard doesn’t expose functional keys like the Win key, or the functional keys (F1, F2, F3, F4…), they are fully supported by the underlying system, allowing anyone to add them to their customized keyboards.

For those who use their desktop with the physical keyboard and mouse inside of VR, we have added “Follow Cursor” mode, which will switch the active screen to whichever one the cursor is at. This can improve workflow with multi-monitor setups, as you don’t have to pick your VR controller up to switch screens.



This feature is also a first step towards screen share functionality, which will allow you to share your screen to other users. This is not supported at the moment and we don’t have timeline on when it’s going to be prioritized yet, but we hope that the desktop access itself makes it easier to bring content to Neos and make your stay on the platform more comfortable.

[h2]OWO Game haptic vest integration[/h2]
Following the recently added haptic framework, we have integrated another haptic vest directly with Neos, bringing your more choice in hardware that you can use with Neos. This vest is still in development, if you’d like to see more check out their official website.

Since the vest is based on a different principle, we had to make some adaptations and extensions to our haptic system. Haptic Volumes now support a list of “hints”, which allow the driver to map a specific sensation provided by the suit maker. For example instead of generic “pain” sensation with certain intensity, you can specify sensations like “insect bites” or “dagger wound”.

This way you can customize the in-game haptics for specific hardware, while other hardware still uses the more general sensation type with intensity. For example you could create a haptic volume with pain sensation and 25 % intensity and add an “OWO.InsectBites” hint to it. If no hints are present, the driver for the OWO Game vest will use the closest matching sensation.



[h2]Community highlights[/h2]
Hey everyone! Hope your Holiday Festivities are all going well! If not here’s some weekly goodies to cheer ya up!

[h3]Playing DOOM in Neos by GhostZ[/h3]
Recently, we pushed out a really nice feature “Desktop Mirroring!”, that’ll let you view your desktop within Neos! This is really handy if your working on projects, want to quickly look at your desktop, or even check things like twitter or discord. Or even in GhostZ’s Case, can it play Doom? Why yes, it can.


https://twitter.com/i/status/1340223411394637824

[h3]Cyberpunk Cathedral by Zanibar[/h3]
With the holidays fast approaching and everyone locked in doors due to COVID, and everyone playing Cyberpunk2077. I know sometimes we all need a nice gathering spot for those of the more pious nature. Made by Zanibar it’s the Cyberpunk Cathedral! Maybe you can speak to the ghost in a machine in here!



[h3]Neos Pong by Rabbuttz & kinoko_b[/h3]
With all the Neos Festa 2 Festivities going on this week, I didn’t expect to see this! From the minds of Kinoko and RabbutZ we have Neos Pong! A Nice 1v1 Match for those of you with a more competitive nature, will you be the last to ping? Or the first to pong.


https://twitter.com/Rabbuttz/status/1338386184246968321

[h3]First peer reviewed study using Neos published by SHFR[/h3]
One of our most prominent users in the education/research sector, the Sydney Human Factor Research (SHFR) have been using Neos ever since we released public beta back in May 2018 and have used it as a tool to conduct a variety of studies.

The first of those was now published in a scientific journal, with more to come. The study is named “Law and (rec)order: Updating memory for criminal events with body-worn cameras” and studies how criminal reports can change with the presence of a body-worn camera.

A simulated theft scenario was created in Neos VR which was then experienced by a group of participants (n = 97) with a virtual chest mounted camera tracked by a motion controller in Neos. They were then asked to recall the events, with some of them viewing the recorded footage from their chest camera and others using control footage.

If you’d like to read the study in detail, you can find it here: https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0243226

We are very proud that Neos can serve to improve science and research and we hope to see more of such use cases.

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

But that’s all for this week! We hope everyone has been enjoying their week and hope to see you sometime in Neos VR Soon! Don’t forget there’s also a Creator Holiday Party going on today. Don’t forget to stop by and bring a gift! It’s an Trade Santa Party! :)



2020.12.20.103 - Crash bugfixes, a few tweaks and other fixes

Just a small patch with a bugfix for some crashes occurding on some systems as well as few other fixes and tweaks. Compatible with last build, don't need to update right away if you're not affected.

New features:
- You can now pass -Invisible argument to Neos to force your online status to be invisible on login (requested by @3x1t_5tyl3)

Tweaks:
- Steam and Discord rich presence is now cleared when the Online status is set to Invisible (requested by @Psychpsyo, @Shifty | Quality Control Lead and others)

- Merged Japanese locale updates by kazu0617
- Merged Dutch locale additions by @AnotherFoxGuy

Bugfixes:
- Added extra diagnostics for establishing network connections to help diagnose problem reported by @Readun
- Made modifications to uDesktopDuplication library to prevent Steam Overlay from aggressively injecting itself and causing crashes on some machines
-- Please let me know if this helps on your machine if you were affected, I can't replicate this bug on any of my machines
- Fixed being able to equip tooltips in some cases without having the permission to do so (reported by @seif1)
- Fixed procedural meshes using segmented builder throwing exceptions and failing to update in some cases with SmoothNormals mode on

2020.12.18.1284 - Virtual desktop polish, other tweaks, bugfixes and additions

Just a small build with some polish for the virtual desktop and few other things. Portrait mode displays now work, switching active display works when Follow Cursor is on and hopefully some crashes due to Steam overlay injecting itself should be gone now.

[h2]New Features:[/h2]
- Added AssetOptimizationBlock component, which will block most automatic optimizations on any assets under its hierarchy
- Added DisplayInfo component (under Input/Desktop) which provides basic information about a display with given index (Resolution, Offset, DPI, Orientation, RefreshRate (if known) and if the display is primary)
-- Note that like other components, this only works in userspace at the moment
- Added ChildrenSaveBlocker component (under Utility), which will prevent children of the Slot from being saved, regardless of their persistent status (based on request by @Furf)
- Added Orientation property to RawImage and RawGraphic, which allows rotating the UV coordinates of the displayed image

[h2]Tweaks:[/h2]
- Portrait (both clockwise and counter-clockwise) and Upside down displays are now properly supported by the virtual desktop on Dash
- Any non-persistent parts of items are now excluded from generated thumbnail when saving the item
- When Follow Cursor mode is enabled and another screen is switched through the in-game UI, the mouse cursor is positioned to this screen
-- This fixes the active screen from being stuck even if it's switched ingame (issue discovered by @Tatsu Kimiero and @Shifty | Quality Control Lead)
- Updated featured icon in the world list (updated by @Coffee | Programmer)

- Merged Korean locale additions by @MirPASEC
- Merged Esperanto, Japanese and Chinese locale additions by @Melnus
- Merged Czech locale additions by @rampa_3 (UTC +1, DST UTC +2)

[h2]Bugfixes:[/h2]
- Fixed screenshots not saving properly into Steam Screenshots library or documents if the screenshot is deleted too quickly (based on report by @Tatsu Kimiero)
- Fixed avatar near clip set to 0 causing smooth POV camera to break (reported by @Shifty | Quality Control Lead)
- Changed initialization order of desktop duplication API library, so it happens before SteamAPI is initialized, to potentially prevent Steam overlay from agressively injecting itself into the functions and causing crashes on some systems (based on report by @pek#5602, @Jiink, @Zanibar, @thotgamma)
-- I'm not sure if this actually helps as this issue doesn't occur on any of my systems, please let me know if you're still experiencing this problem
- When importing models, any asseet optimizations (including material deduplication) are blocked to avoid the automatic optimization from corrupting the import process (based on report by @Enverex, @Shifty | Quality Control Lead and @chemicalcrux)
- Fixed display layout positioning displays incorrectly with vertical offsets (based on report by @Veer | Chief Moderation Officer)
- Fixed Android builds failing to compile (reported by @Azora Husky)