Remove hyperlinks for readability |
Add previously undocumented arguments |
||
(12 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
<languages /> | <languages /> | ||
{{Note|<translate>Already have command line arguments to use? Wondering how? Skip down to [[Command_Line_Arguments#How_to_use_command_line_arguments|How to use them!]]</translate>|suggestion}} | |||
<translate> | <translate> | ||
<!--T:1--> | <!--T:1--> | ||
Line 9: | Line 12: | ||
<translate>== Forcing specific hardware == <!--T:2--></translate> | <translate>== Forcing specific hardware == <!--T:2--></translate> | ||
<!--T:3--> | <!--T:3--> | ||
* ''<translate><!--T:46--> none</translate>'' - <translate><!--T:47--> autodetect </translate> | * ''<translate><!--T:46--> none</translate>'' - <translate><!--T:47--> autodetect </translate> | ||
* '''-SteamVR''' | * '''-Screen''' <translate><!--T:50--> - Screen mode (also called Desktop mode)</translate> | ||
* '''- | * '''-Device SteamVR''' <translate><!--T:48--> SteamVR</translate> | ||
* '''- | * '''-Device WindowsMR''' <translate><!--T:48--> Windows Mixed Reality</translate> | ||
* '''-Screen360''' | * '''-Device Oculus''' <translate><!--T:49--> Oculus Rift + Touch controllers</translate> | ||
* '''- | * '''-Device OculusQuest''' <translate><!--T:49--> Oculus Quest + Touch controllers</translate> | ||
* '''- | * '''-Device Screen360''' <translate><!--T:51--> Screen mode (with 360 projection)</translate> | ||
* '''- | * '''-Device LegacyScreen''' <translate><!--T:57--> Force Resonite to run in the old Desktop "debugging" mode.</translate> | ||
* '''-LegacySteamVRInput''' | * '''-Device StaticCamera''' <translate><!--T:52--> non-interactive Camera Mode</translate> | ||
* '''-ForceSRAnipal''' | * '''-Device StaticCamera360''' <translate><!--T:53--> non-interactive Camera Mode using 360 equirectangular rendering</translate> | ||
* '''-LegacySteamVRInput''' <translate><!--T:55--> 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.</translate> | |||
* '''-EnableOWO ''Insert_ip_address_here''''' | * '''-ForceSRAnipal''' <translate><!--T:56--> Force the SRAnipal SDK to initialize for HTC eye and lip tracking, even if Vive Pro Eye is not present.</translate> | ||
* '''-EnableOWO ''Insert_ip_address_here''''' <translate><!--T:58--> Enables the [https://owogame.com/ OWO Game haptic vest] integration, requires you pass in the vest's ip address. Currently not functional, see related [https://github.com/Yellow-Dog-Man/Resonite-Issues/issues/186 Github issue.]</translate> | |||
<translate>== Joining sessions / Opening worlds == <!--T:4--></translate> | <translate>== Joining sessions / Opening worlds == <!--T:4--></translate> | ||
Line 29: | Line 32: | ||
<!--T:5--> | <!--T:5--> | ||
* '''-Join Auto''' - <translate><!--T:59--> Automatically join and follow active sessions on LAN (will switch to world with most present users)</translate> | * '''-Join Auto''' - <translate><!--T:59--> Automatically join and follow active sessions on LAN (will switch to world with most present users)</translate> | ||
* '''-Join ''Insert_URL_or_IP:Port_here''''' - <translate><!--T:60--> Join a session at given URi (Resonite-session | lnl)</translate> | * '''-Join ''<translate><!--T:119--> Insert_URL_or_IP:Port_here</translate>''''' - <translate><!--T:60--> Join a session at given URi (Resonite-session | lnl)</translate> | ||
* '''-Open ''Insert_URL_here''''' - <translate><!--T:61--> Open world at given URL on start ( | * '''-Open ''<translate><!--T:120--> Insert_URL_here</translate>''''' - <translate><!--T:61--> Open world at given URL on start (resrec)</translate> | ||
* '''-Scratchspace ''Insert_port_here''''' - <translate><!--T:62--> Starts a new scratchspace world on a given port (legacy, will be likely removed)</translate> | * '''-Scratchspace ''<translate><!--T:121--> Insert_port_here</translate>''''' - <translate><!--T:62--> Starts a new scratchspace world on a given port (legacy, will be likely removed)</translate> | ||
* '''-AnnounceHomeOnLAN''' - <translate><!--T:63--> Home and [[Userspace]] will be accessible from LAN by default</translate> | * '''-AnnounceHomeOnLAN''' - <translate><!--T:63--> Home and [[Userspace]] will be accessible from LAN by default</translate> | ||
* '''-Bootstrap ''Insert_bootstrap_class_here''''' - <translate><!--T:64--> Run a custom [[Bootstrapping|bootstrap]] function in a class of given name</translate> | * '''-Bootstrap ''<translate><!--T:122--> Insert_bootstrap_class_here</translate>''''' - <translate><!--T:64--> Run a custom [[Bootstrapping|bootstrap]] function in a class of given name</translate> | ||
<translate>== Networking == <!--T:34--></translate> | <translate>== Networking == <!--T:34--></translate> | ||
Line 39: | Line 42: | ||
<!--T:35--> | <!--T:35--> | ||
* '''-ForceLANOnly''' - <translate><!--T:65--> All worlds will be forced to announce only on the LAN network by default and won't be accessible from the internet</translate> | * '''-ForceLANOnly''' - <translate><!--T:65--> All worlds will be forced to announce only on the LAN network by default and won't be accessible from the internet</translate> | ||
* '''- | * '''-CloudProfile''' - <translate>Dictates which cloud API servers are used, intended for debugging. Valid values: Production, Staging, Local.</translate> | ||
<translate>== Drone Camera presets == <!--T:6--></translate> | <translate>== Drone Camera presets == <!--T:6--></translate> | ||
Line 74: | Line 75: | ||
<translate>== Synchronization Issues == <!--T:44--></translate> | <translate>== Synchronization Issues == <!--T:44--></translate> | ||
<!-- Don't place ForceSyncConflictingCloudRecords or DeleteUnsyncedCloudRecords here, these CLI arguments are overused and we want users to go via the guides to avoid data loss and over-use. --> | |||
<translate>There are some Command Line Arguments, that are reserved for solving synchronization issues with Resonite. These arguments can, in some cases, result in data-loss so unless you have a synchronization issue, they should not be used.</translate> | |||
<translate><!--T:77--> If you're having synchronization issues then see [[Sync Errors]] which has various guides on the available command line arguments and how to use them to resolve sync issues.</translate> | |||
<translate>== Database Repair == <!--T:45--></translate> | <translate>== Database Repair == <!--T:45--></translate> | ||
Line 88: | Line 92: | ||
* '''-Watchdog ''<translate><!--T:86--> Insert_filepath_here</translate>''''' - <translate><!--T:87--> Resonite will periodically write current time into given file. This can be used to restart the process when it freezes</translate> | * '''-Watchdog ''<translate><!--T:86--> Insert_filepath_here</translate>''''' - <translate><!--T:87--> Resonite will periodically write current time into given file. This can be used to restart the process when it freezes</translate> | ||
* '''-LoadAssembly ''<translate><!--T:88--> Insert_path_here</translate>''''' - <translate><!--T:89--> Loads extra CLR assembly into the Resonite process</translate> | * '''-LoadAssembly ''<translate><!--T:88--> Insert_path_here</translate>''''' - <translate><!--T:89--> Loads extra CLR assembly into the Resonite process</translate> | ||
* '''-Kiosk''' - <translate><!--T:90--> Will run Resonite in Kiosk mode (hides the [[Userspace]] items such as logo and world switcher and disables teleporting for guests by default)</translate> | * '''-Kiosk''' - <translate><!--T:90--> Will run Resonite in [[Kiosk Mode|Kiosk mode]] (hides the [[Userspace]] items such as logo and world switcher and disables teleporting for guests by default)</translate> | ||
* '''-NoUI''' - <translate><!--T:91--> Hides the [[Userspace]] UI</translate> | * '''-NoUI''' - <translate><!--T:91--> Hides the [[Userspace]] UI</translate> | ||
* '''-CubemapResolution ''<translate><!--T:92--> Insert_resolution_here</translate>''''' - <translate><!--T:93--> Force the 360 equirectangular rendering to use this resolution for the cubemap</translate> | * '''-CubemapResolution ''<translate><!--T:92--> Insert_resolution_here</translate>''''' - <translate><!--T:93--> Force the 360 equirectangular rendering to use this resolution for the cubemap</translate> | ||
Line 100: | Line 104: | ||
* '''-PriorityWorkers ''<translate><!--T:103--> Insert_number_here</translate>''''' - <translate><!--T:104--> overrides the number of priority worker processes. '''WARNING:''' Don't use this unless you really need to, things could break!</translate> | * '''-PriorityWorkers ''<translate><!--T:103--> Insert_number_here</translate>''''' - <translate><!--T:104--> overrides the number of priority worker processes. '''WARNING:''' Don't use this unless you really need to, things could break!</translate> | ||
* '''-ForceReticleAboveHorizon''' - <translate><!--T:105--> Disallows looking below the Horizon for desktop when in first person by default.</translate> | * '''-ForceReticleAboveHorizon''' - <translate><!--T:105--> Disallows looking below the Horizon for desktop when in first person by default.</translate> | ||
* '''-Verbose''' - <translate>Produces more detailed logs during engine initialization, useful for plugin developers and debugging.</translate> | |||
* '''-GeneratePrecache''' - <translate>Causes cloud records to get cached to <code>(Resonite install folder)/RuntimeData/PreCache</code> in addition to the [[Resonite_Data_Folders#Cache|normal cache location]].</translate> | |||
* '''-ExportDatabaseAll ''<translate>Insert_path_here</translate>''''' - <translate>Will export everything found in the local database, this includes user and group records that have been saved on the given machine.</translate> | |||
* '''-ExportDatabaseMachine ''<translate>Insert_path_here</translate>''''' - <translate>Will export records specifically owned by the local machine, such as local worlds and settings.</translate> | |||
* '''-ValidateTypes''' - <translate>Internally checks and logs if all loaded DataModel types pass DataModel validation tests.</translate> | |||
* '''-NeverSaveSettings''' - <translate>Prevents settings from being saved and synced, useful for testing purposes and on prerelease builds.</translate> | |||
* '''-NeverSaveDash''' - <translate>Prevents dashboard changes from being saved and synced, useful for testing purposes and on prerelease builds.</translate> | |||
<translate>== Resonite Custom Protocol Handler (Steam only) == <!--T:11--></translate> | <translate>== Resonite Custom Protocol Handler (Steam only) == <!--T:11--></translate> | ||
Line 130: | Line 141: | ||
<!--T:37--> | <!--T:37--> | ||
* '''<nowiki>https://api.resonite.com/open/world/</nowiki>''<translate>Insert_ID_here</translate>''''' - <translate>Open a world at given URL</translate> | * '''<nowiki>https://api.resonite.com/open/world/</nowiki>''<translate><!--T:123--> Insert_ID_here</translate>''''' - <translate><!--T:124--> Open a world at given URL</translate> | ||
** <translate>For example '''https://api.resonite.com/open/world/U-ProbablePrime/R-9ce872e1-ffb8-4194-bb91-3d3ab5f157a1''' - Will Open "The Directory" by ProbablePrime</translate> | ** <translate><!--T:125--> For example '''https://api.resonite.com/open/world/U-ProbablePrime/R-9ce872e1-ffb8-4194-bb91-3d3ab5f157a1''' - Will Open "The Directory" by ProbablePrime</translate> | ||
<!--T:38--> | <!--T:38--> | ||
* '''<nowiki>https://api.resonite.com/open/session/</nowiki>''<translate>Insert_ID_here</translate>''''' - <translate>Open a session at given URL</translate> | * '''<nowiki>https://api.resonite.com/open/session/</nowiki>''<translate><!--T:126--> Insert_ID_here</translate>''''' - <translate><!--T:127--> Open a session at given URL</translate> | ||
** <translate>For example '''https://api.resonite.com/open/session/S-eea1442e-0ff2-4d6a-ad16-2dac9ea786fc''' will join session S-eea1442e-0ff2-4d6a-ad16-2dac9ea786fc</translate> | ** <translate><!--T:128--> For example '''https://api.resonite.com/open/session/S-eea1442e-0ff2-4d6a-ad16-2dac9ea786fc''' will join session S-eea1442e-0ff2-4d6a-ad16-2dac9ea786fc</translate> | ||
<translate>== Unity Standalone Player command line arguments == <!--T:14--></translate> | <translate>== Unity Standalone Player command line arguments == <!--T:14--></translate> | ||
Line 151: | Line 162: | ||
<translate> | <translate> | ||
<!--T:26--> | <!--T:26--> | ||
Below are three methods for launching Resonite using | Below are three methods for launching Resonite using command line arguments.</translate> | ||
</translate> | |||
<translate>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 <code>D:\Temporary files\ResoniteCache\</code>.</translate> | |||
<translate>Choosing the best method to use depends on how you normally launch Resonite. For most users, the setup described in [[#Launching from Steam]] is likely the best choice.</translate> | |||
<translate>=== Launching from Steam === <!--T:27--></translate> | <translate>=== Launching from Steam === <!--T:27--></translate> | ||
Line 159: | Line 173: | ||
<translate>=== For the Standalone build === <!--T:42--></translate> | <translate>=== For the Standalone build === <!--T:42--></translate> | ||
<translate><!--T:118--> {{StandaloneCommandLineArguments}}</translate> | <translate><!--T:118--> {{StandaloneCommandLineArguments}}</translate> | ||
==<translate>Examples</translate> == | |||
Here we're providing some example Command Line Argument setups and describing what they can do: | |||
* [[Command Line Arguments/Single world experience|Single world experience]] - Use command line arguments to setup a single world experience version of Resonite. Useful for conventions and exhibitions. | |||
* [[Command Line Arguments/Automatically join a session|Automatically join a session]] - Use command line arguments to create a copy of Resonite that automatically joins a session on launch. Useful for classrooms, meetings etc. |
Latest revision as of 15:16, 18 July 2024
Desktop builds of Resonite support several command line arguments. For most of these arguments you can use the Resonite 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
- -Screen - Screen mode (also called Desktop mode)
- -Device SteamVR SteamVR
- -Device WindowsMR Windows Mixed Reality
- -Device Oculus Oculus Rift + Touch controllers
- -Device OculusQuest Oculus Quest + Touch controllers
- -Device Screen360 Screen mode (with 360 projection)
- -Device LegacyScreen Force Resonite to run in the old Desktop "debugging" mode.
- -Device StaticCamera non-interactive Camera Mode
- -Device StaticCamera360 non-interactive Camera Mode using 360 equirectangular 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 SRAnipal SDK to initialize for HTC eye and lip tracking, even if Vive Pro Eye is not present.
- -EnableOWO Insert_ip_address_here Enables the OWO Game haptic vest integration, requires you pass in the vest's ip address. Currently not functional, see related Github issue.
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 (Resonite-session | lnl)
- -Open Insert_URL_here - Open world at given URL on start (resrec)
- -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
Networking
- -ForceLANOnly - All worlds will be forced to announce only on the LAN network by default and won't be accessible from the internet
- -CloudProfile - Dictates which cloud API servers are used, intended for debugging. Valid values: Production, Staging, Local.
Drone Camera presets
These initialize the static camera with a drone script, using a specific movement preset.
- -CameraBiggestGroup
- -CameraTimelapse
- -CameraStayBehind
- -CameraStayInFront
And also these args usable for Drone Camera.
- -UseResoniteCamera - Will spawn Static Camera as the Resonite Camera with zoom controls, preview and other functions
Common Avatar Builder
- -ForceNoVoice - CommonAvatarBuilder won't setup any avatars with voice (useful for local presentations)
Data Folders
Resonite 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.
Logs Folder
- -LogsPath C:\specified\directory - Redirect log files to be saved in a custom specified directory.
Synchronization Issues
There are some Command Line Arguments, that are reserved for solving synchronization issues with Resonite. These arguments can, in some cases, result in data-loss so unless you have a synchronization issue, they should not be used.
If you're having synchronization issues then see Sync Errors which has various guides on the available command line arguments and how to use them to resolve sync issues.
Database Repair
- If you're having database issues then Database repair is a guide on how to use a Command Line Argument to resolve the issue.
Post Processing
- -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
Misc
- -Watchdog Insert_filepath_here - Resonite 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 Resonite process
- -Kiosk - Will run Resonite 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
- -DoNotAutoLoadHome - 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.
- -EngineConfig 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.
- -Verbose - Produces more detailed logs during engine initialization, useful for plugin developers and debugging.
- -GeneratePrecache - Causes cloud records to get cached to
(Resonite install folder)/RuntimeData/PreCache
in addition to the normal cache location. - -ExportDatabaseAll Insert_path_here - Will export everything found in the local database, this includes user and group records that have been saved on the given machine.
- -ExportDatabaseMachine Insert_path_here - Will export records specifically owned by the local machine, such as local worlds and settings.
- -ValidateTypes - Internally checks and logs if all loaded DataModel types pass DataModel validation tests.
- -NeverSaveSettings - Prevents settings from being saved and synced, useful for testing purposes and on prerelease builds.
- -NeverSaveDash - Prevents dashboard changes from being saved and synced, useful for testing purposes and on prerelease builds.
Resonite Custom Protocol Handler (Steam only)
Resonite registers a custom protocol handler with your computer on installation. You can use this to create links which will open Resonite to a set location or world when they are clicked. These arguments are given to the Resonite launcher, which will make sure Resonite is launched and running and forward them to the running instance.
- Resonite:?world=Insert_URL_here - Open a world or session at given URL
- For example Resonite:?world=resrec:///U-ProbablePrime/R-9ce872e1-ffb8-4194-bb91-3d3ab5f157a1 - Will Open "The Directory" by ProbablePrime
- And for Sessions Resonite:?world=Resonite-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://api.resonite.com/open/ instead. They will redirect to use the above Resonite: protocol handler.
- https://api.resonite.com/open/world/Insert_ID_here - Open a world at given URL
- For example https://api.resonite.com/open/world/U-ProbablePrime/R-9ce872e1-ffb8-4194-bb91-3d3ab5f157a1 - Will Open "The Directory" by ProbablePrime
- https://api.resonite.com/open/session/Insert_ID_here - Open a session at given URL
- For example https://api.resonite.com/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 Resonite in a window.
- -screen-fullscreen 1 - Launch Resonite 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
Resonite will launch in a 1280x720 window.
How to use command line arguments
Below are three methods for launching Resonite using 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\ResoniteCache\
.
Choosing the best method to use depends on how you normally launch Resonite. For most users, the setup described in #Launching from Steam is likely the best choice.
Launching from Steam
- Open Steam
- Right click on Resonite in your library
- Select "Properties" and then "Set Launch Options".
- Enter the command you need to use, exactly as it appears above and Run Resonite.
Now, if Resonite is launched via Steam, the custom command line arguments will take effect.
Commands entered via this method will not take effect if Resonite is launched any other way, such as directly launching the Resonite.exe.
For the Standalone build
Use a shortcut
It is possible to use launch commands via a custom shortcut targeting the Resonite.exe file.
To create a shortcut:
- Find the Resonite install folder and right-click on the Resonite.exe.
- In the context menu click 'Create Shortcut'
- Move the 'Resonite.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 Resonite.exe filepath and then add your command line arguments.
- Click 'Apply' and 'OK'.
Now, if Resonite 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 Resonite.
Examples
Here we're providing some example Command Line Argument setups and describing what they can do:
- Single world experience - Use command line arguments to setup a single world experience version of Resonite. Useful for conventions and exhibitions.
- Automatically join a session - Use command line arguments to create a copy of Resonite that automatically joins a session on launch. Useful for classrooms, meetings etc.