1. Neos VR
  2. News

Neos VR News

2020.11.17.71 - MTC 2.0 localizations to 6 languages, minor bugfixes

It wasn't even a day and the new MTC 2.0 tutorial has already been translated to Japanese, Esperanto, Chinese, Korean, Czech and Russian thanks to our amazing translators! Pushing a build with the new translations before we make an official announcement.

We have updated the MTC itself as well with some bugfixes and tweaks and this build has a minor related bugfix too, if you see the skybox material distorting in the MTC, please update!

The build is compatible with previous two.

[h2]Tweaks:[/h2]
- Merged Japanese, Esperanto and Chinese locale additions (including MTC 2.0) by @Melnus
- Merged Korean locale additions (including MTC 2.0) by @MirPASEC
- Merged Czech locale additions (including MTC 2.0) by @rampa_3 (UTC +1, DST UTC +2)
- Merged Russian locale additions (including MTC 2.0) by @Shadow Panther [RU/EN, UTC+3]
- Merged English locale fixes by @Melnus and @rampa_3 (UTC +1, DST UTC +2)
- Merged Japanese locale fixes by @orange and @Aesc

[h2]Bugfixes:[/h2]
- Disabled instancting on Projection 360 material, which causes random distortions when the same material is applied to multiple objects (reported by @Aegis_Wolf | Art Director)
- Added extra logging information for CircularAudioBuffers to help diagnose errors
- Fixed Welcome screen of the MTC 2.0 tutorial not using the localized strings (reported by @rampa_3 (UTC +1, DST UTC +2))

2020.11.16.430 - Releasing first part of new user experinece (MTC 2.0)

After weeks of effort by our team and a few community contributors (we'll post more in the weekly update tomorrow), the new MTC 2.0 is now live! Pushing a new build with tweaks and new locale strings required for it to work, please update before visiting, otherwise some text will be missing. The build is compatible with previous one so you don't need to update right away though.

So far only the main welcome room has been reworked, featuring a new tab based tutorial, the other rooms are still using the old style and will be reworked over time.

[h2]New Features:[/h2]
- The main room of the new MTC 2.0 is now live!
-- The welcome screen on dash will now open this version as well as the MTC button on the dash
-- When opened through the welcome screen, opening of the dash is blocked until page on how to open it is reached
-- Added locale strings for the new MTC, it should be fully localizable

[h2]Tweaks:[/h2]
- Merged Japanese, Esperanto and Chinese locale additions by @Melnus
- Merged Czech locale additions by @rampa_3 (UTC +1, DST UTC +2)
- Merged Dutch locale additions and fixes by @Alex the insufferable avali 🐦
- Merged Russian locale additions by @Shadow Panther
- Merged German locale additions by @Bluigi

[h2]Bugfixes:[/h2]
- Fixed OBS menu on the Camera/Streaming menu breaking, rendering the UI blank (reported by @Kulza, @Medra and @ProbablePrime)

2020.11.15.758 - Additions to welcome guide, SmoothValue , many tweaks & fixes

Some more additions for the welcome experience, adding a screen that allows setting basic preferences and some internal things as well as related improvements. Adding a few smaller new features as well like SmoothValue, GridLayout and some other.

A bunch of tweaks and bugfixes as well. I traced down sources of some freezes, particularly when a world crashes, so Neos should lock up less in such cases now and I fixed some cases of worlds crashing in the first place, so hopefully it'll help.

[h2]New Features:[/h2]
- Added "Basic Preferences" screen to the Welcome Guide on the dash, that lets user configure Smooth/Snap turn, Primary Controller and their height (height previously requested by @Earthmark)
- Added a new Create Account icon to the welcome guide dash screen (icon created by @Coffee | Programmer)
- Added "ReactivateDash" LogiX node (in Experimental), which will reactivate dash disabled by the welcome tutorial
-- This node is mostly for internal use, it won't have any effect when the dash is already activated
- Added "World Path:" to the dialog for editing world metadata
-- This allow assigning the world a fixed path, which allows it to be loaded dynamically without having to hardcode it's Record ID using the neosrec:/// URL

- Added SmoothValue (under Transform/Drivers) which will smoothhly lerp arbitrary target value of supported type (requested by @Coffee | Programmer)
- Added CreateDirectlyOnTarget and CreateNonPersistent inputs to CreateDynamicVariable and WriteOrCrateDynamicVariable nodes (based on requests by @Zyzyl, @Robyn (QueenHidi), @Turk and @Enverex)
-- CreateDirectlyOnTarget will create the component directly on the target slot, rather than the space root (I recommend only using this if really necessary and if you have full control over the target slot)
-- CreateNonPersistent will create the component as non-persistent, meaning it won't save with the world. If one already exists the persistence won't be altered
- Added "Align Last Row Individually" to the GridLayout, which will align the last row of items on its actual number of items (e.g. centering them)
- Added Welsh (cy) pluralizer (requested by @Raith)
- Added Inverse (A^-1) support for 2x2 matrices (based on report by @Zyzyl)

Tweaks:

- Reworked connector disposal mechanism to avoid running individual deletions and cleanups in connectors (typically interacting with Unity API) when the whole world is being disposed
-- This saves some performance when closing the world, making it happen a bit quicker
-- Importantly this also fixes random Neos lockups, particular when the world crashes due to unexpected exception, requiring Neos to be completely restarted
- Left/Right Close Override now works with simulated eye movement, rather than just eye tracking (based on report by @Alex from Alaska)
- SyncType fields will now use the type redirection system on load
-- This will make renamed component types load correctly, e.g. for the locomotion permissions (based on report by @ProbablePrime)
- TimerCountIndicator and TimerColorIndicator on InteractiveCamera are now optional and won't break the camera when not present (based on report by @Hayden (PolyLogiX Studio))
- Distance/length quantity parsing now accepts singular forms of units as well (e.g. "inch" in addition to "inches")
- Record/World edit form is now localizable
- Component attacher will now filter out any common type presets if they're not actually supported by the component
- libVLC playback engine will attempt to load video 5 times to help in cases where the load fails on the first try (based on report by @Enverex)
- Upgraded to youtube-dlc 2020.11.11-3 (from 2020.10.31)

- Merged English locale fixes by @Bluigi
- Merged Japanese, Esperanto and Chinese locale additions and updates by @Melnus
- Merged Gereman locale additions and fixes by @Bluigi
- Merged Russian locale additions and fixes by @Shadow Panther
- Merged Turkish locale additions and fixes by @Blaze
- Merged Czech locale additions by @rampa_3 (UTC +1, DST UTC +2)
- Merged Polish locale additions and fixes by @art0007i

[h2]Bugfixes:[/h2]
- Fixed uint values larger than signed int not being able to be saved (reported by @thotgamma)
- Fixed biped rig heuristics not correctly detecting bones with "eyeball" as eyes (based on report and sample model by @H3BO3)
- Fixed tooltip validation causing a tooltip to get dequipped on behalf of another user causing the user to freeze (reported by @Alex from Alaska and @3x1t_5tyl3)
- Fixed users validating other user's tools as their own if they make changes to them (discovered based on report by @Alex from Alaska and @3x1t_5tyl3)
- Fixed Locomotion modules being validated against the validating user, rather than the user they're equipped on (discovered based on report by @Alex from Alaska and @3x1t_5tyl3)

2020.11.13.1356 - Welcome guide, Notification sounds, many tweaks and fixes

Sorry for the lack of updates over past few days, I was rebuilding my PC and reinstalling everything, but here's a bunch of new goodies!

Neos now has Welcome Guide, which will get new users setup with basics (making sure their audio works and they register an account and some more), which will tie into the new MTC tutorial as well (currently it still opens the new one), hopefully this will help to improve the initial experience and get rid of a lot of common problems.

I built and tweaked a bunch of the UI's for it as well, like the language selection (it now also shows credits of the authors!) and login/registration process.

Message/invite notifications now also have sounds based on popular request! Currently they're just semi-random sounds from royalty free library, they'll be replaced by custom ones at later point, but hopefully they'll serve well.

There's many other tweaks and improvements as well as well as some security/privacy fixes. The cloud server was also upgraded to the brand new .NET 5 runtime that released a few days ago, giving the cloud some performance boost!

[h2]New Features:[/h2]
- Added new "Welcome Guide" to the dash, which will walk new users through a few basic settings to get them setup and avoid common first time problems
-- Currently this includes language selection, screen mode warning, audio device selection and account creation
-- At the end, the screen will take user to the MTC (currently old one, will be replaced with new soon), with choice for it to be either public or private session
-- More screens will be added later, particularly basic options (Snap/Smooth turn, Height and such)
-- Opening & Closing dash and switching dash screens are disabled for the duration of this tutorial to prevent the user from accidentally getting lost
-- You can force this welcome screen to open by passing -ForceIntroTutorial argument or using same option in the Neos Launcher
- Added message notification sounds (requested by @spider, @Alex from Alaska, @H3BO3, @Enverex, @sirkitree and others)
-- The sounds are currently temporary 3rd party ones picked from this website: https://www.tonedock.com/samplepacks/6 official ones will come at later point
-- Sounds only play on text/voice message, session invite and credit transfer and only if the notification is actually shown
- Added LanguageSelection UI, which lists all available languages with their English and Native names and allows easily switching by simply clicking on them
-- It will also show the authors of given locale and all its fallback locales
- Added "CurrentLocaleInfo" component (under Localization) which provides basic info about user's current locale
-- Currently it outputs the locale code, native name and English name
- Added "LocaleAuthorsInfo" component (under Localization) which generates credits string for a given locale resource
- Added ability to remove the reticle in Screen mode by passing -HideScreenReticle command line argument (requested by @Randy)
-- You can also use a new option in Neos Launcher
- Added transparency support for PBS Triplanar (requested by Brandon Schmeidler on GitHub and others in the past)
- Added ` and ~ characters as Shift modified versions of Esc and Tab keys (requested by @H3BO3)

[h2]Tweaks:[/h2]
- Improved new account registration dialog
-- User will now be automatically logged in after they click on the verification link, without having to enter their login credentials again
-- The registration success message mentions the email that the link was sent to
-- @Translators the success registration string has changed in the locale, please make sure to update it when you can!
- Upgraded CloudX API server to .NET 5 runtime from .NET Core 3.1, along with all associated libraries
- Upgraded to System.Text.Json 5.0.0, which should improve some performance for communication with Cloud API
- Upgraded many other internal dependencies to newer versions
- Various permission and avatar protection security improvements based on community reports
- Sanitized public group API (based on report by @Bitman)
- When user is in Contacts Only world that's Hidden from lists, it will show as "In Hidden, Contacts Only World" (based on feedback by @Enverex, @Turk, @Electronus and @Shifty | Quality Control Lead)
- Renamed FlyLocomotion component to NoclipLocomotion
- Added cleanup of removed locale files from Neos' build
- Cloud API now reports correct user verification status
- Removed Live.com email warning from the registration dialog
- VirtualKeyTextDrive will now use the TargetKey if the append string is pure whitespace
- Merged German locale additions and updates by @Bluigi
- Merged Japanese, Esperanto and Chinese locale additions and updates by @Melnus
- Merged Czech locale additions and updates by @rampa_3 (UTC +1, DST UTC +2)

[h2]Bugfixes:[/h2]
- Fixed PBS Distance Lerp Specular Transparency shader not loading (reported by Steven Azari on GitHub)
- Fixed Noclip locomotion speed being affected by the scale of the avatar's hand (reported by @marsmaantje)
- Fixed "Repeat Email:" in login dialog saying just "Email:" (reported by @Bluigi)
- Fixed session access level in the Session screen not using the localized strings (reported by @Bluigi )
- Fixed Microphone tooltip continuing to record user's voice when they're recording a private voice message and the recording was started by another user / script (reported by @H3BO3 and @Zane)
- Fixed registration success message not using the localized string

2020.11.10.578 - New audio input selection, Audio XY "oscilloscope", many fixes

New audio input device select screen! It should be much easier and faster to use and will also be incorporated into the upcoming initial Neos setup for new users.

It's also designed in a modular way too, so you can now create your own facets and UI for switching audio devices (e.g. having a quick switch between two commonly used on your dash), I've even thrown in a component to easily map audio device by its name to make it easier.

Also added new procedural AudioSourceXYMesh, which graphs the stereo channels on XY axes, allowing the sounds and signals to be visualized as interesting patterns (see #🎥devlog for example).

I'm also slowly working on preliminary work towards ReflectionProbes, a first tiny step made it into this build, having Projection360 support cubemaps. No way to import/create them yet, more to come.

Also a bunch of bugfixes as usual!

[previewyoutube][/previewyoutube]

[h2]New Features:[/h2]
- Added AudioInputDeviceSelection, which provides new UI for selecting the default input audio device
-- This shows list of all audio devices at the same time
-- It also shows the device monitoring data - volume bar and realtime waveform
-- Additionally you can quickly test the input, by having it play the audio back to you
-- This replaces the audio selection in Settings
- Added ButtonAudioDeviceSet component, which sets the default audio device based on index or name
-- Using value of -1 will revert to system default
-- This component only works in Userspace
- Added LocalAudioDeviceStream which is an audio source that directly passes audio data from an audio device, without syncing the audio data to other users
- Added AudioDeviceInfo (under Audio/Utility) which provides information about audio device
-- Currently provides DeviceName, if it's Neos default, if it's system default and the device type
-- Providing -1 as DeviceIndex will make it show properties of the current Neos default
-- This component only works in Userspace
- Added AudioDeviceIndexFinder (Audio/Utility), which will find the device index of audio device by name
-- Name match can be case insensitive (on by default) and allow partial matching of substring (on by default)
- Added Cubemap support to Projection360 material
- Added AudioSourceXYMesh procedural mesh (it's a RectMesh) which graphs stereo audio signal as XY graph (based on request by @Hodufan)
-- When cubemap texture is assigned, it takes precedence over the 2D equirectangular texture
-- Field of view and angle offset are not supported when cubemap is in use
-- Tint texture is not supported when cubemap is in use
-- Creating cubemaps in-game isn't supported yet
- Added nodes for getting and setting the OrderOffset of slots (implemented by @Coffee | Programmer)

[h2]Tweaks:[/h2]
- Improved biped rig heuristics to filter out twist bones when there are other better bone candidates (based on report and sample models provided by @Turk)

[h2]Bugfixes:[/h2]
- Fixed audio updates not running on overlay worlds (e.g. Userspace), causing certain behaviors to break or misbehave
- Fixed volume sliders in Settings being affected by the whisper sphere activation
- Fixed audio group volume filters not updating properly every frame
-- This fixes whisper spheres not immediately lowering volume of Sound Effects, Multimedia and UI sounds (previously reported by Iforgotwhosorry ;_;)
- Fixed "Bake Mesh" button on procedural meshes in the inspector not working (reported by @Aesc)
- Fixed DefaultUserScale throwing exceptions when changed and currently inactive (found in a logs from @Toni Kat, @3x1t_5tyl3, @Cyro and reported by @Shifty | Quality Control Lead)
- Fixed permission validations scheduled on disposed worlds throwing exceptions (found in a log from @Toni Kat)
- Fixed "Separate parts of mesh unaffected by blendshapes" breaking the SimpleAwayIndicator by not adding the user reference assigner (reported by @runtime)
- Fixed model import breaking when searching for external textures, when certain paths cannot be enumerated or when the search path is invalid