1. Neos VR
  2. News

Neos VR News

2021.7.31.1211 - New LogiX nodes, procedural meshes, inspector quality of life

Hello everyone! Sorry for the lack of updates this week, things got a bit rough, but here's a (hopefully) nice quality of life update! A bunch of new LogiX nodes and improvements, some new procedural meshes and inspector improvements!

[h2]New Features:[/h2]
- Added generic ValueRegister LogiX node, which can be a register for any Neos supported value
-- All the old specific variants are automatically replaced by this type (e.g. FloatRegister is now ValueRegister)
-- As a result, Enums are now implicitly supported (requested by @xYreous, @Beaned, @Ukilop and @kazu0617 Neos:kazu, GH #2715)
- Added Neos Festa 3 badge (requested by @orange)
- Added "Parent Under: Local User Root" quick action to the inspector (requested by @Beaned and @Shadow Panther [RU/EN, UTC+3], GH #2720)
- Added LogiX nodes for comparing strings (requested by @runtime, GH #2703)
-- CompareStrings
--- Accepts ComparisonType which supports different types of comparison (current culture, invariant culture, ordinal and ignoring case)
--- Note that CurrentCulture refers to the user doing comparison and you might get different results for different users
--- Return -1, 0 or 1, depending on the relative order of the strings
-- Comparison operators and ≥
--- These also accept ComparisonType, but output a simple bool
- Added "Scale Space" to Scaler component (requested by @Coffee, GH #2719)
-- This allows determining the coordinate space in which is the scaling computed
- Added "Scale Multiplier" to Scaler component which multiplies the final scale
- Added internal mechanism to auto-upgrade non-generic components to new generic variants
- Added "Setup Renderer" to procedural meshes, to quickly setup a default mesh renderer
- Added "Bake Texture" to procedural textures (based on suggestion by @Kal)
-- This will bake the procedural texture into a static texture asset
- Added HollowCone procedural mesh (requested by @Mysticporo, @GearBell, @Ukilop and @Aegis_Wolf | Creative Director, GH #2594)
-- This has a hole through the middle. You can configure both the inner and outer radius for both top and bottom
- Added Ramp procedural mesh (requested by @Aegis_Wolf | Creative Director)
-- This is a simple ramp with length, width and height
- Many string formatting nodes now accept format provider to control which culture to use for the formatting (based on report by @Banane9, @Shadow Panther [RU/EN, UTC+3] and @Zyzyl, implemented by @ProbablePrime | Docs, GH #2492)
-- Following nodes have been extended: ToTimeString, Format, FormatTime, FormatDate, FormatTimespan

[h2]Tweaks:[/h2]
- Neos now completely stops initializing desktop duplication and touch injection when desktop is disabled through the Config.json file
-- This can help fix issues where simply initializing those libraries results in crashes (for example running under Linux with Proton, as reported by @gamethecupdog, @Lyo , @Yellow and iamgreaser, GH #2698)
- Visually reorganized and grouped slot quick actions in the inspector to better utilize space
- Inspector slot quick actions and axis labels are now localizable
- Desktop cursor size now remains consitent regardless of the desktop FOV (based on report by @Honzackcz, GH #2724)
- Added "LanguageCode" to CurrentLocaleInfo, which provides the main language code without the regional part (requested by @kazu0617 Neos:kazu, GH #2717)
-- E.g. en-us and en-gb will both output "en"
- Generic node type presets now use color and pattern of the corresponding type
- Custom tooltips are dequipped now instead of being destroyed when using hot-keys to change tooltips in the desktop mode (reported by @Shifty | Quality Control Lead and @Rue Shejn | Artist 3D, implemented by @ProbablePrime | Docs, GH #2083)

- Merged Esperanto locale additions and fixes by @Sejden
- Merged German locale additions and fixes by @InnocentThief

[h2]Bugfixes:[/h2]
- Fixed procedural meshes not showing statistics in the inspector if the UI is generated before the mesh
- Fixed SpiralTubeMesh breaking when DistanceBetweenRings is set to 0 (reported by @Spex, GH #2541)
- Fixed /requestRecordUsageJSON generating a text report instead (reported by @Ukilop, @3x1t_5tyl3, @Duskitten and @Shadow Panther [RU/EN, UTC+3], fixed by @ProbablePrime | Docs, GH #2712)

2021.7.25.489 - Fix for crash due to components not validating base class rules

Pushing another hotfix for another problem that came up that could cause session crashes.

Compatible with previous builds.

[h2]Security:[/h2]
- Fixed component type verification not checking rules from base classes, resulting in certain components not being validated
-- This fixes ActiveUserCloudValueVariable being spawnable with invalid types, resulting in session crash (reported by @Fuzy Sidwell)

2021.7.24.632 - Security fix for malformed LogiX causing crash

Pushing a hotfix for an exploit due to reports of it being abused against users. Unfortunately this means a small performance penalty (in most cases should probably be negligible) before we have a redesigned LogiX initialization system in place.

Compatible with previous build.

[h2]Security:[/h2]
- Added guard against infinite recusion in LogiX causing Neos to crash (previously reported by @I'm Erin., @ThomFox, @Balazus and others)
-- Note that's a small performance penalty (depending on complexity of LogiX setup might not even be measurable) for this fix due to time constraints for the fix. This will be replaced by a more efficient system in the future with LogiX rework
-- There's should be no functional difference for valid LogiX setup in most cases, except in cases of excessively long evaluation chains (more than 512 deep)
-- Also please note that using exploits and crashing other users without their explicit consent (e.g. outside researching exploits with consenting participants) is a moderation offense and not a tool to be used for self moderation

2021.7.23.1251 - Rolling back Steam Audio to earlier version due to crashes

Just a patch rolling back Steam Audio to previous version, since the 4.0.0 has some stability issues for some people.

I rolled back to the previous beta version (Steam Audio 2.0-beta.20) even though we previously were at beta.19 to see if it exhibits the same problem or not.

If you have crash dumps, please share them here! https://github.com/Neos-Metaverse/NeosPublic/issues/2697
I'll try to forward what I can on the Steam Audio GitHub.

Compatible with previous build.

[h2]Bugfixes:[/h2]
- Rolled back Steam Audio to 2.0-beta.20 from 4.0.0 release due to crash reports (reported by @Fuzy Sidwell, @Shadow Panther [RU/EN, UTC+3], @H3BO3, @Rabbitsocks and others)

2021.7.23.529 - Nodes for user positioning, OVRPlugin & Steam Audio 4.0.0 update

A small, mostly maintenance build, working on some more BEPUv2 stuff now. A few new nodes for setting player position/rotation. Also upgrading Steam Audio to brand major version 4.0.0 (previously 2.0-beta.19) as well as the Oculus Plugin.

[h2]New Features:[/h2]
- Added nodes to set user's position via various body node positions under Users/User Root (based on reqeust by @Epsilion)
-- SetHeadFacingDirection
-- SetHeadFacingRotation
-- SetHeadPosition
-- SetHeadRotation
-- SetHipsPosition
-- SetHipsRotation
-- SetFeetPosition
-- SetFeetRotation

[h2]Tweaks:[/h2]
- Added BodyNode and Chirality to the list of common enums
-- This adds them as templates for EnumToInt and IntToEnum nodes and many others (requested by @Titancube)

- Upgraded Steam Audio (spatializer) to 4.0.0 (previously 2.0-beta.19)
- Upgraded Oculus Integraion to 29.0 from 28.0
-- Includes OVRPlugin 1.61.0 (previously 1.59.0)

- Merged Japanese locale tweaks by @Aesc
- Merged Korean locale additions by @MirPASEC
- Merged Czech locale additions and updates by @rampa_3 (UTC +1, DST UTC +2)
- Merged Russian locale additions by @Shadow Panther [RU/EN, UTC+3]

[h2]Bugfixes:[/h2]
- Split Encapsulate Point and Encapsulate Bounds nodes into separate nodes, rather than overloads of each other, as due to input name differences they couldn't actually be overloaded
-- This makes the "Encapsulate Bounds" variant available (based on request by @Ukilop )
- Fixed HP Omnicept Eye Tracking being inverted horizontally (reported by @CaptainKidd)