1. Neos VR
  2. News

Neos VR News

2020.11.2.1161 - Fixed RTF size tag, inventory breaking, focusing world and more

Small patch with a few bugfixes so they don't get held up by other things. Compatible with previous build.

[h2]Bugfixes:[/h2]
- Fixed RTF size tags in absolute size mode not respecting the bounds autosizing, resulting in the text becoming too huge in some cases (based on report by @Cyro, @A Monsoon of Babies, @Ryuvi and @H3BO3)
- Fixed inventory breaking if there are any saved items with a null name (based on report by @AnythingItDoesn'tReallyMatter)
- Fixed voice message avatar visual not compensating avatar's scale, resulting in it being either too big or too small on some avatars (reported by @Veer | Chief Moderation Officer)
- Fixed error when focusing world using its SessionID URL, which cannot be resolved (based on report by @ProbablePrime)

Voice messages for in-game chat, File Share / Upload, Procedural Audio Clips

Hello, and welcome back to the Neos Weekly Update!

We have quite a few exciting social features to talk about this week. You’ve likely seen them in Neos by now, but we officially have voice messages. We’ve also implemented a brand new file share feature where you can transfer files to people and save them through the Neos Inventory or export them to your computer!

The new audio system has received extra polish and bugfixes and some new features as well, like procedural audio clips or ability to easily make clips loopable.



[h2]Voice Messages[/h2]
You can send voice messages through the Contacts menu now! We all know how hard it can be to type in VR, so this feature aims to ease communication between Neos Users by providing a quick and simple way to send a message. Simply select a contact and hold the red Record button to the right of the text field.

The voice message system includes a voice blocking feature, where a user’s voice won’t be sent into the world as they’re recording a voice message. This means you don’t need to go into a whisper bubble to send a private message. There will be a visual indicator in the form of a smaller black whisper bubble around one’s head, and even if a user enters this bubble, they will not hear your message.

Voice messages are being saved and stored via one’s Cloud Storage, but we will implement a system where you choose how long they’re stored at a later date. There’s no need to worry, however, as the voice messages are quite tiny (compressed using OGG Vorbis) and take up hardly any space!

[previewyoutube][/previewyoutube]

[h2]File Share[/h2]
You can now easily drop in any file into the Neos and hand them over to someone, regardless of its format. The recipient may either import the file into the world if it’s a supported file format, save it to their inventory utilizing their cloud storage quickly export it to their computer through the context menu.

To bring in files as items into Neos, you can either drag&drop or copy & paste them to Neos' window while holding Shift or select "Raw File" on the import dialog when it shows up. Any files that Neos doesn't support will import as File Items automatically.

To save a file to your inventory, the process is exactly the same as saving any other item to your inventory. Simply grab the file and click the green plus button in the inventory window where you would like to store the file.

Saving the file to your computer is even easier, simply click on the file in Neos and choose Export. This will send the file from the sender’s computer directly over the internet to the receiving user. The file will download to the user’s Documents > Neos VR folder.

The file share is utilizing the exact same asset transfer system as everything else. Any file brought into the session will transfer over P2P connection, without touching Neos' cloud, unless you save the world or the File Item into your inventory.

[previewyoutube][/previewyoutube]

Unlike other assets, Neos won't initiate the transfer to user until an action is performed (e.g. Import, Export or saving to their inventory), so you don't have to worry about costing other users bandwidth and filling their cache, however keep in mind that anyone within a session can access the file once it's brought in, so for any private data use either private sessions or send them as items through the in-game chat.

If the file is a supported media type, it can be imported directly into the world too as you would any files from your computer. This means 3D models, videos, music and images can be easily shared or viewed within Neos from a File Item.

We hope this new system will help improve various workflows, for example exchanging a Blend file for collaboration, sharing accompanying scripts for Websocket apps in-world or backing up some of your important data to your inventory.

[h2]Procedural Audio[/h2]
Thanks to the rework of the audio system last week, we now have the ability to generate audio clips procedurally, similarly to textures and meshes. Neos now has a few basic waveforms, like sine, triangle, sawtooth, square and two different noise audio clips that you can easily generate in-game.

There are some new audio processing options as well, particularly easily making a clip loopable. Simply open the inspector for the audio clip, set transition duration and click single button to smooth out the looping point.

We have also polished and fixed various bugs with the new audio system, causing issues like audible audio clicks or crashes, making the system more reliable. Thanks to these changes you can now combine them with the basic audio waves to generate 1 Hz signal and use the playback speed to play at any frequency, creating virtual instruments in-game. We’ve already seen some excellent audio-based creations with the new system and we can’t wait to see more!

[previewyoutube][/previewyoutube]

[h2]Community Highlights[/h2]
[h3]Spirit of Pittsburg Ballroom by Kulza[/h3]
Kulza has been showing his progress for this immensely detailed, yet quite optimized world which will be familiar to many convention goers! This convention center ballroom features a huge stage, a dancefloor, lasers and real time lighting as well as a spatialized audio system fit for any sort of dance party! Definitely a great venue for events, fun evenings and much more, so give this amazing world a visit!



[h3]Chaotic Halloween World by Neos East Japan[/h3]
Quite a spooky world! You’ll find monster heads floating around spewing candy, a few jumpscares, and lots of spooky environmental sounds in this detailed Halloween world! Some of the creatures are even avatars in case you’re looking to spook your friends!



[h3]Guitar by Orange[/h3]
Orange, the Neos East Japan team lead has created a guitar in Neos! Along with showing off the guitar’s chord capabilities, we’re gifted with a serenade by Orange to accompany the riff! Amazing guitar and vocals Orange!



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

Thanks again for checking out the Neos Weekly Update! Check back again next week for more information about new features and fun community highlights we’ve found. If you find any community highlights, remember to send them to Veer for him to check out. As always, have a great week, be safe, and if you’re a US citizen, remember to vote!



2020.11.1.1319 - Voice message & session asset transfer improvements and more

Some more improvements/additions for the voice messages, a bunch of other tweaks and bugfixes too! I've done some changes to the session asset transfers, which should help queues from getting stuck for a while in some larger sessions.

[h2]New Features:[/h2]
- User is now temporarily muted in-world when recording a voice message
- When recording a voice message, a small bubble is displayed around the user to indicate that they're recording and isolate them from the enviroment (suggested by @Coffee | Programmer)

[h2]Tweaks:[/h2]
- When lowering the accessibility of a saved world, any nested worlds that are published won't inherit this lowered accessibility
-- This fixes case where having world orbs in an unpublished world (but marked as openable by anyone) that reference published worlds would cause those nested worlds to become unpublished if the root world was set to non-public (based on report by @Medra)
- Switched to youtube-dlc 2020.10.31 for streaming video from online services (based on suggestion by @Polaris | Goose)
- When detecting hand/finger rig, any bones named "palm" will always be assumed to be metacarpal bones (based on report & sample avatar by @Earthmark)
- Improved finger rig root detection, to avoid using bones that split into two fingers as a root of single finger, causing one of the fingers to fail
-- This fixes hand/finger rig detection for some improperly rigged hands (e.g. version of CoyoteMk2_V1.0 as reported by @Earthmark) so the fingers work, but fixing the rig instead of relying on this is still highly recommended
- Active locomotion mode is now only synced from previous worlds when session starts, but not when worlds are switched afterwards (based on suggestion by @Hodufan, @Shifty | Quality Control Lead and others)
- Neos will now inter-weave asset transmission jobs to all connections, to prevent a single slow receiver from blocking the entire session queue (based on feedback from @Turk, @AdmiralSoap and others in the past)
- Maximum number of concurrent session asset transfers can now be configured in the Settings (default is 4) (based on suggestion from Iforgotwhosorry ;_; I think it was @GoodVibes but I'm fuzzy on this)
-- If you have a good internet, you can increase this number so assets transfer faster with larger number of users
-- BE CAREFUL when increasing this, as using values that are too large can severely degrade the session networking
-- For headless this can be configured via maxConcurrentAssetTransfers property in the config file

- Merged Esperanto, Japanese and Chinese locale additions by @Melnus
- Merged Japanese locale additions/fixes by @orange
- Merged Korean locale additions by @MirPASEC
- Merged Polish locale additions by @art0007i

[h2]Bugfixes:[/h2]
- Merged redundant "Transform Matrix" to Compose TRS Matrix node (reported by @Electronus)
- Fixed broken error estimation for reverse audio playback, causing clicks
- Fixed old broken version of Assimp64 for the headless
- Fixed pasted text that starts with a forward slash creating an empty slot in the world named after the text following the slash (reported by @Bitman and @Alex from Alaska)
- Fixed MultiValueStream throwing exception when data is accessed before the first frame arrives and is decoded
-- This fixes certain behaviors breaking, like FingerPose node breaking when a new user joins (reported by @RezilloRyker, investigated by @Shifty | Quality Control Lead and @Vigilabo)
- Fixed Model import from a Raw File item not working for certain formats

2020.10.30.1068 - Fixed random audio clicks, more procedural audio generators

Just a small build for today, fixing up some more audio playback issues, particularly audible clicks, adding a few more procedural audio clips a quick way to cleanup the new Raw File items in your world.

[h2]New Features:[/h2]
- Added TriangleWaveClip procedural clip for triangle wave
- Added ValueNoiseClip procedural clip that generates value noise (it sounds like static)
- Added "Cleanup File Items" to the Asset Optimization wizard, which will cleanup all raw file items under the provided root (based on request by @Dante)
- Added "Merge Sessions By World ID" property to WorldListManager (default on)
-- Disabling this will prevent the manager from merging the session ID item with the published version of the world and display unique item for each session, even if they're of the same world (based on request by @ProbablePrime)

[h2]Tweaks:[/h2]
- Asset Optimization Wizard is now localizable
- Merged Polish locale additions from @art0007i
- Merged Dutch locale additions from @Alex the insufferable avali 🐦

[h2]Bugfixes:[/h2]
- Playback position error estimation now scales with the playback rate, fixing audible clicks when using high playback speeds due to clock jitter being amplified by the playback rate (based on report by @Ruzert)
- Fixed incorrect clip position tracking when looping is enabled and playback rate is faster than 2, causing audible clicks due to incorrect error correction (based on report by @Ruzert)
- Fixed audio sample reading getting stuck on a single source sample in some rare cases due to rounding errors, causing exceptions to be thrown and glitchy audio (based on logs by @Rukio, @Shifty | Quality Control Lead and @gamethecupdog)
- Fixed ValueGradientDriver being instantiable with incorrect generic types
- Fixed errors when loading OVRLipSync causing the user to break Visemes for everyone else in the session (e.g. when running through Proton on Linux, as reported by @gamethecupdog)
- Fixed SawtoothWaveClip being half the amplitude it should be

2020.10.29.1372 - Fixes and tweaks for the file share

Just a few tweaks and fixes for the new file share. Compatible with previous build, no need to update if not experiencing issues (or don't care about them).

[h2]Tweaks:[/h2]
- Raw File item context menu will only show on laser click, not on physical touch
- Added more file extensions (mostly document and text files) to the asset classification system

[h2]Bugfixes:[/h2]
- Fixed raw file import through the in-game File Browser not working in some cases due to not synchronizing with the target world (based on report by @Ryuvi)
- Fixed Raw File item context menu options not showing up when the context menu is opened with the file held in hand