Skip to content
View adamrehn's full-sized avatar
🌧️
Drowning in work and slow to respond.
🌧️
Drowning in work and slow to respond.

Organizations

@EpicGames @TensorWorks @UE4Research @UnrealContainers

Block or report adamrehn

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
adamrehn/README.md

Contents

About me

I'm Dr Adam Rehn, a scientific researcher and software developer living in Cairns, Australia. I run the applied research company TensorWorks and I am actively involved in our ongoing collaboration with Epic Games. To the best of my knowledge, I am considered the world's foremost expert on Unreal Engine containers, as a result of both my role as creator and primary maintainer of the projects and initiatives listed in the Unreal Engine projects section below, and my involvement in bringing official container support to the Unreal Engine. I am passionate about automation, tooling and infrastructure, with a current focus on integrating the Unreal Engine with cloud native technologies.

You can find more details regarding my education and employment history in my curriculum vitae. I am not actively seeking new employment opportunities at the current time.

Unreal Engine projects

Community websites and educational resources

  • unrealcontainers.github.io: the source code for the Unreal Containers community hub, which acts as the central hub for developers running the Unreal Engine inside containers. The hub provides comprehensive documentation and community-curated educational resources, social links, and a list of support providers who offer professional assistance in using Unreal Engine containers.

  • ue4research.github.io: the source code for the Unreal Engine For Research ("UE4Research") project website, which provides information and community resources for academics or industry researchers who wish to use the Unreal Engine to conduct scientific research. The site includes a list of resources for getting started, a literature review of publications which cite the Unreal Engine, and a discussion of the rationale for utilising the Unreal Engine within various research use cases.

Container-related infrastructure projects

  • ue4-docker: command-line tool and accompanying Dockerfiles that provides functionality for building both Windows and Linux container images for the Unreal Engine.

  • ue4-runtime: a set of Linux container images that provide minimal, pre-configured environments for running packaged Unreal Engine projects with full GPU acceleration via the NVIDIA Container Toolkit.

Build tooling infrastructure projects

  • ue4cli: library and associated command-line tool that provides a convenient and platform-agnostic interface for working with the Unreal Engine. Commands are provided for key workflow tasks relating to Unreal projects and plugins, and for querying the details of third-party libraries that are bundled with the Unreal Engine.

  • conan-ue4cli: a plugin for ue4cli that provides functionality for integrating third-party libraries into Unreal Engine projects and plugins using the Conan C++ package management system.

  • ue4-conan-recipes: contains the default recipes that ship with conan-ue4cli. Includes recipes for a growing number of popular open source libraries and frameworks.

  • ue4-ci-helpers: a Python package designed to provide abstractions that simplify the process of writing platform-agnostic build scripts for Unreal projects and plugins, which can be run as part of Continuous Integration (CI) pipelines.

Examples and demonstrations

  • ue4-example-dockerfiles: a collection of example Dockerfiles that demonstrate various uses of Unreal Engine containers, including building projects and plugins, packaging dedicated servers, and packaging projects that use Pixel Streaming for Linux.

  • ue4-grpc-demo: an example project with accompanying Dockerfiles demonstrating how to build a simple Unreal-based microservice that uses Google's popular gRPC framework for communication, and run the microservice inside a Linux container. (Note that this demo has not yet been updated to reflect the extensive overhaul of conan-ue4cli that occurred in early 2020.)

  • ue4-opencv-demo: an old example project demonstrating how to use conan-ue4cli to build a custom OpenCV package that links against the Unreal-bundled versions of zlib and libpng, and then consume the custom-built OpenCV package in a simple Unreal project. (Note that this demo has not yet been updated to reflect the extensive overhaul of conan-ue4cli that occurred in early 2020.)

  • ue4-cloud-rendering-demo: [DEPRECATED, REPLACED BY CONTAINER SUPPORT FOR PIXEL STREAMING IN UNREAL ENGINE 4.27] An old example project with accompanying Dockerfiles that demonstrates how to use the deprecated UE4Capture plugin inside GPU-accelerated Linux containers to stream audio and video to a web browser via WebRTC. Unreal Engine 4.27 introduced an equivalent demo (which was also written by me) that uses Docker Compose to run a Pixel Streaming application in the official Unreal Engine container images.

Multimedia streaming

  • pixel-streaming-linux: this repository acts as the public issue tracker for Pixel Streaming For Linux. Note that this repository does not contain the actual source code for the Linux implementation of Pixel Streaming, which is stored in the various branches of my fork of the official Unreal Engine repository. (You will need to be logged in with a GitHub account that has been granted access to the upstream Unreal Engine repository in order to access the fork.)

  • UE4Capture: [DEPRECATED, REPLACED BY LINUX SUPPORT FOR PIXEL STREAMING IN UNREAL ENGINE 4.27] An old proof-of-concept prototype that provided a cross-platform implementation of audio and framebuffer capture, designed for use with standardised streaming protocols such as WebRTC. This plugin predated the release of Epic's official Pixel Streaming system by several months, and development was discontinued when Pixel Streaming was unveiled.

Miscellaneous projects

  • ue4-utils: a collection of assorted utilities for working with or understanding the internals of Unreal Engine 4. The most useful tool in this collection is switchfinder, which assists in identifying all of the Unreal Engine's supported command-line switches (many of which are undocumented.)

Container utilities (not specific to the Unreal Engine)

  • docker-shell: command-line tool that makes it quick and easy to start interactive shells inside both Windows and Linux containers while automatically bind-mounting the current working directory from the host system. Automatically activates common features when supported by the host system (e.g GPU acceleration) and highly configurable using Docker image labels. See the developer-images repository for examples of container images designed for use with docker-shell.

  • dll-diagnostics: command-line tool that provides functionality to assist in identifying the DLL dependencies of an application or library and diagnosing dependency loading issues. Primarily intended for use when migrating existing applications to Windows containers, where traditional GUI-based tools are unavailable.

Research-related projects

Other utilities

  • gen-invoice: library and associated command-line tool that provides a flexible, template-driven system for generating invoices and quotes in both HTML and PDF format.

  • mergetiff (Python version) and mergetiff (C++ version): libraries and associated command-line tool that provides functionality to merge raster bands from multiple GeoTiff files into a single dataset. Primarily useful when working with multispectral image data or raster bands representing per-pixel labels for training machine learning models.

Pinned Loading

  1. ue4-docker ue4-docker Public

    Windows and Linux containers for Unreal Engine 4

    Python 790 174

  2. ue4cli ue4cli Public

    Command-line interface for Unreal Engine 4

    Python 253 48

  3. conan-ue4cli conan-ue4cli Public

    Integrate third-party libraries into the Unreal Engine with Conan

    Python 87 20

  4. docker-shell docker-shell Public

    Docker Interactive Shell Runner

    Python 4 1

  5. dll-diagnostics dll-diagnostics Public

    Tools for diagnosing DLL dependency loading issues

    Python 37 6

  6. charcoal-morphotypes charcoal-morphotypes Public

    Fossil charcoal particle identification and classification by two convolutional neural networks

    Python 3 1