Skip to content

Add headless client CI builds and Docker packaging#686

Open
Toys0125 wants to merge 4 commits intoBasisVR:developerfrom
Toys0125:Headless-Client-loadtest
Open

Add headless client CI builds and Docker packaging#686
Toys0125 wants to merge 4 commits intoBasisVR:developerfrom
Toys0125:Headless-Client-loadtest

Conversation

@Toys0125
Copy link
Contributor

Summary

This PR adds a dedicated headless client build and packaging flow for Linux and Windows, plus the runtime changes needed to make those builds usable in Docker-based deployments.

What changed

  • Added GitHub Actions jobs to build headless Unity players for Linux and Windows
  • Added Docker packaging for both headless outputs
  • Added CI sanitization to strip XR/OpenVR/sample content that was breaking headless builds
  • Added a custom Unity headless build entrypoint for server-target builds
  • Updated headless runtime config loading to read environment variables first, then fall back to config.xml
  • Fixed headless input scaling and disconnect handling issues discovered during validation
  • Disabled HDR/URP settings application on server builds
  • Switched the server scripting backend to Mono for dedicated-server compatibility
  • Normalized published headless artifact folder names to HeadlessLinux64 and HeadlessWindows64

Why

The goal of this branch is to make headless client/server builds reproducible in CI and usable in containerized deployments, while still allowing traditional file-based configuration.

In particular:

  • Docker deployments need env-var-driven configuration
  • Headless CI needed project sanitization to avoid XR/OpenVR and sample-content build failures
  • Dedicated server packaging needed stable output folder names and Dockerfiles for both target OSes

Validation

  • Latest GitHub Actions run completed successfully
  • Headless Linux build succeeded
  • Headless Windows build succeeded
  • Docker packaging flow succeeded with the normalized artifact layout

Notes

  • Headless runtime config now supports env vars first for Password, Ip, and Port, with config.xml as fallback
  • The branch is intentionally squashed to a single commit for reviewability

Add Linux and Windows headless Unity builds to CI.

- add headless build matrix and artifact publishing
- add Linux and Windows headless Docker image packaging
- add project sanitization for XR/OpenVR/sample content in headless CI
- add a custom Unity headless build entrypoint
- support env-var-first headless connection config with config.xml fallback
- fix headless input scaling and disconnect handling
- skip HDR/URP runtime changes on server builds
- switch server scripting backend to Mono for dedicated server compatibility
- normalize published headless artifact folder names for Docker packaging
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant