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 (also called Desktop 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.
- -EnableOWO Insert_ip_address_here - Enables the OWO Game haptic vest integration. requires you pass in the vest's ip address
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 URi (neos-session | lnl)
- -Open Insert_URL_here - Open world at given URL on start (neosrec)
- -Scratchspace Insert_port_here - Starts a new scratchspace world on a given port (legacy, will be likely removed)
- -AnnounceHomeOnLAN - Home and Userspace 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
- -UseStagingCloud - Uses Staging API servers - used mostly for debugging
Drone Camera presets
These initialize the static camera with a drone script, using a specific movement preset.
And also these args usable for Drone Camera.
- -UseNeosCamera - Will spawn Static Camera as the Neos Camera with zoom controls, preview and other functions
Common Avatar Builder
- -ForceNoVoice - CommonAvatarBuilder won't setup any avatars with voice (useful for local presentations)
Neos has multiple Data Folders, these have various command line arguments to control:
- You can use command line arguments to move your data folders to other locations.
- If you're having synchronization issues then see Sync Errors which has various guides on how to use command line arguments to resolve sync issues.
- If you're having database issues then Database repair is a guide on how to use a Command Line Argument to resolve the issue.
- -ctaa - Enables ctaa (Cinematic Temporal Anti-Aliasing)
- -ctaaTemporalEdgePower Insert_Number_here - Sets ctaa's TemporalEdgePower
- -ctaaSharpnessEnabled Insert_True_or_False_here - Sets whether ctaa's Sharpness is Enabled
- -ctaaAptiveSharpness Insert_Number_here - Sets ctaa's ctaaAptiveSharpness amount
- -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)
- -ResetDash - Resets the layout of the dash to the default configuration.
- -SkipIntroTutorial - Prevents the intro tutorial from starting
- -Forceintrotutorial - Forces the intro tutorial to run
- -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!
- -ForceReticleAboveHorizon - Disallows looking below the Horizon for desktop when in first person by default.
Neos Custom Protocol Handler (Steam only)
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\. DO NOT COPY THIS EXAMPLE IF YOU DO NOT NEED TO DO THIS! 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
- Open Steam
- Right click on Neos VR in your library
- Select "Properties" and then "Set Launch Options".
- Enter the command you need to use, exactly as it appears above and Run Neos.
Now, if Neos is launched via Steam, the custom command line arguments will take effect.
Commands entered via this method will not take effect if Neos is launched any other way, such as via the Neos Launcher or by directly launching the Neos.exe.
For the Standalone build
You have two options:
Using the Neos Launcher
- Find the Neos Launcher for the standalone. You can do this by double clicking on the NeosLauncher.exe in the NeosVR install folder
- Check the "Use custom bootstrap class" option
- Enter your command line arguments in the box below this checkbox.
Launch arguments entered this way will only take effect if the Neos Launcher is used to start Neos.
Use a 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'
- 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.
- In the 'Target' text box add a space after the Neos.exe filepath and then add your command line arguments.
- Click 'Apply' and 'OK'.
Now, if Neos is launched by double clicking on the shortcut it will launch using the custom options. These will not be applied if a different method is used to start Neos.
There is also a tutorial by ProbablePrime.