Community:VRCX: Difference between revisions

From VRChat Wiki
m (various interlinks)
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 14: Line 14:
   </group>
   </group>
</infobox>
</infobox>
'''VRCX''' is a VRChat-focused third-party application for Windows, which provides a graphical user interface (GUI) for interacting with VRChat via [[VRChat API|VRChat's APIs]].
'''VRCX''' is a VRChat-focused third-party application for Windows, which provides a [[wikipedia:Graphical_user_interface|graphical user interface (GUI)]] for interacting with VRChat via the [[VRChat API]].


== Potential risks with VRCX ==
==Potential risks with VRCX==
While VRCX is deemed safe, and using it is not a violation of the [[Terms of Service]], there are a few risks involved with installing and using VRCX.
Although VRCX is [[wikipedia:Open source|open source]]<ref>[https://github.com/vrcx-team/VRCX/commits/master/ VRCX's Source Code]</ref>, and using it does not violate the [[Terms of Service]], it does disregard the [[Creator Guidelines]], which state, "Do not request log-in information from users in any situation." Despite this, VRChat has not indicated any intention to enforce this guideline against VRCX. However, there are still some risks associated with installing and using VRCX.


* VRCX requires logging in, using your [[VRChat Account|VRChat account]], password, and [[Two-Factor Authentication (2FA)]]. VRChat, Inc. advises against giving your credentials to anybody, including using it to log into third-party applications that does not use VRChat's SSO authentication.
*VRCX requires logging in, using your [[VRChat Account|VRChat account]], password, and [[Two-Factor Authentication (2FA)]]. VRChat, Inc. advises against giving your credentials to anybody, including using it to log into third-party applications that does not use VRChat's SSO authentication.  


* Flooding or spamming [[VRChat API|the API]] may risk disconnecting you from VRChat services, and very rarely, risking an account ban.
*Flooding or spamming [[VRChat API|the API]] may risk disconnecting you from VRChat services, and very rarely, risking an account ban.
* Using outdated versions of VRCX may make you vulnerable to [[wikipedia:Arbitrary_code_execution|Remote Code Execution (RCE)]] exploits<ref>[https://github.com/vrcx-team/VRCX/security/advisories/GHSA-j98g-mgjm-wqph VR Overlay RCE] on GitHub; retrieved September 23, 2024</ref>
*Using outdated versions of VRCX may make you vulnerable to [[wikipedia:Arbitrary_code_execution|Remote Code Execution (RCE)]] exploits<ref>[https://github.com/vrcx-team/VRCX/security/advisories/GHSA-j98g-mgjm-wqph VR Overlay RCE] on GitHub; retrieved September 23, 2024</ref>


==Features==
==Features==


* '''Friend, World, and Avatar Management:'''
*'''Friend, World, and Avatar Management:'''
** Manage your friends list, and organize your world, group, and avatar lists outside of VRChat.
** Manage your friends list, and organize your world, group, and avatar lists outside of VRChat.
** Track your friends' online status, world activities, and avatar changes.
**Track your friends' online status, world activities, and avatar changes.
** Log when you added friends, when you last saw them, and how much time you've spent together in worlds.
**Log when you added friends, when you last saw them, and how much time you've spent together in worlds.
** Monitor name changes and store personal notes to remember how you met.
**Monitor name changes and store personal notes to remember how you met.


* '''Auto-Launch Apps with VRChat:'''
* '''Auto-Launch Apps with VRChat:'''
** Set up VRCX to automatically open other apps, like an OSC tool or voice changer, when VRChat launches.
**Set up VRCX to automatically open other apps, like an OSC tool or voice changer, when VRChat launches.


* '''World Persistence:'''
*'''World Persistence:'''
** '''Important''': VRCX’s world persistence feature has nothing to do with VRChat's official development of world persistence.
**'''Important''': VRCX’s world persistence feature has nothing to do with VRChat's official development of world persistence.
** '''Note''': To use this feature, you must enable "Allow [[Untrusted URLs]]" in your VRChat settings.
**'''Note''': To use this feature, you must enable "Allow [[Untrusted URLs]]" in your VRChat settings.
** For worlds that support it, VRCX can store settings, saved states, inventories, and other persistent data.
**For worlds that support it, VRCX can store settings, saved states, inventories, and other persistent data.
** For developers, visit [https://github.com/vrcx-team/VRCX/wiki/World-Persistence-(PWI) World Persistence (PWI)] by VRCX.
**For developers, visit [https://github.com/vrcx-team/VRCX/wiki/World-Persistence-(PWI) World Persistence (PWI)] by VRCX.


* '''Avatar, User, World, and Group Search:'''
*'''Avatar, User, World, and Group Search:'''
** Easily search for avatars, users, worlds, and groups within the app.
**Easily search for avatars, users, worlds, and groups within the app.


* '''Unrestricted World Favorites List:'''
*'''Unrestricted World Favorites List:'''
** Create and manage a custom local list of your favorite worlds.
**Create and manage a custom local list of your favorite worlds.


* '''World Data Storage in Photos:'''
* '''World Data Storage in Photos:'''
** Keep track of the worlds where your in-game photos were taken, even months later.
**Keep track of the worlds where your in-game photos were taken, even months later.


* '''Notification Monitoring and Responses:'''
*'''Notification Monitoring and Responses:'''
** Send and receive invites and friend requests directly from VRCX.
**Send and receive invites and friend requests directly from VRCX.
** View instance details of invitations received.
**View instance details of invitations received.


* '''Instance Stats and Player Information:'''
*'''Instance Stats and Player Information:'''
** See statistics and player details for your current VRChat instance.
**See statistics and player details for your current VRChat instance.


* '''Video Links in Worlds:'''
*'''Video Links in Worlds:'''
** View video links and related data for videos playing in the world you’re currently in.
**View video links and related data for videos playing in the world you’re currently in.


* '''Enhanced Discord Rich Presence:'''
*'''Enhanced Discord Rich Presence:'''
** Optionally display detailed information about your current instance in Discord, including world thumbnails, names, instance IDs, and player counts.
**Optionally display detailed information about your current instance in Discord, including world thumbnails, names, instance IDs, and player counts.
** Integrate with popular worlds like [[Community:PyPyDance|PyPyDance]], [[Community:LSMedia|LSMedia]], [[Community:Popcorn Palace|Popcorn Palace]], and [[Community:VRDancing|VRDancing]].
**Integrate with popular worlds like [[Community:PyPyDance|PyPyDance]], [[Community:LSMedia|LSMedia]], [[Community:Popcorn Palace|Popcorn Palace]], and [[Community:VRDancing|VRDancing]].
** Add a join button for public lobbies, depending on privacy settings.
**Add a join button for public lobbies, depending on privacy settings.


* '''VR Overlay:'''
*'''VR Overlay:'''
** Access a configurable overlay with live notifications and supported event feeds.
**Access a configurable overlay with live notifications and supported event feeds.


* '''Avatar and World Image Uploads without Unity:'''
*'''Avatar and World Image Uploads without Unity:'''  
** Upload images for avatars and worlds without needing Unity.
**Upload images for avatars and worlds without needing Unity.


* '''Manage and Edit Avatar/World Details:'''
*'''Manage and Edit Avatar/World Details:'''
** Edit and update uploaded avatar or world information directly through VRCX, no Unity required.
**Edit and update uploaded avatar or world information directly through VRCX, no Unity required.


* '''Automatic Crash Recovery:'''
*'''Automatic Crash Recovery:'''
** Automatically restart VRChat and rejoin the last instance if the application crashes.
**Automatically restart VRChat and rejoin the last instance if the application crashes.


* '''Group Favorites Export/Import:'''
*'''Group Favorites Export/Import:'''
** Export or import your favorite groups
**Export or import your favorite groups


==Keyboard shorcuts==
==Keyboard shorcuts==


*Ctrl + Shift + I open Chromium DevTools.
*Ctrl + Shift + I open Chromium DevTools.
*Ctrl + R restart VRCX.
* Ctrl + R restart VRCX.
*Shift + Alt + R reload custom css.
*Shift + Alt + R reload custom css.


Line 99: Line 99:
{| class="wikitable"
{| class="wikitable"
|-
|-
| --debug || Launch Chromium DevTools with VRCX.
| --debug
|Launch Chromium DevTools with VRCX.
|-
|-
| --config="C:\VRCX" || Set a custom path for VRCX's config folder. Default: %appdata%\VRCX
| --config="C:\VRCX" ||Set a custom path for VRCX's config folder. Default: %appdata%\VRCX
|-
|-
| --proxy-server="127.0.0.1:8080" || Set a HTTP/SOCKS proxy server for VRCX to use.
| --proxy-server="127.0.0.1:8080"|| Set a HTTP/SOCKS proxy server for VRCX to use.
|}
|}


Line 109: Line 110:
{| class="wikitable"
{| class="wikitable"
|-
|-
| vrcx://user/usr_id || Open VRCX user dialog.
|vrcx://user/usr_id||Open VRCX user dialog.
|-
|-
| vrcx://avatar/avtr_id || Open VRCX avatar dialog.
|vrcx://avatar/avtr_id||Open VRCX avatar dialog.
|-
|-
| vrcx://group/grp_id || Open VRCX group dialog.
| vrcx://group/grp_id||Open VRCX group dialog.
|-
|-
| vrcx://world/wrld_id || Open VRCX world dialog.
|vrcx://world/wrld_id||Open VRCX world dialog.
|-
|-
| vrcx://world/wrld_id:12345 || Open VRCX world dialog with instance.
|vrcx://world/wrld_id:12345||Open VRCX world dialog with instance.
|-
|-
| vrcx://world/https://vrch.at/0gmbxjpj || Open VRCX world dialog with unlocked instance.
|vrcx://world/https://vrch.at/0gmbxjpj<nowiki/>||Open VRCX world dialog with unlocked instance.
|-
|-
| vrcx://import/avatar/avtr_id,avtr_id... || Open VRCX avatar favorites import dialog.
|vrcx://import/avatar/avtr_id,avtr_id...||Open VRCX avatar favorites import dialog.
|-
|-
| vrcx://import/world/wrld_id,wrld_id... || Open VRCX world favorites import dialog.
| vrcx://import/world/wrld_id,wrld_id...||Open VRCX world favorites import dialog.
|-
|-
| vrcx://import/friend/usr_id,usr_id... || Open VRCX friend favorites import dialog.
|vrcx://import/friend/usr_id,usr_id...||Open VRCX friend favorites import dialog.
|-
|-
| vrcx://addavatardb/https://website/vrcx_search.php || Open VRCX remote avatar database provider dialog.
|vrcx://addavatardb/https://website/vrcx_search.php<nowiki/>||Open VRCX remote avatar database provider dialog.
|}
|}


===VRCX.json===
===VRCX.json===


*VRCX_DatabaseLocation set a custom path for SQLite database, e.g. C:\\VRCX.sqlite3
* VRCX_DatabaseLocation set a custom path for SQLite database, e.g. C:\\VRCX.sqlite3
**NOTE when moving your VRCX.sqlite3 database be sure to move VRCX.sqlite3-shm and VRCX.sqlite3-wal as well, if they exist.
**NOTE when moving your VRCX.sqlite3 database be sure to move VRCX.sqlite3-shm and VRCX.sqlite3-wal as well, if they exist.
**NOTE be sure to replace every backslash in the path with 2 backslashes to insure the JSON is valid.
** NOTE be sure to replace every backslash in the path with 2 backslashes to insure the JSON is valid.
*VRCX_ProxyServer set a HTTP/SOCKS proxy server for VRCX to use, e.g. 127.0.0.1:8080
* VRCX_ProxyServer set a HTTP/SOCKS proxy server for VRCX to use, e.g. 127.0.0.1:8080


==Gallery==
==Gallery==

Latest revision as of 03:45, 25 September 2024

IconOnly CL Portal.png
V · ECommunity-written content
The following was created by the community. It may contain material not directly endorsed by the VRChat team. To learn more, consider reading Contributing to the VRChat Wiki.

VRCX is a VRChat-focused third-party application for Windows, which provides a graphical user interface (GUI) for interacting with VRChat via the VRChat API.

Potential risks with VRCX

Although VRCX is open source[1], and using it does not violate the Terms of Service, it does disregard the Creator Guidelines, which state, "Do not request log-in information from users in any situation." Despite this, VRChat has not indicated any intention to enforce this guideline against VRCX. However, there are still some risks associated with installing and using VRCX.

  • VRCX requires logging in, using your VRChat account, password, and Two-Factor Authentication (2FA). VRChat, Inc. advises against giving your credentials to anybody, including using it to log into third-party applications that does not use VRChat's SSO authentication.
  • Flooding or spamming the API may risk disconnecting you from VRChat services, and very rarely, risking an account ban.
  • Using outdated versions of VRCX may make you vulnerable to Remote Code Execution (RCE) exploits[2]

Features

  • Friend, World, and Avatar Management:
    • Manage your friends list, and organize your world, group, and avatar lists outside of VRChat.
    • Track your friends' online status, world activities, and avatar changes.
    • Log when you added friends, when you last saw them, and how much time you've spent together in worlds.
    • Monitor name changes and store personal notes to remember how you met.
  • Auto-Launch Apps with VRChat:
    • Set up VRCX to automatically open other apps, like an OSC tool or voice changer, when VRChat launches.
  • World Persistence:
    • Important: VRCX’s world persistence feature has nothing to do with VRChat's official development of world persistence.
    • Note: To use this feature, you must enable "Allow Untrusted URLs" in your VRChat settings.
    • For worlds that support it, VRCX can store settings, saved states, inventories, and other persistent data.
    • For developers, visit World Persistence (PWI) by VRCX.
  • Avatar, User, World, and Group Search:
    • Easily search for avatars, users, worlds, and groups within the app.
  • Unrestricted World Favorites List:
    • Create and manage a custom local list of your favorite worlds.
  • World Data Storage in Photos:
    • Keep track of the worlds where your in-game photos were taken, even months later.
  • Notification Monitoring and Responses:
    • Send and receive invites and friend requests directly from VRCX.
    • View instance details of invitations received.
  • Instance Stats and Player Information:
    • See statistics and player details for your current VRChat instance.
  • Video Links in Worlds:
    • View video links and related data for videos playing in the world you’re currently in.
  • Enhanced Discord Rich Presence:
    • Optionally display detailed information about your current instance in Discord, including world thumbnails, names, instance IDs, and player counts.
    • Integrate with popular worlds like PyPyDance, LSMedia, Popcorn Palace, and VRDancing.
    • Add a join button for public lobbies, depending on privacy settings.
  • VR Overlay:
    • Access a configurable overlay with live notifications and supported event feeds.
  • Avatar and World Image Uploads without Unity:
    • Upload images for avatars and worlds without needing Unity.
  • Manage and Edit Avatar/World Details:
    • Edit and update uploaded avatar or world information directly through VRCX, no Unity required.
  • Automatic Crash Recovery:
    • Automatically restart VRChat and rejoin the last instance if the application crashes.
  • Group Favorites Export/Import:
    • Export or import your favorite groups

Keyboard shorcuts

  • Ctrl + Shift + I open Chromium DevTools.
  • Ctrl + R restart VRCX.
  • Shift + Alt + R reload custom css.

Getting started

Download and install the latest installer (VRCX_Setup.exe) from here

Beta/nightly build available here or in-app Settings -> General -> Change build.

Linux User should have a look here

Android User, there are similar solution available such as VRCAA.

Configuration and launch parameters

Launch parameters

--debug Launch Chromium DevTools with VRCX.
--config="C:\VRCX" Set a custom path for VRCX's config folder. Default: %appdata%\VRCX
--proxy-server="127.0.0.1:8080" Set a HTTP/SOCKS proxy server for VRCX to use.

Protocol/Launch commands

vrcx://user/usr_id Open VRCX user dialog.
vrcx://avatar/avtr_id Open VRCX avatar dialog.
vrcx://group/grp_id Open VRCX group dialog.
vrcx://world/wrld_id Open VRCX world dialog.
vrcx://world/wrld_id:12345 Open VRCX world dialog with instance.
vrcx://world/https://vrch.at/0gmbxjpj Open VRCX world dialog with unlocked instance.
vrcx://import/avatar/avtr_id,avtr_id... Open VRCX avatar favorites import dialog.
vrcx://import/world/wrld_id,wrld_id... Open VRCX world favorites import dialog.
vrcx://import/friend/usr_id,usr_id... Open VRCX friend favorites import dialog.
vrcx://addavatardb/https://website/vrcx_search.php Open VRCX remote avatar database provider dialog.

VRCX.json

  • VRCX_DatabaseLocation set a custom path for SQLite database, e.g. C:\\VRCX.sqlite3
    • NOTE when moving your VRCX.sqlite3 database be sure to move VRCX.sqlite3-shm and VRCX.sqlite3-wal as well, if they exist.
    • NOTE be sure to replace every backslash in the path with 2 backslashes to insure the JSON is valid.
  • VRCX_ProxyServer set a HTTP/SOCKS proxy server for VRCX to use, e.g. 127.0.0.1:8080

Gallery

References

  1. VRCX's Source Code
  2. VR Overlay RCE on GitHub; retrieved September 23, 2024