1. ChilloutVR
  2. News

ChilloutVR News

ChilloutVR 2021r162


We have just released a new update for ChilloutVR on stable branch.


A small preview of the update made by Relic: https://www.youtube.com/watch?v=0mGb-9gpi_8

ChilloutVR 2021r162


General

  • Fixed an issue that lead to target rotations on teleports to not work properly in VR
  • Nudity and suggestive tags are now separated in-game and nsfw filter option was replaced by them
  • Added the following new tags
    • Extremely Bright
    • Music
    • Horror
    • Jumpscare


Interactable

  • Added new Unity Events to the "Sit At Position" action for EnterSeat and ExitSeat
  • Added a "Lock Controls" option to the "Sit At Position" action. You can only exit those seats by opening the main menu
  • Fixed the offset calculations for offsets in VR for chairs
  • Chairs now rotate on all 3 axis
  • Added more filter options to the pointer event
  • Added a generic input event, which can be used to trigger on key presses
  • Added a new action to set a sync value of a spawnable component
  • Added new actions "Play Audio" and "Stop Audio"


Assets Support

  • Added Support for Azure Skybox Fog Scattering component (https://forums.abinteractive.net/d/318-azure-skies-fog-scattering-not-appearing-in-cvr)
  • Added Support for Beautify
  • Added Support for Modern Procedural UI Kit
  • Added CarControllers to the game. They work together with the interactable "Sit At Position" action and the "Lock Controls" option


Spawnables

  • Added Unity UI elements to the list of supported components
  • Added Support for spawnable SubSyncs. You can sync sub transform in exchange for spawnable values.
    A demo for the sub object sync can be found here: https://www.youtube.com/watch?v=YZYWj3m6ZO4
  • Increase the max number of spawnable values to 40
  • Fixed a bug that lead to spawnables being stuck to some avatars when the attachment component is used (https://forums.abinteractive.net/d/294-prop-stuck-to-hand)
  • Fixed a Bug that lead to spawnable values not being updated, when they were placed below a parameter with update type none (https://forums.abinteractive.net/d/292-parameters-in-spawnables-have-a-weird-behaviour)
  • Added the generic input event on interactables to the white list


UI

  • Fixed a bug, that lead to periodic lag spikes every 25 seconds on some connections
  • Fixed a bug, that lead to the cancel button on the confirmation window to not work (https://forums.abinteractive.net/d/343-the-unfriend-prompt-removes-people-from-friendslist-anyway)
  • Fixed a bug that lead to items getting stuck to your hand when you drop them while pointing at the menu


Quick menu
Added the first version of the new quick menu

  • The quick menu will give you quick access to the most used actions and the advanced avatar settings of the current avatar
  • The quick menu will also show you the active world modifiers
  • The quick menu uses the new menu engine and allows the creation of persistent modifications. A guide on how to create menu modification will follow soon
  • You can open the quick menu using the left menu button in VR or using Tab on Desktop
  • You can reposition the menu in VR by holding the left menu button for more than 2 seconds


A user made preview for the quick menu can be found here: https://www.youtube.com/watch?v=E1YUUwzgUAc


Video Player

  • The Video Player is now using YoutubeDLP which will lead to more reliability when playing youtube videos


Worlds

  • Added Support for disabling Nameplate world modifier


Avatars

  • Added the function, that rescaling the avatar using advanced avatar settings will update the IK settings in VR
  • Added an option, that your movement speed can be affected by your avatar size. This option will only slow you down when smaller and will not be able to make you faster than the default speed
  • Avatars with smaller file size will now be priority-loaded


Infrastructure

  • Changed the way asset versions are validated
  • Content is now loaded from the new storage network
  • Minor loading speed adjustments
Creating Modules for the new menu system


In order to create modules for the new UI system, you first need to create a directory for your module in [path to your game]\ChilloutVR_Data\StreamingAssets\Cohtml\UIResources\GameUI\mods


In there you need to create a mod.js that contains the following base code. For the example the mod is called testmod:

cvr.menu.prototype.testmod = {
uiRef: {},
info: function(){
return {
name: "Test Mod",
version_major: 1,
version_minor: 0,
description: "a quick mod to test some basic features",
author: "Your name",
author_id: "Your user id",
external_links: [],
stylesheets: [],
compatibility: [],
icon: "",
feature_level: 1,
supported_modes: ["quickmenu"]
};
},
register: function(menu){
uiRef = menu;
console.log("Test Mod: register");
},
init: function(menu){
console.log("Test Mod: init");
},
}


the info function will provide the menu system with all necessary information about your module.
"external_links" can consist of social links with the following structure:

    {type: "twitter", url:""},
{type: "discord", url:""},
{type: "github", url: ""}


"stylesheets" contains a list of stylesheets that need to be positioned inside the same folder. The structure is as follows:

    {filename: "mod.css", modes: ["quickmenu"]}


"compatibility" will later designate any dependencies your module may have, so it is loaded in the proper order. The structure is as follows:

    {mod_name: "another_mod", type: "dependency_loaded_before"},
{mod_name: "second_mod", type: "dependency"},
{mod_name: "optional_mod", type: "optional"}


You can also play UI sound from your module. In order for audio files to be detected the files need to be in wav format.
You can play those audio files using the following code:

uiRef.core.playSound("testmod_Switch");


The name you need to use is the module name followed by "_" followed by the filename without ".wav"


Inside the register function, you can register for events with the menu system.
Currently the following events are supported:
"eventUpdate1sec" gets called every second
"eventUpdate10sec" gets called 10 times per second
"avatarUpdated" gets called when the avatar is switched
"advancedAvatarValueChanged" gets called when an advanced avatar setting is changed. has 2 parameters for the callback: name, value


In order to register for an event you use the following code:

    menu.core.registerEvent("advancedAvatarValueChanged", this.advancedAvatarValueChanged);


The following is an example that will play a sound when an avatar is switched and logs the changes of advanced avatar values:

cvr.menu.prototype.testmod = {
uiRef: {},
info: function(){
return {
name: "Test Mod",
version_major: 1,
version_minor: 0,
description: "Plays a sound on avatar change and logs advanced avatar value changes",
author: "Khodrin",
author_id: "00e7b5f2-07ac-c0b5-fd11-22e86f52f9de",
external_links: [
{type: "twitter", url:"@Khodrin3D"},
{type: "discord", url:"Khodrin#4654"}
],
stylesheets: [],
compatibility: [],
icon: "",
feature_level: 1,
supported_modes: ["quickmenu"]
};
},
register: function(menu){
uiRef = menu;
},
init: function(menu){
menu.core.registerEvent("avatarUpdated", this.avatarUpdate);
menu.core.registerEvent("advancedAvatarValueChanged", this.advancedAvatarValueChanged);
},
avatarUpdate: function(){
uiRef.core.playSound("testmod_AvatarSwitch");
},
advancedAvatarValueChanged: function(name, value){
console.log("Adv Avatar Value \"" + name + "\" changed to: "+value);
}
}


Currently every module in the folder will load, but the new main menu will have a dedicated mod settings page, where you will be able to enable and disable modules.


Some of these new features will be available to be set up once CCK 3.0 is released.


Please note, that this update contains features that will be compatible with the upcoming CCK 3.0 update. Those features are not currently available and will become available to everyone once the CCK 3.0 update releases on thursday this week.


We will post another announcement in the upcoming days, asking for feedback regarding the new CDN and storage network. Please make sure to give us proper feedback once that form is available so we can make sure to improve its quality further.


If you encounter any issues please be sure to report a bug. You can find information on how to do so here: https://forums.abinteractive.net/d/5-how-to-report-a-bug


If you would like to request a feature, you can check up on how to do so here: https://forums.abinteractive.net/d/7-how-to-request-a-feature

ChilloutVR 2021r161

We have just released a new update for ChilloutVR on stable branch.

**General**
- Fixed an issue that leads to the previous avatar to not getting cleaned properly when switching to a new avatar (https://forums.abinteractive.net/d/100-clone-of-avatar-during-loading-avatar)
- Fixed an issue that leads to the enable Selfcollision option to be inverted. IT now properly reflects in-game (https://forums.abinteractive.net/d/251-selfcollision-doesnt-work)

**Avatar**
- Fixed an issue that leads to Advanced Avatar settings, that were setup as boolean to not save to profiles properly and keeping state while switching menus (https://forums.abinteractive.net/d/304-advanced-avatar-toggles-not-staying-highlighted)
(https://forums.abinteractive.net/d/288-bool-type-advanced-avatar-settings-presets-not-loading)
- Fixed an issue that leads to some generic avatars that contain a collider to not load properly (https://forums.abinteractive.net/d/229-generic-avatars-dont-appear-until-changing-in-another-avatar)

**Props**
- Fixed an issue that leads to the CVRCameraHelper components TakeScreenshot function to be called globally from props. With this change, Props can only take a picture for the person holding the prop (https://forums.abinteractive.net/d/267-camera-helper-script)

**UI**
- Fixed an issue that leads to the microphone icon on the hud to flicker (https://forums.abinteractive.net/d/99-weird-microphone-indicator)
- Fixed an issue that leads to some characters in advanced avatar dropdown options to break the advanced avatar menu
- Fixed an issue that leads to the instance member list to not reset its scroll value after a new instance is selected (https://forums.abinteractive.net/d/216-scrolling-in-the-player-list-in-an-instance-will-be-scrolled-across-instances)
- Fixed an issue that leads to the HUD becoming invisible in some situations (https://forums.abinteractive.net/d/302-gui-vanishes-under-a-certain-height)

**Component Support**
- Added the ConstantForce Component to the whitelist for Avatars and Props
- Added the first draft of the Parameter Stream Component. (Currently HeadsetOnHead, LocalWorldDownloadPercentage, LocalPlayerControllerType, GrippedObjectLeft, GrippedObjectRight are not yet supported)
- The Vegetation Engine is now supported for worlds (https://assetstore.unity.com/packages/tools/utilities/the-vegetation-engine-159647) - a community created video is available at https://www.youtube.com/watch?v=-vtGttm2msM
- The Vegetation Engine | Amplify Impostors Module is now supported for worlds (https://assetstore.unity.com/packages/vfx/shaders/the-vegetation-engine-amplify-impostors-module-189099)
- The Vegetation Engine | Terrain Details Module is now supported for worlds (https://assetstore.unity.com/packages/vfx/shaders/the-vegetation-engine-terrain-details-module-178485)
- The Vegetation Engine | Terrain Elements Module is now supported for worlds (https://assetstore.unity.com/packages/vfx/shaders/the-vegetation-engine-terrain-elements-module-181731)
- Dynamic Cloud System is now supported for worlds (https://assetstore.unity.com/packages/tools/particles-effects/dynamic-cloud-system-91941)
- Azure[Sky] Dynamic Skybox is now supported for worlds (https://assetstore.unity.com/packages/tools/particles-effects/azure-sky-dynamic-skybox-36050) - a community created video is available at https://www.youtube.com/watch?v=w6qMIP8dsGQ

**Video Players**
- Fixed an issue that leads to the Public Play function not work properly when triggered through unity UI or other event sources
- Fixed an issue that leads to the Public Pause function not work properly when triggered through unity UI or other event sources
- Fixed an issue that leads to the Public SetUrl function not work properly when triggered through unity UI or other event sources
- Fixed an issue that leads to RTSP Streams not playing correctly
- Fixed an issue where RTSP streams would have high latency
- Fixed an issue where the video would not play, when entering a video
- Improved reliability and behavior of the video auto-recovery feature

If you encounter any issues please be sure to report a bug. You can find information on how to do so here: [https://forums.abinteractive.net/d/5-how-to-report-a-bug](https://forums.abinteractive.net/d/5-how-to-report-a-bug)

If you would like to request a feature, you can check up on how to do so here: [https://forums.abinteractive.net/d/7-how-to-request-a-feature](https://forums.abinteractive.net/d/7-how-to-request-a-feature)

ChilloutVR 2021r160

**Engine**

- Upgraded to Unity 2019.4.28f1

**General**

- Fixed a bug, which leads to lags regarding profile images loading on nameplates when creating a player
- Fixed several bugs regarding memory not being freed up accordingly
- Fixed a bug, that would prevent players from interacting with pickup objects close to them
- Reworked Rich Presence for both Steam and Discord
- Changed Force-show avatar will now show removable components accordingly
- Fixed a bug that leads to PathCam Points not being cleared accordingly when loading into different worlds
- Added Interaction highlights to UI elements states like hover, etc
- Added an additional safety trigger to teleport back to the world spawn when too far away from the origin
- Fixed a bug, which made in world UIs unresponsive in some worlds
- Fixed a bug, which leads to some Components not being properly cleaned from Avatars and Props
- Fixed a bug, which leads to lowered FPS while an avatar was loading while the player was already loaded locally
- Fixed a bug, where index finger tracking was not synced to other players in some cases
- Fixed a bug, where handling of portals lead to unnecessary high CPU load
- Fixed a Bug where TobiiXR was initialized even tho no Eye tracking was not enabled
- Added the behavior, that Accounts suspended on the ABI ban hive can now login to the game, but will be rejected on the servers using the ABI ban hive. This is done in preparation for reserved instances.
- Fixed a bug that would cause API answers to never display a response
- Fixed a bug that would trigger AudioMuteMicrophoneOnJoin on first homeworld join (https://forums.abinteractive.net/d/173-mute-on-join-function-not-toggling-as-intended)
- Added a button combination (ctrl+n) to toggle nameplates (https://forums.abinteractive.net/d/183-toggle-nametag-hotkey)
- Added a button combination (ctrl+h) to toggle the hud (https://forums.abinteractive.net/d/175-toggle-hud-hotkey)
- Fixed a bug that would cause the game to experience severe lag spikes when loading any kind of user-generated content (https://forums.abinteractive.net/d/191-servere-lag-spikescrashes)

**Infrastructure**

- Fixed a bug that would cause users to be disconnected after a ping packet could not be deserialized
- Fixed a bug that would cause random disconnects from time to time for users with unstable internet connections
- Preparation for seamless reconnect on connection loss
- Improved network latency for the voice chat
- Improved memory management of incoming networked data
- Fixed a bug that would cause strong delays for network sync if a specific internet provider is used
- Fixed a bug that would cause players to disconnect after two players joined at the same time
- Added Interactable sync in-game
- Added a preview version of server-side code modules to be used for reserved instances and game modes

**Audio**

- Fixed a bug where Avatar Audio was 2D even it was specified as 3D
- Fixed a bug where Spawnable Audio was 2D even it was specified as 3D
- Fixed a bug, that could lead to the audio system stopping to work. (https://forums.abinteractive.net/d/150-audio-deletion)

**Input**

- Fixed a bug, which leads to Proximity grab overriding hitboxes of UI elements
- Added a function to toggle Independent head turning by double pressing alt
- Added an option to enable/disable gamepad inputs in the game settings
- Added digital Dead zones on the right stick. This option can be enabled/disabled in the settings
- Fixed a bug where VR movement was significantly slower than desktop movement
- Fixed a bug that leads to flight mode behaving strangely after respawn while flying

**UI**

- Fixed a bug, that would cause props to be highlighted whenever the menu is opened
- Fixed a bug, that would allow making UI interaction impossible with outside objects
- Fixed a bug, that would allow the UI to be over rendered
- Improved behavior on custom slider setups in In-World UIs
- Added support for ScrollRect in In-World UIs
- Added a network health indicator to the HUD
- Changed the login screen to display the current community trailer on its background
- Added a function to scroll through UI lists in VR by using the right controller's stick
- Fixed a bug, which leads to the Resolution Selection not be filled properly
- Fixed a bug, which leads to the VSync option not being applied properly on game start
- Added a function, that pressing F5 reloads the main menu and HUD code
- Fixed a spelling mistake in the invites page of the UI (https://forums.abinteractive.net/d/40-writing-mistake-on-invites)
- Fixed a bug, where the HUD toggle in the UI was not working with the new hud (https://forums.abinteractive.net/d/162-show-hud-toggle-not-working)

**Settings**

- Added All post-processing effects to the graphics settings
- Changed Ambient Occlusion to be forced off in VR
- Added an option for Game and Camera MSAA in the graphics settings
- Added a function to reload a specific users avatar using the user Settings
- Added the Support Category. In here you are able to request a Support code and automatically send your logs to us
- Added a function to block Props for individual users

**Movement**

- Fixed a bug where Step Assist would react to Triggers
- Added the first version of holoport movement. The Holoport system will get more refined in the future
- Fixed a Bug, which leads to very slow drifting of the avatar when standing still

**Portals**

- Added Support for Portals to now load a 4K panosphere instead of a 1K panosphere - this can be changed in the settings

**Components**

- Added FABRIK Components to the Avatar Component Whitelist
- Added Lights to the Avatar Component Whitelist
- Added CharacterJoints to the Avatar Component Whitelist
- Added the CVRBlitter component as a new in-game component
- Added Basic Support for Magica Cloth
- Added Custom Trigger action to the CVRInteractable
- Added custom methods calls to CVRInteractable Operations
- Fixed a bug that leads to VariableBuffers not working properly
- Added the DistanceLod component as a new in-game component
- Added the MaterialDriver component as a new in-game component
- Added the NavController component as a new in-game component
- Added the AdvanceAvatarSettingsTriggerHelper component as new in-game component
- Added the CVRFaceTracking component as a new in-game component
- Added the CVRAnimatorDriver component as a new in-game component. You will be able to upload it with the next cck update

**Interactable**

- Fixed a bug, which leads to delays not being cleared on world change and deletion of the object
- Added a precheck to Teleport actions to prevent teleportation to the far reaches of unitys floating point error zone
- Changed, Removed the Spawn Object action from Props, as it leads to unchecked sub Props and possible self-reference problems
- Removed unintended networking capabilities for SitOnPosition
- Removed unintended networking capabilities for AvatarDetails, InstanceDetails, WorldDetails

**Advanced Avatars**

- Added a type field to CVRPointers
- Added a configurable types list to Advanced Avatar Trigger. So only the specified Types can trigger
- Added a hold time for on Enter actions in Advanced Avatar Trigger. This means that the pointer needs to be held in the trigger for the specified amount of time
- Added a toggle Update method to Advanced Avatar Trigger, which will switch between 0 and the specified value
- Added stay tasks to Advanced Avatar Trigger, which update while the pointer remains inside the trigger
-- Advanced Avatar Trigger stay tasks can increment and decrement a parameter with the specified Value per second
-- Advanced Avatar Trigger stay tasks can also set the value from the position along a trigger axis. This can be used to build touch sliders.
- Fixed a Bug, which leads to the AdvancedAvatarSettingsTrigger Exit events not work properly
- Added Advanced Tagging to Avatars. You will be able to set up your Avatar once CCK 3.0 releases
- Added Projectors and CVRBlitter to the Avatar Whitelist. They are handled like cameras in terms of content filter

**Worlds**

- Removed CTS since the asset is no longer supported. Please update your worlds accordingly if you used this asset in the past
- Fixed a bug, which leads to variable buffers not working properly
- Fixed a bug, where interactables that used random values don't transfer the values to the animator properly

**Video Players**

- Added CVR_VideoPlayers to the in-game supported components
- For more information see our documents

**Spawnables / Props**

- Changed, buffer size for spawnables, allowing 20 instead of 9 syncable floats
- Changed, object sync improvements regarding sync with avatar movements
- Added Projectors and CVRBlitter to the Props Whitelist. They are handled like cameras in terms of content filter.
- Added Spawnable Triggers to the in-game supported components. You will be able to set up your props once CCK 3.0 releases
- Added CVRAttachment to the in-game supported components
- Changed, Particle force is now limited to the same value that was already introduced for avatars

Developer Update #6

We have just released Developer Update #6 with lots of information about changes to our schedule, new features, changes to our terms of service and more.

Many things you have asked for.

You can give it a read at the link below!

https://forums.abinteractive.net/d/107-developer-update-6

Status report WN16 2021

Hi there, it is time for another status report to get you all to know what we have been working on and what's coming next.

**Status report WN16 2021**

In this status report, we want to talk about upcoming changes to experimental and the next game update.
We also want to highlight a few new features that we plan on adding after the next update.


**Video Players**
The video players are mostly ready, and come with their own UI (can be disabled).
The following features are available:
- Streaming from multiple sites (videos and livestreams)
- URL whitelist / blacklist
- Playlists
- Video Live view
- Video scrubbing, skipping to a specific time
- Per-VideoPlayer-Volume
- In-Game YouTube search
- Sync and Late-Join sync

All of the above mentioned features will be fully available with the next experimental as well as the next CCK update.
As the VideoPlayer component was changed, please wait for the CCK 3.0 update before preparing your worlds with video players.


**In-World Interactions**
The next experimental will bring the first iteration of the interactable networking, allowing better creation of minigames and world features from then on.

**Groups & The Event System**
The Groups & Events system is currently being worked on, an early version is likely available with one of the next experimental updates.
You will be able to create groups, group-internal ranks, setup permissions for those ranks, comment on a groups board, see group members feeds, use and share avatars, props and worlds with or from a group,
schedule events for everyone, group-only or invite-only.

For the events system, the game server automatically enforces the guests lists for the closed lobby types.
Group moderators can be made instance moderators for events created with the group lobby type.
Per-Event moderators can be defined.

**New User Interface**
The new Quick-Menu will be available with the next experimental update. The new main menu will follow with one of the experimental versions after.
We have put work into the technical side of the menu and will offer an easier way for customization as well as a workshop for UI themes and plugins.

**Responsiveness and UX**
We have implemented various improvements to help with UI responsiveness and further improvements will be added during the route to r160.
The long loading times for specific pages or details as well as the missing haptic and audible feedback will be a thing of the past with r160.

**Third-Party apps**
Infra 2.0 will bring the public api (ABI Gateway). To use our API in your services our applications, you will have to implement our authentication system.
Documentation and limits will be provided and custom lowering of limits can be requested on a per-app basis. To request early access, please mail us at [email protected] and tell us about the app you want to create.

**Performance optimizations and resource management**
ChilloutVR 2021r160 contains drastic improvements to how the memory is managed as well as multiple improvements in code to ensure increased performance and responsiveness.
Our goal was to optimize the game for lower end systems, especially systems with low amount of RAM. You will be able to test these changes with the next experimental update.

**Magica Cloth Support**
With one of the next experimental updates, we will be adding support for magica cloth, a better alternative to dynamic bone.
Naturally, we will also add support for magica cloth interactions, allowing you to still interact with other peoples bones.
Dynamic bone will not be removed, we plan on optimizing dynamic bone further to reduct its impact on the performance slightly.
If you do not want to switch, you can ignore this change.


If you want to participate in the testing, you are welcome to opt into #experimental-opt-in to be notified about new updates to test early.
We are more than thankful for all of your support, cheers!