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 (limited, mostly for debugging purposes)
- -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 <URL or IP:Port> - Join a session at given URL
- -Open <URL> - Open world at given URL on start
- -Scratchspace <port> - 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 <bootstrap class> - Run a custom bootstrap function in a class of given name
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 <file path> - Neos will periodically write current time into given file. This can be used to restart the process when it freezes
- -LoadAssembly <path> - 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 <resolution> - Force the 360 equirectangular rendering to use this resolution for the cubemap
- -ForceLANOnly - All worlds will be forced to announce only on the LAN network by default and won't be accessible from the internet
- -DontAutoOpenCloudHome - Wont' automatically load your cloud home on start (can still load manually)
- -UseLocalCloud - Uses local cloud API servers - used mostly for debugging
- -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 <file path> - Runs Neos with its Data Path configured to be the file path specified.
- -CachePath <file path> - 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 <filename> - Specifies a custom config file.
- -BackgroundWorkers <number> - overrides the number of background worker processes. WARNING: Don't use this unless you really need to, things could break!
- -PriorityWorkers <number> - 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=<URL> - 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.
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 <path> 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.