Command Line Arguments
Desktop builds of NeosVR support several command line arguments. For most of these arguments you can use the Neos Launcher to configure them in a more visual way and save them across launches.
These command line arguments, can be useful in setting up Standalone Experiences.
Forcing specific hardware
- none - autodetect
- -SteamVR - SteamVR
- -RiftTouch - Oculus Rift + Touch controllers
- -Screen - Screen mode
- -Screen360 - Screen mode (with 360 projection)
- -StaticCamera - non-interactive Camera Mode
- -StaticCamera360 - non-interactive Camera Mode using 360 equirectangular rendering
- -MixedRealityCamera - non-interactive Camera Mode using Mixed Reality rendering
- -LegacySteamVRInput - Force Legacy Steam VR Input Handling. Used as a work-around for some Steam VR devices that have a missing or bad hand skeletal model, such as Virtual Desktop used with the Oculus Quest.
- -ForceSRAnipal - Force the SR Anipal SDK to initialize for HTC eye and lip tracking, even if Vive Pro Eye is not present.
- -LegacyScreen - Force Neos to run in the old Desktop "debugging" mode.
Joining sessions / Opening worlds
- -Join Auto - Automatically join and follow active sessions on LAN (will switch to world with most present users)
- -Join Insert_URL_or_IP:Port_here - Join a session at given URL
- -Open Insert_URL_here - Open world at given URL on start
- -Scratchspace Insert_port_here - Starts a new scratchspace world on a given port (legacy, will be likely removed)
- -AnnounceHomeOnLAN - Home and Utility experiences will be accessible from LAN by default
- -Bootstrap Insert_bootstrap_class_here - Run a custom bootstrap function in a class of given name
- -ForceLANOnly - All worlds will be forced to announce only on the LAN network by default and won't be accessible from the internet
- -ForceRelay - Skips the NAT Punchthrough process when connecting to a session, effectively forcing the use of the Relay Server
- -UseLocalCloud - Uses local cloud API servers - used mostly for debugging
Drone Camera presets
These initialize the static camera with a drone script, using a specific movement preset.
Common Avatar Builder
- -ForceNoVoice - CommonAvatarBuilder won't setup any avatars with voice (useful for local presentations)
- -Watchdog Insert_filepath_here - Neos will periodically write current time into given file. This can be used to restart the process when it freezes
- -LoadAssembly Insert_path_here - Loads extra CLR assembly into the Neos process
- -Kiosk - Will run Neos in Kiosk mode (hides the Userspace items such as logo and world switcher and disables teleporting for guests by default)
- -NoUI - Hides the Userspace UI
- -CubemapResolution Insert_resolution_here - Force the 360 equirectangular rendering to use this resolution for the cubemap
- -DontAutoOpenCloudHome - Wont' automatically load your cloud home on start (can still load manually)
- -DeleteUnsyncedCloudRecords - Deletes any unsynced copies of cloud records from the database. WARNING: Don't use this unless you really need to, you will lose the unsynced data.
- -ForceSyncConflictingCloudRecords - Forces any conflicting cloud records to be synced anyway and overwrite current cloud versions. WARNING: Don't use this unless you really need to, the cloud data could be overwritten with an older version!
- -UseNeosCamera - Will spawn Static Camera as the Neos Camera with zoom controls, preview and other functions
- -DataPath Insert_filepath_here - Runs Neos with its Data Path configured to be the file path specified.
- -CachePath Insert_filepath_here - Runs Neos with its Cache Path configured to be the file path specified.
- -ResetDash - Resets the layout of the dash to the default configuration.
- -SkipIntroTutorial - Prevents the intro tutorial from starting
- -Invisible - Force your online status to be invisible on login.
- -Config Insert_filepath_here - Specifies a custom config file.
- -BackgroundWorkers Insert_number_here - overrides the number of background worker processes. WARNING: Don't use this unless you really need to, things could break!
- -PriorityWorkers Insert_number_here - overrides the number of priority worker processes. WARNING: Don't use this unless you really need to, things could break!
Neos Custom Protocol Handler
Neos registers a custom protocol handler with your computer on installation. You can use this to create links which will open Neos to a set location or world when they are clicked. These arguments are given to the Neos launcher, which will make sure Neos is launched and running and forward them to the running instance.
- neos:?world=Insert_URL_here - Open a world or session at given URL
- For example neos:?world=neosrec:///U-ProbablePrime/R-9ce872e1-ffb8-4194-bb91-3d3ab5f157a1 - Will Open "The Directory" by ProbablePrime
- And for Sessions neos:?world=neos-session://eea1442e-0ff2-4d6a-ad16-2dac9ea786fc will join session eea1442e-0ff2-4d6a-ad16-2dac9ea786fc
The URL of a world can be accessed by opening the inspector for a world orb and navigating to the WorldOrb component or by using the Session menu's "Copy Record URL" button:
The URL field can be selected by double clicking into the field. The URL text can be copied to the Windows clipboard via Ctrl+C.
When linking to a world on a platform that restricts the clickability protocol handlers, you can use the redirect junction located at https://cloudx.azurewebsites.net/open/ instead. They will redirect to use the above neos: protocol handler.
- https://cloudx.azurewebsites.net/open/world/Insert_ID_here - Open a world at given URL
- For example https://cloudx.azurewebsites.net/open/world/U-ProbablePrime/R-9ce872e1-ffb8-4194-bb91-3d3ab5f157a1 - Will Open "The Directory" by ProbablePrime
- https://cloudx.azurewebsites.net/open/session/Insert_ID_here - Open a session at given URL
- For example https://cloudx.azurewebsites.net/open/session/S-eea1442e-0ff2-4d6a-ad16-2dac9ea786fc will join session S-eea1442e-0ff2-4d6a-ad16-2dac9ea786fc
Unity Standalone Player command line arguments
The Unity Standalone Player command line arguments can be useful for setting a specific resolution, or the windowed mode.
- -screen-fullscreen 0 - Launch Neos in a window.
- -screen-fullscreen 1 - Launch Neos in full-screen.
- -screen-width - Sets the horizontal resolution.
- -screen-height - Sets the vertical resolution.
Example: If you use
-screen-fullscreen 0 -screen-width 1280 -screen-height 720 Neos will launch in a 1280x720 window.
How to use command line arguments
Below are three methods for launching Neos using non-default command line arguments. Each example explains how to combine the -Invisible and -CachePath Insert_path_here commands. Here the examples show how to specify a non-default cache location at
D:\Temporary files\NeosCache\. Choosing the best method to use depends on how you normally launch Neos. For most users, the setup described in #Launching from Steam is likely the best choice.
Launching from Steam
In the steam client, go to the Library tab (top of the interface) and find the entry for 'Neos VR' in the list on the left side. Right-click on the 'Neos VR' entry to open the context menu and left-click on the 'Properties' option. In the smaller dialog window which opens (see image), go to the 'General' tab on the left side. In the 'LAUNCH OPTIONS' text box enter
-Invisible -CachePath "D:\Temporary files\NeosCache\".
Now, if Neos is launched via Steam, the custom launch commands will take effect. Note that commands entered via this method will not take effect if Neos is launched any other way, such as via the Neos Launcher (even if accessed via first launching from Steam) or by directly launching the Neos.exe / via a Shortcut which targets it.
Launching via the Neos Launcher
The Neos launcher can be accessed either via Steam (press the 'Play' button on the Neos page and choose 'Launch Neos Launcher (offers advanced launch options)') or by double clicking on the NeosLauncher.exe in the NeosVR install folder. This opens the Neos Launcher window as shown below. In order to use launch argments the 'Use custom bootstrap class' option must be checked and the
-Invisible -CachePath "D:\Temporary files\NeosCache\" text entered into the text box.
Launch arguments entered this way will only take effect if the Neos Launcher is used to start Neos.
Launching via a custom Shortcut
It is possible to use launch commands via a custom shortcut targeting the Neos.exe file. To create a shortcut, find the Neos install folder and right-click on the Neos.exe. In the context menu click 'Create Shortcut' and move the 'Neos.exe - Shortcut' file to somewhere more convenient (such as the Desktop). Right-click on the shortcut file and click 'Properties' in the context menu. This opens a dialog window. Select the 'Shortcut' tab and in the 'Target' text box add a space after the Neos.exe filepath and then add
-Invisible -CachePath "D:\Temporary files\NeosCache\". Click 'Apply' and 'OK'.
Now, if Neos is launched by double clicking on the shortcut it will launch using the custom options. Note that these will not be applied if a different method is used to start Neos.