Skip to content

An all-in-one app that helps me set up a one-click automated VR setup.

License

Notifications You must be signed in to change notification settings

MintLily/VRStartAssistant

Repository files navigation

Contributors Forks Stargazers MIT License


Banner Logo

VRStartAssistant

An all-in-one app that helps set up a one-click automated VR setup.

Table of Contents
  1. About The Project
  2. Know the Configuration
  3. License
  4. Acknowledgments

About The Project

An all-in-one app that helps me set up a one-click automated VR setup. It starts various applications1, as well as, SteamVR, and VRChat in a time-based, sequential order.
It also automatically turns on some smart plugs used for Base Stations, and turns them off upon SteamVR exit.

1 - Based on what is in configuration file

Know the Configuration

General
  • ConfigVersion - Specifies the amount of times the configuration has been revised. (DO NOT EDIT THIS VALUE)
VR
  • AutoLaunchWithSteamVr - Allows you to set if you want this application to start automatically when you start SteamVR, instead of manually every time.
  • HasRegistered - Specifies whether SteamVR has been registered to auto start (DO NOT EDIT THIS VALUE)
Audio
  • DefaultAudioDevice - The ID number of the audio device
  • ApplyAllDevicesToList - Add all your speaker devices to the list below
  • AudioDevices - The list of audio devices (speakers) you have the program auto switch to when starting the program / SteamVR
    • Audio Entry
      • Id - Number of ID
      • Name - Human Readable Name
      • Guid - Unique id for windows to assign
  • SwitchBackAudioDevice - The device you want to switch back to after SteamVR closes
Home Assistant
OSC
  • ListeningPort - The OSC Listening port
  • SendingPort - The OSC Sending port
  • ShowMediaStatus - In VRChat, display a message above your head when a song changes (true or false value)
  • ForceStartMediaStatus - Forcably run the media service in case VRChat is not detected (true or false value)
  • CustomBlockWordsContains - List of word(s) used to no show the message [ex. if you add the word "star", any song name or artist with that word will not display a message]
  • CustomBlockWordsEquals - List of word(s) used to no show the message [ex. if you add the word(s) "Tokyo Machine", and song or artist matching that will not display a message]
  • SecondsToAutoHideChatBox - Number of seconds the message will show for
Programs
  • Programs - The list of programs you want to auto start with this program
    • Program Entry
      • Name - The name so you know what it is
      • ExePath - File path to the program excecutable
      • Arugments - Any arguments you may need for that program
      • StartWithVrsa - Specify if you want the your program to start with VRSA
      • StartMinimized - Start your program with it's window minimized
      • HasMultiProcesses - Specify with the program has multiple processes [ex. VRCX has multiple processes]
      • ProcessName - The name of the process [find out how to get this name here (me selecting VRCX)]
      • FallbackProcessStartingNeeded - Set this to true if the program does not launch your program correctly

Built With

Rider VisualStudio DotNet Sublime Text
AudioSwitcher
RestSharp
Serilog     Serilog.Expressions Serilog.Sinks.Console Serilog.Sinks.File
XSNotifications
CoreOSC
System.CommandLine     System.CommandLine.NamingConventionBinder

License

Distributed under the MIT License. See LICENSE for more information.
Specific GPL-2.0 applies to Paci's code in this file (OscMedia.cs)

Acknowledgments

(back to top)