Skip to content

CI Pipeline Improvements for Cross-Platform Support #1002

@tustanivsky

Description

@tustanivsky

Current State

The existing CI pipeline supports Windows and Linux platforms using pre-built Docker images:

This Docker-based approach works well for these platforms but creates significant limitations for expanding current platform coverage.

Problem Statement

The current Docker-based CI approach cannot scale to support additional critical platforms:

  • macOS/iOS: No official macOS Docker images exist, making dockerized macOS Unreal Engine builds problematic
  • Android: Current unreal-docker tooling doesn't provide mechanisms for introducing additional platform support

Proposed Solution

Transition to custom engine builds with cloud-based distribution:

  • Build Unreal Engine from source in CI for each target platform
  • Upload built engines as ZIP archives to cloud storage (e.g., GCS bucket)
  • Other CI workflows can pull these pre-built engines for packaging and testing

This approach has proven feasible in similar contexts:

  • Distributing installed build of the engine for Sentry's console plugin extensions on a dedicated CI build server
  • Cesium Unreal uses this same pattern effectively

Expected Outcomes

  • Full Platform Coverage: Enable CI support for macOS, iOS, and Android platforms
  • Scalable Architecture: Easily add new platforms without Docker limitations
  • Improved Test Coverage: Comprehensive cross-platform testing capabilities
  • Reduced Maintenance: Eliminate Docker-specific workarounds and limitations

Related issues

Metadata

Metadata

Assignees

No one assigned

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions