1. Neos VR
  2. News

Neos VR News

New Metamovie poster and another test run this Thursday, World UI progress

Hey hey, welcome back to the Neos Weekly Update!

We’ve got more information on the Metamovie project and the Biennial Venice Film Festival to talk about this week, as well as a bit of progress on the new World UI menu has been made. We’ve also got a few amazing Community Highlights to talk about, so check all that out below.



[h2]Join us for the next Metamovie Test Run[/h2]
On Friday last week we helped to run the first live test run of the Metamovie: Alien Rescue experience developed by Jason Moore, in preparation for the La Biennale di Venezia Film Festival, with VRxist as the VIP interacting with the actors and several other community members as “fireflies” watching the experience.

The whole experience went mostly smoothly, but we managed to discover a few glitches and problematic areas. To make sure those have been fixed we’ll be doing another live run this Thursday at 11 AM PST with Rukio as the VIP. There are still some slots left for the fireflies, so please get in touch with Nexulan or RueShejn if you’d like to participate! The event will be streamed on our Twitch channel as well.

Metamovie now also has a brand new official poster, featuring the main cast, aliens and some of the set pieces made for this experience! We’re astonished how beautiful this poster is and can’t wait for the live live run of the experience in September!



[h2]UIX Modal Dialogs, Dynamic Variable Spaces[/h2]
As we continue to work on the new World UI, Neos has received some new general additions necessary to build the UI in a consistent, flexible and long term manageable manner. For example Neos now has a UIX modal dialog system, which allows any piece of UI to request a modal overlay to display another piece of UI, while covering the UI below.

The login dialog has been switched over to this system and a world detail UI has been implemented, which shows up after you click on any of the thumbnails. We’ll be using this system for many confirmation dialogs, prompts and other uses as we continue to rework more of the old UI.

[previewyoutube][/previewyoutube]

We made sure to make the system also very flexible and customizable, allowing you to build custom modal dialog templates, so you can customize how it actually looks, animates and behaves.

Another addition is something we call the Dynamic Variable Space. This system will dynamically link variables of the same name in the hierarchy under the same DynamicVariableSpace component. This greatly increases modularity of the systems, by efficiently dynamically connecting the data values simply by placing objects in particular part of the scene hierarchy.

This benefits the Facet system, as Facets placed within the same container can now interlink and communicate with each other, without being explicitly connected or even designed to do so. The system is designed to be powerful enough to handle lots of other scenarios, like building games and will receive more features and integrations with LogiX. Because the system is fairly new though, there are still some changes being done to it though, so we recommend to wait a bit for it to stabilize (watch the #neos-updates channel for more).

[h2]Progress on the World UI[/h2]
With those new subsystems in place, the new World UI now has pretty much all the necessary pieces to be finished. Significant progress was made on the UI itself, building out a world detail UI that actually lets you join, focus or start sessions and view detailed information about the world.

[previewyoutube][/previewyoutube]

The UI has two modes. When you first click on a world it shows a compact view, allowing you to quickly join. By expanding the UI you’ll be able to see all the details like description, uptime, list of present users, tags and more, as well as list of all active sessions and ability to start your own.

Since the whole system is based on the reworked world fetching system, the UI intelligently updates in near real time as new sessions of the world open or close, with minimal effort on the development side of Neos.

[previewyoutube][/previewyoutube]

[h2]Community Highlights[/h2]
[h3]Music Sequencer by @kino_ko_b[/h3]
Kino has created a music sequencer within Neos, which is one of the first of its kind to be seen in the platform. And they’ve made it without the help of the future Timeline system, a planned feature on the horizon! Amazing work, Kino!


[h3]Tetris by the PolyLogiX Team[/h3]
The PolyLogiX team have been well known for their amazing, helpful and fun creations, and their rendition of the world-famous Tetris game is amazing to experience in VR! Bring your friends and try to get on the scoreboard!


[h3]Eye-interface LogiX Programming by Rhenium[/h3]
Rhenium has been a frequent flyer of the Community Highlights section of our Weekly Update, and for good reason! Their understanding of LogiX has seemingly given them superhuman abilities to connect LogiX Nodes with just their eyes! Alas it may not be super powers, but Rhenium’s ingenious LogiX/Vive-Pro Eye interface! Truly amazing!


[h3]Cyclops Avatar w/eye tracking and vocal control by Danyy[/h3]
Danyy is an amazing avatar creator and artist, creating many amazing things over his usage of Neos. This new avatar is also utilizing the Vive Pro Eye, and tracks when Danyy has his eyes wide open to send out a huge laser beam! Good job, Danyy!



[h2]What’s Next?[/h2]
The new World UI is now nearing its completion. The main remaining tasks are adding some more details and information to the UI and then building out a search bar and filtering/category UI and linking those up together on a new screen on the dash.

We expect this to only take a few more days, so the new World UI should go live this week, so keep your eyes peeled! If you’d like to see more progress as it happens, check out the #devlog channel on our official Discord.

Thank you again for reading this week’s edition of the Neos Weekly Update! We hope you all have a great and creative week, and make sure to check back on our previous updates in case you missed some. Don’t forget, Medra’s Metaverse Creator Contest is coming up soon, as previously discussed in our last Neos Weekly Update!

2020.8.23.867 - Progress on World UI, UIX additions, tweaks, bugfixes and more

Some more progress on the new World UI and a bunch of related things to it - some additions, tweaks and bugfixes to UIX. Some other unrelated additions, tweaks and bugfixes as well, so they don't get held up by the work on the new World UI.

[h2]New Features:[/h2]
- Added "IsHostAccessAllowed" LogiX node (under Network) which indicates whether a given host is allowed to be accessed or not, without prompting the user with the dialog (based on request by @InnocentThief)
- Added Perspective360Panner which provides configurable panning behavior for the Perspective projection with the Projection 360 material
-- This is separated behavior from the 360 preview panning that the new World UI uses, making it usable for your own behaviors
-- It requires a button component on the same Slot that sends hover events
- Added "RectTransformLerp" which allows lerping a RectTransform in UIX canvas to the location and size of another
-- The lerped RectTransform must come after the rect it's being lerped to (that is either be deeper in hierarchy or later in sequence in the hierarchy). Otherwise the behavior is undefined.
-- Lerped RectTransform must also not be driven as part of UIX
- Added "HideWithNoMaterial" property to RawGraphic, which will skip generating the graphic geometry if the material is not assigned
- Added Avatar LogiX Transfer Wizard, which helps transfer some LogiX setups across avatars
-- Currently this is very rudimentary and will only transfer blendshape drive targets to blendshapes of the same name on another avatar
-- It will be expanded to support transferring more things in the future as needed/requested
- Added MockupMouthTrackingSource which allows testing the mouth/lip tracking drivers and systems by providing raw values (under Input/Mockup Devices)

[h2]Work in progress features:[/h2]
- Generalized WorldItem to be abstract item without any visual representation, but just providing the data fetching and combining
- Added "WorldItemTemplate" and "WoldItemType" to WorldListManager to specify which type of world item will it generate
- Added WorldThumbnailItem, which is a specialization of the world item that show the world thumbnail with basic info (the one previously shown as WorldItem)
- Added WorldDetail, which shows up a compact information about world when clicked on, allowing to focus the represented world, join session or start a new one. This has an expanded mode as well which will display detailed information about the world and list all active sessions

[h2]Tweaks:[/h2]
- "Protect Avatar" is now enabled by default in the avatar creator (based on feedback by @Enkiko and @Enverex)
- Registration process now requires confirmation that the user is 13 years or older
- Tweaked UIX interaction mechanism to ignore any blank RectTransforms (ones that don't have any graphic on them or certain UI controllers like NestedCanvas or ScrollRect)
-- This fixes confusing cases, where a completely empty RectTransform (one without any visuals) would block interactions with Rects under it, when there's UI interactable in its parent hierarchy
-- IMPORTANT!!! This is a potentially breaking change, as it changes behavior of UIX user interactions. It should only affect very atypical corner cases, but if you are affected, let me know and I'll provide a solution to update your setup
- Some more security improvements

[h2]Bugfixes:[/h2]
- Fixed "CreateFieldUndoStep" not working correctly (reported by @Zyzyl)
- Fixed bright flashes when opening modal dialogs in UIX in some situations
- Fixed Rect clip versions of the Projection360 shader being corrupt
- Fixed LogiX display node showing "null" instead of formatting it properly (reported by @0utsider | Programmer)
- Fixed typo in "LipLowerLeftRaise" on mouth tracking data

2020.8.20.234 - UIX Modal Dialog system, saving screenshots, MipMap bias, fixes

Another new subsystem was added for the new World UI - modal dialog system for UIX. I've switched over the Login page to it if you'd like to see it in action.

This build also has a bunch of other smaller additions, like ability to save photos captured by others as you local screenshots or exposed MipMap bias property on textures, as well as several bugfixes (e.g. making the new LogiX wire grabbing work with multitools).

[h2]New Features:[/h2]
- Added ModalOverlayManager component (UIX/Interaction) which will take care of instantiating modal dialogs for any elements under its hierarchy that requests them
-- It allow configuring the root where the modal dialog is spawned and the modal UI template
- Added ModalOverlay component which is the base behavior for the modal overlays, exposing ShowLerp property which allows animating the modal overlay in and out (you can use this to build your custom visuals)
- Added RadiantModalOverlay component which is a programmatic ModalOverlay template that blurs and partially fades the background and displays the content on top
- Added "InteractionBlock" component (under UIX/Interaction) which allows explicitly blocking any UIX interactions from passing through the graphic it's on (it will respect the Enabled state)
- Added "FillRect" to RawGraphic, which allows controlling the relative size of the generated quad to the RectTransform it's on
- Added a diagnostic of unread notifications by pressing the F9 key, which will print out where the number is coming from to the log (based on report by @Faolan (RAD))
- Added ability to save photos captured by other users as own screenshots, by grabbing them and selecting "Save as screenshot" in the context menu (requested by @orange)
-- This will save the screenshot to all locations (Steam Screenshots, "Pictures" folder in Documents and any other future locations) as if it was photo captured by you
- Added "MipMap Bias" property to Static Texture 2D and procedural textures (requested by @H3BO3)
-- Negative values will make the textures sharper (at cost of performance impact), while positive ones will make them blurrier
-- Asset variant system will automatically combine texture requests to use the lowest bias requested. If there is a request for texture with lower bias, it will affect all textures

[h2]Tweaks:[/h2]
- The login dialog now uses the new modal overlay system instead of a separate dash screen
- RTF tags are now stripped from world name when generating debugging strings (this is mostly internal change, will improve readability of logs and other debugging information)
- Additional security improvements (based on report from @Rue Shejn | Artist 3D)
- Upgraded Oculus SDK to 19.1 (this includes OVRPlugin upgrade to 1.51.0 from 1.48.0)
- Neos will now auto-initialize SR Anipal (HTC Vive Eye & Lip tracking) if it finds it installed in default location ("C:\Program Files\VIVE\SRanipal") (based on feedback from @フリック)

[h2]Bugfixes:[/h2]
- Fixed TooltipMultiplexer not passing through grabbing events
-- This fixes the LogiX tooltip grab to create new relays not working with multitools (reported by @Alex from Alaska)
- Fixed LogiX tip breaking when trying to drag-grab wires on some wires with missing targets (reported by @Gunnar0 and @Shifty | Quality Control Lead)
- Added guard to prevent user from getting respawned due to errors in OnGrabbing event in ToolTips (based on report by @Gunnar0)
- InteractiveCamera will cleanup itself on startup if it's corrupted (missing main or secondary camera) (found in a log from @Enverex)
- Fixed potential bugs in the cloud message fetching mechanism due to local system timezone issues due to not using UTC time
- Fixed "Recieved" typo when receiving tokens (NCR, CDFT, KFC) in the friends list (reported by @Blaze)

2020.8.18.447 - Dynamic Variables, LogiX wire shaping, security fixes and more

Some more progress on the World UI! The WorldListManager is now pretty much complete, with full support for filtering, searching and sorting. Now I'm building things around it to actually provide UI for that functionality too, which led to a brand new system Dynamic Variable System!

First bits of the new Dynamic Variable System have been added, which allows you to automatically and efficiently link/sync values within the hierarchy based on their name and type. This is going to be used to dynamically link values between Facets in a Facet Container (e.g. for the new World UI), but it's a general system, so it can be used for anything! It will be extended to be easily usable with LogiX and add a lot of other behaviors on top.

WARNING: You can play with it, but I might still change some of the core things with it, so stuff you make can break. I'd recommend giving it about a week to stabilize, until then I don't guarantee compatibility. See #🎥devlog for more.

You can now easily shape LogiX wires with relays by simply pointing at them with the tooltip and holding grip! The FlatLitToon is now finally officially deprecated and removed, all existing instances will be autoconverted to Xiexe! This build also has a bunch of security improvements based on various independent reports and some other bugfixes.

[h2]New Features:[/h2]
- Added "DynamicVariableSpace" (under Data/Dynamic) which creates a shared space for named variables within the child hierarchy
-- Variables are identified both by their name and type. This means variable of type "int" named "MyVariable" and variable of type "float" also named "MyVariable" are separate independent variables
-- If you parent new dynamic variables under the DynamicVariableSpace, they will automatically sync to that space
-- The GridContainer on the Home screen is now a DynamicVariableSpace, making any dynamic variables within the grid sync up
- Added DynamicField (under Data/Dynamic) which links a target field to a named variable under DynamicVariableSpace
- Impelemented efficient mechanism for hierarchy changed events, which makes sure only parts of hierarchy that are subscribed will be updated (this is mostly internal right now, but will be used and exposed in various ways through other functions and systems)
- Added ability to quickly insert relays and shape LogiX wires by pointing the laser at them and holding grip (implemented by @Coffee | Programmer, requested by ykgamma on GitHub (sorry don't know your Discord handle!))

[h2]Work in progress Features:[/h2]
- World List Manager is mostly complete now for its initial functionality. It has full filtering/searching support and sorting support.

[h2]Tweaks:[/h2]
- Deprecrated FlatLitToon material, all existing instances are autoconverted to equivalent Xiexe Toon
-- Most references to fields should be auto-remapped as well to equivalents, so any LogiX animating them should still work
-- If conversion doesn't handle something correctly on your objects or worlds, DO NOT SAVE and report the issue. As long as the original is still saved, a tweaked autoconversion process can be re-run
- Several security improvements (based on report by @Earthmark, @Turk and others)
- The pick node and pack actions on the Logix tip now use the bendy lasers (fixed by @Coffee | Programmer)
- Categorized TextField under UIX/Interaction, which is necessary to setup editable text field with UIX
- Some last Metamovie-related additions to the headless

[h2]Bugfixes:[/h2]
- When syncing worlds/items, the cloud server will now return 429 error code when the sync ends up database throttled rather than BadRequest
-- This will trigger automatic retry logic on the client and hide random transient database spikes, rather than showing a Sync Error to the user (based on report by @Earthmark)
- Categorized "VirtualParent" under Transform/Drivers
- Fixed potential memory leak in VirtualParent component
- Fixed external assets on saved objects running their OnAttach behavior when they're loaded, potentially corrupting the state of the asset and causing loading errors

Metaverse Maker Competition with over $2000 in prizes, Sep. 1st to Oct. 1st 2020

Hello everyone and welcome back to the Neos Weekly Update!

This week we’re talking about the Metaverse Maker Competition, hosted by Medra and the Creator Jam. It’s coming up in about 2 weeks and there’s a huge prize pot for contestants, with over $2000 worth of NCR and more in CDFT!

We have included the official announcement and information below by Medra. Make sure to check out the new #mmc-2020 channel on our official Discord as well for any updates and discussion. You can also join the Creator Jam Discord server here.

We’ve also got some information on updates to the world menu and more below.



Metaverse Maker Competition
[h3]presented by Creator Jam[/h3]

[h2]Introduction[/h2]
Come take part in the excitement with the biggest contest in Neos ever—Metaverse Maker Competition. More prizes, More categories More fun. Work collaboratively or alone. Create whatever you wish: worlds, games, avatars, effects, code, gadgets, tools…

Since the last contest Neos’ community has tripled, more features have been added, more documentation is available, and lot’s more talented people are here. We’re super excited to see the crazy stuff you all will make!

Special thanks to our sponsors Neos(Solirax), ViARsys, Sirkitree, Jason Moore, Medra, Anomalous, Earthmark, ProbablePrime, Orange, A Monsoon of Babies, and Creator Jam for making this contest possible.

[previewyoutube][/previewyoutube]

[h2]Quick Info[/h2]
[h3]Requirements[/h3]
Free entry. Anyone can participate. Individual or groups allowed.
[h3]Date[/h3]
September 1st-October 1st 2020.

[h3]Prizes[/h3]
20,000 NCR (~$2000) Total
30,000 CDFT Total
Official Badges (supported by Neos)
Digital Trophies
Neos Swag

Prizes are split by category and placement (1st, 2nd, 3rd, and honorable mention).

[h3]Categories[/h3]
  • World – Social, game, narrative, interior/exterior environments, etc...
  • Avatars – If the avatar is equippable, it counts
  • Gadget/Tools+ - Various equippable(grabbable) objects, utilities, code, effects, anything that doesn’t fit into the World or Avatars category


[h3]Rules[/h3]
Check details for a listing of rules.

[h3]Timeline[/h3]
Start Date – Begin Creating.
End Date – Submitted as a world orb with a TAG name MMC and category.
Voting/Judging Period – Explore submission. Participate in the audience vote.
Winners Announcement – Participants gather together. Winners are announced and prizes awarded on the Creator Jam Twitch Stream inside Neos.

[h3]Details[/h3]
Important Dates Start Date: September 1, 2020 14:00 EST(UTC 18:00) Tuesday
End Date: October 1, 2020 14:00 EST(UTC 18:00) Thursday

Audience Voting Begins: October 2, 2020 14:00 EST(UTC 18:00) Friday
Audience Voting Ends: October 4, 2020 14:00 EST(UTC 18:00) Sunday

Winner’s Announced: October 10, 2020 14:00 EST(UTC 18:00) Saturday

[h3]Prizes Breakdown[/h3]
Each category has a First, Second, and Third Place winners:

First Place winners will receive:
4000 NCR(~$400)
5000 CDFT
3D MMC diamond trophy
Unique custom name badge.

Second Place winners will receive:
2000 NCR(~$200)
3000 CDFT,
3D MMC golden trophy,
Unique custom name badge.

Third Place winners receive:
670 NCR(~$67)
2000 CDFT
3D MMC silver trophy
Unique custom name badge.

Honorable Mentions will receive Neos swag.

All participants will receive a custom name badge.

[h3]Rules[/h3]
  • In the spirit of the competition participants start creating on the Start Date. Thinking of ideas and formulating a team is fine beforehand.
  • Multiple entries are allowed.
  • Teams are allowed. Participants can be on multiple teams.
  • Sponsors can participate. Judges cannot participate.
  • All submissions are in the form of a submitted World Orb properly tagged.
  • All world orb submissions must be tagged with "MMC". When opening the world browser they should have an "MMC" tag to be considered for the competition. You can add this by editing the world through its world orb or by adding "MMC" to the name.
  • All world orbs should have a tag of which category they wish to participate “World”, “Avatar”, or “Gadgets/Tools+”
  • Do not make any edits submitted worlds after the end during the judging period.
  • Credits should be displayed somewhere easily seen or able to be found easily in world.
  • Any assets used must be credited properly with appropriate licensing stated. Note: Turbosquid and CGTrader licenses do not allow use in Neos.
  • No Unauthorized copyright material. Fair use is allowed but major caution is advised. Fair use is a very misunderstood subject.
  • Winners that are part of a group will receive prize evenly split unless requested differently before judging begins.


[h3]Considerations[/h3]
Factors that will be preferred but not required.
  • Original works
  • Open source
  • Building “from scratch”
  • Entry and all assets within are public domain or Creative Commons Attribution 4.0 International (CC BY 4.0) license https://creativecommons.org/licenses/by/4.0/


[h3]Voting/Judging[/h3]
Audiences vote will add up to 49% of the voting and 51% judges. Any registered Neos user can vote during the 3 day audience voting period. Each registered user gets one vote per category.

Works will be judged on creativity, skill, uniqueness, usefulness, and many other qualities.

[h3]Questions?[/h3]
If you have questions feel free to:
  • message @Medra#4918
  • post in Creator Jam discord’s #jampionship channel https://discord.gg/z8KjeAx
  • NeosVR discord’s #mmc-2020 channel https://discord.gg/QaGRvew


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

[h2]Progress on the new World UI[/h2]
We’ve made quite some progress on the core of the new world browsing UI. This involves not only the UI itself, but a lot of the supporting background and cloud services.

The cloud backend for searching and filtering has been refactored to support proper pagination with efficient caching, making the system faster and more elegant and flexible as a result. On the client side the new browsing UI will always filter existing results locally when the search or filtering criteria change, while fetching new data from the cloud in parallel.

[previewyoutube][/previewyoutube]

As a result this makes the browsing and searching experience much more responsive and works not only with published worlds, but also currently running sessions or your opened worlds.

The WorldListManager component now fully supports merged browsing of opened worlds, active sessions and published worlds with a single unified interface, with all filtering and sorting options. All the heavy lifting is done on background threads as well, reducing stutters and improving responsiveness. During the testing, we made it display all of the published Neos worlds at once as a stress test and still maintained a stable framerate.

[previewyoutube][/previewyoutube]

There’s still a lot to do to finish the whole UI, but this component serves as a backbone of the new UI and was the hardest part of the system. It’s designed to be highly flexible as well, so you can easily customize it to build your own Facets. For example it can be configured to only display currently opened worlds or active sessions of your friends for quick access on your dash or on your avatar (once you can place facets there).

[h2]LogiX debugging visuals, UI freezing bugfix and more[/h2]
As usual, we have done some other smaller, but important changes to Neos. LogiX now has a bunch of new nodes for quickly rendering various debugging visuals, like vectors, lines, spheres, triangles or text. Similarly the Raycast node can visualize any performed raycasts to make the debugging process much easier.

We have also significantly mitigated Neos’ UI freezing for seconds even minutes at the time due to poorly handled multithreading in the Twitch API library. So far this seems to have gotten rid of the problems plaguing some of our users, particularly Twitch streamers, but let us know if this is still an issue for you!

In preparation for the Metamovie presentation at the La Biennale di Venezia Film Festival we have finished some temporary additions to Neos and published a build at a special “metamovie” branch. Same build will also be available at Viveport for the festival.

If you’d like to know more about the changes done over the week, check out the #neos-updates channel on Discord or the patch notes on Steam.

[h2]What’s Next?[/h2]
With the core of the new World UI done, we’ll be now building other systems around it to finish it off. There are two major general additions that will be added to support it, one of them being a modal dialog system for UIX and the other dynamic parameter binding across facets.

These changes will allow us to build the overall UI in a modular manner, having the searching and filtering options as separate pieces of UI that will dynamically link to the properties of the WorldListManager. We’ll keep you updated in the #devlog channel on our official Discord, so check it out if you’d like to see the latest development progress.

Thanks again for reading this week’s edition of the Neos Weekly Update! We really hope many of you join in on the Metaverse Maker Competition and make this the best Neos Competition yet! Get your game faces on and your building tools ready!