aboutsummaryrefslogtreecommitdiff
path: root/unsorted/Shadow VRChat Devbox
diff options
context:
space:
mode:
Diffstat (limited to 'unsorted/Shadow VRChat Devbox')
-rw-r--r--unsorted/Shadow VRChat Devbox/README.md19
-rw-r--r--unsorted/Shadow VRChat Devbox/VRChat Avatars (bayla preset + poipro).alcomtemplate18
-rw-r--r--unsorted/Shadow VRChat Devbox/repositories.txt4
-rw-r--r--unsorted/Shadow VRChat Devbox/setup.ps1136
-rw-r--r--unsorted/Shadow VRChat Devbox/wallpaper.pngbin0 -> 3191025 bytes
5 files changed, 177 insertions, 0 deletions
diff --git a/unsorted/Shadow VRChat Devbox/README.md b/unsorted/Shadow VRChat Devbox/README.md
new file mode 100644
index 0000000..0084437
--- /dev/null
+++ b/unsorted/Shadow VRChat Devbox/README.md
@@ -0,0 +1,19 @@
+# Shadow VRChat Devbox Setup Script
+
+This PowerShell script automates the setup of a VRChat development environment on a Shadow cloud-based PC. It installs essential software and configures them to sane defaults ready for VRChat development.
+
+## Quick Start
+
+Run ONE of the following commands in PowerShell on your Shadow PC:
+
+**Reliable cached version:**
+
+```powershell
+iex (New-Object Net.WebClient).DownloadString('https://zue.dev/shadow-vrchat.ps1')
+```
+
+**Latest version (may be unstable):**
+
+```powershell
+iex (New-Object Net.WebClient).DownloadString('https://forgejo.sovereign.zue.dev/zuedev/monorepo/raw/branch/main/unsorted/Shadow%20VRChat%20Devbox/setup.ps1')
+```
diff --git a/unsorted/Shadow VRChat Devbox/VRChat Avatars (bayla preset + poipro).alcomtemplate b/unsorted/Shadow VRChat Devbox/VRChat Avatars (bayla preset + poipro).alcomtemplate
new file mode 100644
index 0000000..cc8d20f
--- /dev/null
+++ b/unsorted/Shadow VRChat Devbox/VRChat Avatars (bayla preset + poipro).alcomtemplate
@@ -0,0 +1,18 @@
+{
+ "$type": "com.anatawa12.vrc-get.custom-template",
+ "formatVersion": "1.0",
+ "displayName": "VRChat Avatars (bayla preset + poipro)",
+ "updateDate": "2025-12-19T10:20:48.285745200Z",
+ "id": "com.anatawa12.vrc-get.user.8fee84c2febe4d8c85d5e24dfd1b22dc",
+ "base": "com.anatawa12.vrc-get.vrchat.avatars",
+ "unityVersion": "2022.3.22",
+ "vpmDependencies": {
+ "com.vrchat.avatars": "*",
+ "com.vrcfury.vrcfury": "*",
+ "com.llealloo.audiolink": "*",
+ "vrchat.blackstartx.gesture-manager": "*",
+ "gogoloco": "*",
+ "nadena.dev.modular-avatar": "*"
+ },
+ "unityPackages": []
+} \ No newline at end of file
diff --git a/unsorted/Shadow VRChat Devbox/repositories.txt b/unsorted/Shadow VRChat Devbox/repositories.txt
new file mode 100644
index 0000000..a42272c
--- /dev/null
+++ b/unsorted/Shadow VRChat Devbox/repositories.txt
@@ -0,0 +1,4 @@
+https://vcc.vrcfury.com/
+https://spokeek.github.io/goloco/index.json
+https://adjerry91.github.io/VRCFaceTracking-Templates/index.json
+https://vpm.nadena.dev/vpm.json
diff --git a/unsorted/Shadow VRChat Devbox/setup.ps1 b/unsorted/Shadow VRChat Devbox/setup.ps1
new file mode 100644
index 0000000..d1c8acd
--- /dev/null
+++ b/unsorted/Shadow VRChat Devbox/setup.ps1
@@ -0,0 +1,136 @@
+<#
+.SYNOPSIS
+ Setup VRChat Devbox on Shadow PC
+
+.DESCRIPTION
+ This script installs necessary software for VRChat development on a Shadow cloud-based PC.
+
+.NOTES
+ Shadow: https://shadow.tech/
+ VRChat: https://vrchat.com/
+#>
+
+# Are we in an elevated session?
+If (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator"))
+{
+ Write-Warning "You do not have Administrator rights to run this script! Please re-run this script as an Administrator!"
+ Break
+}
+
+# is chocolatey installed?
+if (-not (Get-Command choco -ErrorAction SilentlyContinue)) {
+ # Install Chocolatey
+ Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
+}
+
+# pass -y to all choco installs
+choco feature enable -n allowGlobalConfirmation
+
+# disable checksum checks
+choco feature disable -n checksumFiles
+
+# Download and install Winget v1.6.3482 as Shadow's default Winget version is broken
+$targetWingetVersion = "v1.6.3482"
+$currentWingetVersion = (winget --version 2>$null)
+
+if ($currentWingetVersion -ne $targetWingetVersion) {
+ Write-Host "Current Winget version ($currentWingetVersion) differs from target ($targetWingetVersion). Downgrading..."
+ Invoke-WebRequest -Uri "https://github.com/microsoft/winget-cli/releases/download/v1.6.3482/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle" -OutFile "C:\Users\Shadow\Downloads\Winget_Old.msixbundle"
+
+ # Install the downloaded Winget package
+ Add-AppxPackage -Path "C:\Users\Shadow\Downloads\Winget_Old.msixbundle"
+
+ # Clean up downloaded Winget package
+ Remove-Item -Path "C:\Users\Shadow\Downloads\Winget_Old.msixbundle" -Force
+} else {
+ Write-Host "Winget is already at the target version ($targetWingetVersion). Skipping downgrade."
+}
+
+# Reset Winget source and remove msstore (has certificate issues on Shadow)
+winget source reset --force
+winget source remove msstore
+
+# mass-install required software that doesn't need special setup
+winget install Unity.Unity.2022 -v "2022.3.22f1" # current LTS version vrchat uses
+winget install Unity.UnityHub # needed because life is pain
+winget install anatawa12.ALCOM # better vrchat creator companion
+winget install Git.Git # version control
+winget install tailscale.tailscale # private network connectivity
+winget install motrix.Motrix # download manager
+winget install 7zip.7zip # archive manager
+winget install microsoft.VisualStudioCode # code editor
+winget install JanDeDobbeleer.OhMyPosh # fancy terminal prompt
+
+choco install googlechrome # browser
+
+# Remove all stuff from desktop (both user and public desktop)
+Remove-Item -Path "C:\Users\Shadow\Desktop\*" -Recurse -Force -ErrorAction SilentlyContinue
+Remove-Item -Path "C:\Users\Public\Desktop\*" -Recurse -Force -ErrorAction SilentlyContinue
+
+# Reload environment variables to ensure newly installed software is recognized
+$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
+
+# set up oh my posh
+oh-my-posh font install Meslo
+
+# set powershell prompt to oh my posh
+$profilePath = "$HOME\Documents\PowerShell\Microsoft.PowerShell_profile.ps1"
+
+if (-not (Test-Path -Path $profilePath)) {
+ New-Item -ItemType File -Path $profilePath -Force
+}
+
+$ohMyPoshInit = 'oh-my-posh init pwsh | Invoke-Expression'
+
+if (-not (Get-Content $profilePath | Select-String -Pattern 'oh-my-posh')) {
+ Add-Content -Path $profilePath -Value $ohMyPoshInit
+}
+
+# update windows terminal font
+$wtSettingsPath = "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json"
+
+if (Test-Path $wtSettingsPath) {
+ $wtSettings = Get-Content $wtSettingsPath | ConvertFrom-Json
+ foreach ($profile in $wtSettings.profiles.list) {
+ $profile.fontFace = "MesloLGS NF"
+ }
+ $wtSettings | ConvertTo-Json -Depth 32 | Set-Content $wtSettingsPath
+}
+
+# Set desktop wallpaper to vrchat
+$wallpaperUrl = "https://forgejo.sovereign.zue.dev/zuedev/monorepo/raw/branch/main/unsorted/Shadow%20VRChat%20Devbox/wallpaper.png"
+$wallpaperPath = "C:\Users\Shadow\Pictures\vrchat_wallpaper.png"
+Invoke-WebRequest -Uri $wallpaperUrl -OutFile $wallpaperPath
+Add-Type -TypeDefinition @"
+using System;
+using System.Runtime.InteropServices;
+public class Wallpaper {
+ [DllImport("user32.dll", SetLastError = true)]
+ public static extern bool SystemParametersInfo(int uAction, int uParam, string lpvParam, int fuWinIni);
+}
+"@
+[Wallpaper]::SystemParametersInfo(20, 0, $wallpaperPath, 3)
+
+# Set Unity Hub to use installed Unity version
+$unityHubConfigPath = "C:\Users\Shadow\AppData\Roaming\UnityHub\preferences.json"
+if (Test-Path $unityHubConfigPath) {
+ $config = Get-Content $unityHubConfigPath | ConvertFrom-Json
+ $config.defaultUnityVersion = "2022.3.22f1"
+ $config | ConvertTo-Json | Set-Content $unityHubConfigPath
+}
+
+# Set Git global configuration
+git config --global user.name "zuedev"
+git config --global user.email "zuedev@gmail.com"
+
+# show file extensions in explorer
+Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name "HideFileExt" -Value 0
+
+# show hidden files in explorer
+Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name "Hidden" -Value 1
+
+# reload explorer to apply changes
+Stop-Process -Name explorer -Force
+
+# Final message
+Write-Host "VRChat Devbox setup complete." \ No newline at end of file
diff --git a/unsorted/Shadow VRChat Devbox/wallpaper.png b/unsorted/Shadow VRChat Devbox/wallpaper.png
new file mode 100644
index 0000000..d695f47
--- /dev/null
+++ b/unsorted/Shadow VRChat Devbox/wallpaper.png
Binary files differ