<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Powershell on Maceage's Blog</title><link>https://blog.maceage.com/tags/powershell/</link><description>Recent content in Powershell on Maceage's Blog</description><generator>Hugo</generator><language>en-au</language><copyright>© Graham Mace</copyright><lastBuildDate>Sun, 06 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.maceage.com/tags/powershell/index.xml" rel="self" type="application/rss+xml"/><item><title>Automated Unreal Engine Build Server on AWS Part 3: Build</title><link>https://blog.maceage.com/posts/2026/automated-unreal-engine-build-server-on-aws-3/</link><pubDate>Sun, 06 Sep 2026 00:00:00 +0000</pubDate><guid>https://blog.maceage.com/posts/2026/automated-unreal-engine-build-server-on-aws-3/</guid><description>&lt;p&gt;This is the final part of the series, continuing from creating a &lt;a href="https://blog.maceage.com/posts/2026/automated-unreal-engine-build-server-on-aws-1/"&gt;GitHub self-hosted runner base AMI&lt;/a&gt; and &lt;a href="https://blog.maceage.com/posts/2026/automated-unreal-engine-build-server-on-aws-2/"&gt;creating an AMI with a specific version of Unreal Engine&lt;/a&gt;. Everything now comes together: a published GitHub Release triggers a Spot Instance, which registers itself as a self-hosted runner, builds the project, uploads artefacts to S3, and tears itself down.&lt;/p&gt;&#10;&lt;p&gt;As always, the full code lives at: &lt;a href="https://github.com/sawnoff-studios/unreal-build-server-image" target="_blank"&gt;sawnoff-studios/unreal-build-server-image&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="contents"&gt;Contents&lt;/h1&gt;&#10;&lt;p&gt;This post covers how to use an EC2 Spot Instance GitHub Actions self-hosted runner:&lt;/p&gt;</description></item><item><title>Automated Unreal Engine Build Server on AWS Part 2: Unreal AMI</title><link>https://blog.maceage.com/posts/2026/automated-unreal-engine-build-server-on-aws-2/</link><pubDate>Fri, 04 Sep 2026 00:00:00 +0000</pubDate><guid>https://blog.maceage.com/posts/2026/automated-unreal-engine-build-server-on-aws-2/</guid><description>&lt;p&gt;This post continues from &lt;a href="https://blog.maceage.com/posts/2026/automated-unreal-engine-build-server-on-aws-1/"&gt;Part 1&lt;/a&gt;, where I created a base AMI with build tools installed. Now I&amp;rsquo;ll cover two critical pieces:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;A Lambda function&lt;/strong&gt; that automatically retrieves GitHub runner tokens (solving the token expiry problem)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;An AMI with a specific Unreal Engine version&lt;/strong&gt; installed, ready for GitHub Actions builds&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;The complete code repository is available at: &lt;a href="https://github.com/sawnoff-studios/unreal-build-server-image" target="_blank"&gt;sawnoff-studios/unreal-build-server-image&lt;/a&gt;&lt;/p&gt;&#10;&lt;h1 id="contents"&gt;Contents&lt;/h1&gt;&#10;&lt;p&gt;This post covers the Lambda used for retrieving self-hosted runner tokens from GitHub, as well as using the base AMI to install a specific version of Unreal Engine for building projects&lt;/p&gt;</description></item><item><title>Automated Unreal Engine Build Server on AWS Part 1: Base AMI</title><link>https://blog.maceage.com/posts/2026/automated-unreal-engine-build-server-on-aws-1/</link><pubDate>Wed, 02 Sep 2026 00:00:00 +0000</pubDate><guid>https://blog.maceage.com/posts/2026/automated-unreal-engine-build-server-on-aws-1/</guid><description>&lt;p&gt;After completing my &lt;a href="https://blog.maceage.com/posts/2025/completing-my-unreal-engine-course/"&gt;CG Spectrum Unreal Engine course&lt;/a&gt;, I wanted to automate the build and release process for my &lt;a href="https://blog.maceage.com/posts/2026/graveyard-gunner/"&gt;game prototype&lt;/a&gt;. While building locally, zipping artefacts, and uploading somewhere would have worked, I aimed for something more robust: trigger a GitHub release that automatically provisions a Spot Instance, builds the project, and uploads results to S3.&lt;/p&gt;&#10;&lt;h3 id="the-problem"&gt;The Problem&lt;/h3&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/sawnoff-studios/unreal-build-server" target="_blank"&gt;My initial approach&lt;/a&gt; involved manually configuring an EC2 instance, installing dependencies by hand, and registering a GitHub self-hosted runner. I created an AMI from that instance and configured GitHub Actions to use it.&lt;/p&gt;</description></item></channel></rss>