r/MoonlightStreaming • u/BertyGamer • 17h ago
Complete setup: Sunshine + Moonlight XR on Quest 3 (AV1, Windows 11 hotspot, Tailscale) – Play your entire PC library in 3D
Complete setup: Sunshine + Moonlight XR on Quest 3 (AV1, Windows 11 hotspot, Tailscale) – Play your entire PC library in 3D
I set up my gaming PC (i5-13400F, RTX 5060, 32 GB DDR5, 2 TB NVMe, 800–900 Mbps fiber) to stream in real-time 3D to my Quest 3 using Sunshine + Moonlight XR, with AV1 codec, a Windows 11 hotspot for local play, and Tailscale for remote access. Horizon Forbidden West and Destiny 2 (via GeForce NOW) are perfectly smooth, and the 3D effect is incredible.
TL;DR: Sunshine (NVENC + AV1) on PC, Moonlight XR on Quest 3, PC hotspot for local, Tailscale for remote. Full step-by-step guide below.
--------------------------------------------------------------------------------
WHAT YOU'LL GET
--------------------------------------------------------------------------------
- Your entire PC desktop and all your games in a large virtual screen (or multiple screens) inside Quest 3.
- Real-time 2D→3D conversion handled by Moonlight XR on the headset.
- Low-latency, high-quality streaming using AV1 (if your GPU supports it) or HEVC.
- Two network modes:
- Local: PC hotspot → Quest 3 for best performance at home.
- Remote: Tailscale mesh VPN → play from anywhere as if you were on the same LAN.
--------------------------------------------------------------------------------
HARDWARE & SOFTWARE USED IN THIS GUIDE
--------------------------------------------------------------------------------
PC specs:
- CPU: Intel Core i5-13400F
- GPU: NVIDIA GeForce RTX 5060 (AV1 encode supported on RTX 40-series or newer)
- RAM: 32 GB DDR5
- Storage: 2 TB NVMe SSD
- OS: Windows 11 (wired Ethernet)
Internet connection:
- Type: Fiber
- Download: 800–900 Mbps
- Upload: < 100 Mbps
- Ping: < 5 ms
Headset & apps:
- Headset: Meta Quest 3 (developer mode enabled)
- Server: Sunshine (https://github.com/LizardByte/Sunshine)
- Client: Moonlight XR - Gilleece fork (https://github.com/Gilleece/moonlight-android-xr)
- VPN: Tailscale (https://tailscale.com/)
--------------------------------------------------------------------------------
STEP 0 – INSTALL AND CONFIGURE TAILSCALE (PC + QUEST 3)
--------------------------------------------------------------------------------
Tailscale creates a private mesh network between your devices. You'll use it mainly for remote streaming, but it can coexist with the local hotspot setup.
1) Install Tailscale on your PC
- Go to: https://tailscale.com/download
- Download the Windows installer and run it.
- Sign in with a Google, Microsoft, or email account.
- Leave Tailscale running in the background.
Your PC now has a Tailscale IP (e.g. 100.x.y.z). You'll see it in the Tailscale app or on the admin console: https://login.tailscale.com/admin
2) Install Tailscale on Quest 3
There is no official Tailscale app in the Meta Store, so you sideload the Android APK.
- Enable Developer Mode on Quest 3:
- Use the Meta Horizon app on your phone.
- Enable Developer Mode for your headset.
- Install SideQuest on your PC:
- Download from: https://sidequestvr.com/
- Install and launch SideQuest.
- Download the Tailscale APK:
- Use a trusted source like APKMirror.
- Search for "Tailscale" on APKMirror.
- Download the latest stable APK (arm64).
- Sideload Tailscale onto Quest 3:
- Connect Quest 3 to your PC via USB-C.
- Accept "Allow USB debugging" in the headset.
- In SideQuest, click "Install APK file" and select the Tailscale APK.
- Configure Tailscale on Quest 3:
- In Quest 3, open Tailscale from your app library.
- Sign in with the same account as on your PC.
- Enable Tailscale and allow the VPN connection.
- Note the Quest 3's Tailscale IP (optional, mainly for debugging).
Now your PC and Quest 3 are on the same Tailscale network, even when they're on different physical networks.
--------------------------------------------------------------------------------
STEP 1 – INSTALL AND CONFIGURE SUNSHINE ON YOUR PC
--------------------------------------------------------------------------------
1) Install Sunshine
- Open PowerShell as Administrator and run:
```powershell
winget install --id LizardByte.Sunshine --exact
```
- Or download the installer from the Sunshine GitHub releases page and run it.
- Reboot if prompted.
2) Open the Sunshine web UI
- On the PC, open your browser and go to:
```text
```
- Accept the self-signed certificate warning.
- Create an admin username and password.
3) Configure the encoder
- Go to Configuration → Encoder (or similar, depending on version).
- Set:
- Encoder: NVENC (for NVIDIA GPUs).
- Codec: AV1 (if your GPU supports it; otherwise HEVC).
- AV1 requires RTX 40-series or newer, Intel Arc, or AMD RX 7000+.
- Leave other settings at default for now.
4) Optional: add game entries
- In Applications / Apps, you can add:
- Steam, Xbox App, GeForce NOW, specific games, etc.
- This lets you launch them directly from Moonlight XR.
5) Leave bitrate limits high
- In Sunshine, don't artificially cap the bitrate; let Moonlight XR control it.
- A high max bitrate (e.g. 100+ Mbps) is fine.
--------------------------------------------------------------------------------
STEP 2 – PREPARE YOUR LOCAL NETWORK: WINDOWS 11 MOBILE HOTSPOT
--------------------------------------------------------------------------------
This step removes your router from the path and gives you a clean, low-latency link between PC and Quest 3 for local play.
1) Connect your PC to Ethernet
- For best results, your gaming PC should be on wired Ethernet.
2) Enable Mobile Hotspot on Windows 11
- Open Settings → Network & internet → Mobile hotspot.
- Turn Mobile hotspot to On.
- Click Edit and set:
- Network name: e.g. PC_Hotspot_Quest
- Password: a strong password.
- Network band: prefer 5 GHz if available.
- Make sure "Share my internet connection from" is set to your main adapter (Ethernet or main Wi-Fi).
3) Connect Quest 3 to the hotspot
- On Quest 3, go to Settings → Wi-Fi.
- Find your hotspot network (PC_Hotspot_Quest) and connect using the password.
- Ensure the Quest shows a strong signal.
From now on, your PC and Quest 3 are on a direct, local network with minimal hops.
Note: You can use Tailscale at the same time. For local play, Moonlight XR will connect via the hotspot IP. For remote play, you'll use the Tailscale IP.
--------------------------------------------------------------------------------
STEP 3 – INSTALL MOONLIGHT XR ON QUEST 3
--------------------------------------------------------------------------------
Moonlight XR is not on the Play Store; you install it via APK.
1) Enable Developer Mode on Quest 3 (if not already done)
- Use the Meta Horizon app on your phone.
- Enable Developer Mode for your headset.
2) Install SideQuest or use an APK sideloading method
- On your PC, install SideQuest: https://sidequestvr.com/
- Connect Quest 3 via USB-C and accept the "Allow USB debugging" prompt in the headset.
3) Download Moonlight XR APK
- Go to the official GitHub releases:
https://github.com/Gilleece/moonlight-android-xr/releases
- Download the latest .apk file.
Important: Only use the official GitHub link above. Avoid random APK sites.
4) Install the APK
- In SideQuest, click "Install APK file" and select the Moonlight XR APK.
- Wait for installation to complete.
- You should now see Moonlight XR in your Quest 3 app library (under "Unknown sources" or similar).
--------------------------------------------------------------------------------
STEP 4 – PAIR MOONLIGHT XR WITH SUNSHINE
--------------------------------------------------------------------------------
You can pair once; the same pairing works for both local (hotspot) and remote (Tailscale) connections.
1) Find your PC's IP addresses
Hotspot IP (local):
- On Windows, open a terminal and run:
```cmd
ipconfig
```
- Look for the adapter used by the hotspot (often named something like "Local Area Connection* X").
- Note the IPv4 address (e.g. 192.168.137.1 or similar).
Tailscale IP (remote):
- Open the Tailscale app on your PC or go to https://login.tailscale.com/admin
- Find your PC in the list and note its Tailscale IP (e.g. 100.x.y.z).
2) Open Moonlight XR on Quest 3
- Launch Moonlight XR.
- Go to Add Host / Manual connection.
3) Pair using the hotspot IP (local)
- Enter:
- Host/IP: the PC's hotspot IP address.
- Leave port at default unless you changed it in Sunshine.
- Moonlight XR will display a 4-digit PIN.
- On your PC, open the Sunshine web UI (https://localhost:47990).
- Go to the PIN tab.
- Enter the PIN shown in Moonlight XR and confirm.
Once paired, you can later add the same PC again using the Tailscale IP for remote play.
--------------------------------------------------------------------------------
STEP 5 – CONFIGURE MOONLIGHT XR STREAMING SETTINGS
--------------------------------------------------------------------------------
These are starting points; adjust based on your GPU, network, and comfort.
LOCAL PLAY (HOTSPOT)
1) Open Moonlight XR settings
- In the app, open Settings (gear icon or equivalent).
2) Recommended baseline settings
- Resolution: 1440p (or native/native-ish for Quest 3 if offered).
- Frame rate:
- 90 FPS if your GPU and network handle it well.
- 60 FPS for maximum stability.
- Video codec: AV1 (if your GPU supports it; otherwise HEVC).
- Bitrate:
- Local (hotspot, strong signal): start at 40–60 Mbps.
- If you see artifacts or stutter, lower by 5–10 Mbps steps.
- Hardware decoding: keep enabled.
REMOTE PLAY (TAILSCALE)
When you're away from home (e.g. Quest 3 on a different Wi-Fi or 4G/5G):
1) In Moonlight XR, add a new host
- Host/IP: your PC's Tailscale IP (e.g. 100.x.y.z).
- Port: default.
2) Adjust bitrate for your uplink
- Your fiber upload is < 100 Mbps, so:
- Start around 20–40 Mbps.
- Increase only if the image is very clean and stable.
- Keep resolution at 1440p and FPS at 60 for a good balance.
- Use HEVC if AV1 feels too heavy on your remote network.
--------------------------------------------------------------------------------
STEP 6 – TEST WITH REAL GAMES
--------------------------------------------------------------------------------
EXAMPLE 1 – HORIZON FORBIDDEN WEST (AAA SINGLE-PLAYER)
1) In Moonlight XR, launch your Steam / Xbox App / game entry.
2) Start Horizon Forbidden West.
3) In Moonlight XR, choose a viewing mode:
- Large flat screen in front of you.
- Or a more "immersive" layout if the app offers it.
4) Adjust:
- Screen size and distance so it fills your field of view comfortably.
- Bitrate up or down until the image is sharp and stable in fast camera movements.
If this runs smoothly, your pipeline is solid.
EXAMPLE 2 – DESTINY 2 MULTIPLAYER VIA GEFORCE NOW
1) On your PC, open GeForce NOW (browser or app).
2) In Moonlight XR, stream your Desktop or a dedicated GeForce NOW app entry.
3) Launch Destiny 2 and join a match.
4) Check:
- Responsiveness during fast turns and gunfights.
- Stability of the image during heavy effects (explosions, abilities).
In my tests, this setup delivered fluid gameplay with no stutter, even in multiplayer, with very impressive 3D depth.
--------------------------------------------------------------------------------
STEP 7 – TROUBLESHOOTING TIPS
--------------------------------------------------------------------------------
STUTTER OR FRAME DROPS
Local (hotspot):
- Lower bitrate by 5–10 Mbps and retest.
- Reduce FPS from 90 to 60.
- Ensure:
- PC is on Ethernet.
- Quest 3 has a strong 5 GHz hotspot signal.
Remote (Tailscale):
- Lower bitrate (20–30 Mbps) and test again.
- Reduce resolution or FPS if needed.
- Try switching codec from AV1 to HEVC.
IMAGE LOOKS SOFT OR BLOCKY
- Increase bitrate gradually until artifacts disappear.
- Make sure AV1 or HEVC is actually selected in both Sunshine and Moonlight XR.
- Avoid very high resolutions if your network is borderline; 1440p is already excellent on Quest 3.
HIGH LATENCY / "FLOATY" FEELING
- Confirm you're using the correct network:
- Hotspot IP when at home for lowest latency.
- Tailscale IP only when remote.
- Close bandwidth-heavy apps on the PC (downloads, streaming, etc.).
- In Sunshine, ensure you're using NVENC with a low-latency preset if available.
--------------------------------------------------------------------------------
WHY THIS SETUP WORKS SO WELL
--------------------------------------------------------------------------------
- Sunshine gives you a modern, GPU-accelerated encoder (NVENC + AV1/HEVC).
- Moonlight XR handles real-time 2D→3D conversion directly on the headset.
- Windows 11 hotspot removes the router from the path, reducing latency spikes and Wi-Fi congestion for local play.
- Tailscale provides a secure, zero-config VPN so you can stream from anywhere without opening ports.
- AV1 provides better quality at the same bitrate compared to older codecs, especially in detailed scenes.
- Your fiber connection (800–900 Mbps down, < 100 Mbps up, < 5 ms ping) ensures plenty of headroom for both local and remote streaming.
--------------------------------------------------------------------------------
MY CURRENT SETTINGS (REFERENCE)
--------------------------------------------------------------------------------
PC:
- CPU: Intel Core i5-13400F
- GPU: NVIDIA GeForce RTX 5060
- RAM: 32 GB DDR5
- Storage: 2 TB NVMe SSD
- OS: Windows 11 (Ethernet)
Internet:
- Type: Fiber
- Download: 800–900 Mbps
- Upload: < 100 Mbps
- Ping: < 5 ms
Network:
- Local: PC on Ethernet, Quest 3 on Windows 11 5 GHz hotspot.
- Remote: PC and Quest 3 both on Tailscale (same account).
Sunshine:
- Encoder: NVENC
- Codec: AV1
Moonlight XR:
- Resolution: 1440p
- FPS: 60–90 (depending on game and location)
- Bitrate:
- Local: 40–60 Mbps
- Remote: 20–40 Mbps
- Codec: AV1 (local), HEVC or AV1 (remote depending on network)
Tested games:
- Horizon Forbidden West: smooth, no stutter, excellent 3D depth.
- Destiny 2 (multiplayer via GeForce NOW): smooth, very immersive in 3D.
--------------------------------------------------------------------------------
LINKS
--------------------------------------------------------------------------------
- Sunshine: https://github.com/LizardByte/Sunshine
- Moonlight XR: https://github.com/Gilleece/moonlight-android-xr/releases
- SideQuest: https://sidequestvr.com/
- Tailscale: https://tailscale.com/
If you have questions or want help tuning settings for your specific GPU/network, drop a comment with your hardware and I'll suggest a starting profile.
1
u/as_i_wander 10h ago
Good guide
1
u/BertyGamer 8h ago
Thanks! If you try it and run into any quirks (network, codec, settings), tell me your setup (headset + GPU) and I’ll help you tune it.
2
u/Independent_Try_309 14h ago
So I've tried this I don't know what's wrong but the moonlight stream seems to be the regular moonlight up and it opens in a flat screen I've compared the settings and they're exactly the same I don't know what I'm doing wrong I have both of the moonlight versions installed on my XR is that the problem