Overview
CloudDeployer is an editor-only tool. It never ships in your game: it helps you put the dedicated servers of your game on AWS and operate them. Every request runs on a background thread with automatic retries, so the editor never freezes.
- CloudFormation: validate, create, update, delete, describe and list stacks, read events, outputs and resources, change sets, cost estimates, and Deploy Stack (create-or-update and wait, streaming the events).
- Three Alpha XP templates in the plugin's
Templatesfolder: an ECS Fargate dedicated-server service, an EC2 Auto Scaling game-server fleet and an ECR repository with a lifecycle policy. - ECR + Docker: repositories, images, lifecycle policies, Docker Login To ECR (password through stdin only), Build And Push Image with live output and Generate Dockerfile For Linux Server for your packaged LinuxServer build.
- ECS: clusters, Fargate task definitions (ports, environment, logs, roles), services (create / update / scale / delete), standalone tasks for match servers, and Get Task Public IP.
- EC2 and Auto Scaling: instances (start / stop / reboot / terminate), regions, zones, images, security groups and ingress rules, key pairs saved to a file, VPCs and subnets for template parameters; Auto Scaling sizes, activities and process suspension.
- The CloudDeployer tab (Window > Tools > Alpha XP > CloudDeployer): stack list, deploy panel, live event log, outputs and quick actions.
- Credentials from your AWS CLI configuration (named profiles, SSO, credential_process, assume-role), static keys or a Cognito identity pool; Get Caller Identity checks them in one click.
- Every destructive node needs
bConfirm = true.
Requirements
| Requirement | Details |
|---|---|
| Unreal Engine | 4.27 and 5.8 (editor) |
| Platform | Win64 editor. The plugin has one Editor module and is not packaged into games. |
| Modules | CloudDeployer (Editor), CloudDeployerSdk (prebuilt AWS SDK for C++ 1.11.916 in Source/ThirdParty) |
| AWS | An AWS account and credentials with the permissions listed below. Resources you create are billed by AWS. |
| Docker (optional) | Docker Desktop for the Docker nodes (image build and push). Building Linux server images also needs a packaged Linux server build of your project. |
Installation
- Install CloudDeployer from Fab into your engine, or copy the
CloudDeployerfolder into your project'sPluginsfolder. - Enable CloudDeployer in Edit > Plugins and restart the editor.
- Open Project Settings > Plugins > CloudDeployer and set the Region. Leave Credential Mode on Default Credential Chain and, if you use several AWS profiles, enter the Profile Name.
- Open Window > Tools > Alpha XP > CloudDeployer and press Who Am I: it shows the account and role the editor uses.
Saved/Config), never in the project's Config folder, so profiles and keys do not end up in source control.Setting up AWS
- Install the AWS CLI and run
aws configure(access keys) oraws configure sso+aws sso login. CloudDeployer reads the same~/.aws/credentialsand~/.aws/configfiles. - Use a user or role made for deployments. The policy below covers every node; remove the groups you do not use. Templates also need the permissions of the resources they create (CloudFormation calls them with your credentials).
{
"Version": "2012-10-17",
"Statement": [
{ "Sid": "Identity", "Effect": "Allow", "Action": ["sts:GetCallerIdentity"], "Resource": "*" },
{ "Sid": "CloudFormation", "Effect": "Allow",
"Action": ["cloudformation:ValidateTemplate", "cloudformation:EstimateTemplateCost",
"cloudformation:CreateStack", "cloudformation:UpdateStack", "cloudformation:DeleteStack",
"cloudformation:DescribeStacks", "cloudformation:ListStacks", "cloudformation:DescribeStackEvents",
"cloudformation:ListStackResources", "cloudformation:CreateChangeSet", "cloudformation:DescribeChangeSet",
"cloudformation:ExecuteChangeSet", "cloudformation:DeleteChangeSet"],
"Resource": "*" },
{ "Sid": "ECR", "Effect": "Allow",
"Action": ["ecr:GetAuthorizationToken", "ecr:CreateRepository", "ecr:DeleteRepository", "ecr:DescribeRepositories",
"ecr:DescribeImages", "ecr:ListImages", "ecr:BatchDeleteImage", "ecr:PutLifecyclePolicy",
"ecr:BatchCheckLayerAvailability", "ecr:InitiateLayerUpload", "ecr:UploadLayerPart",
"ecr:CompleteLayerUpload", "ecr:PutImage", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer",
"ecr:PutImageScanningConfiguration", "ecr:TagResource"],
"Resource": "*" },
{ "Sid": "ECS", "Effect": "Allow",
"Action": ["ecs:ListClusters", "ecs:DescribeClusters", "ecs:CreateCluster", "ecs:DeleteCluster",
"ecs:RegisterTaskDefinition", "ecs:ListTaskDefinitions", "ecs:DescribeTaskDefinition",
"ecs:DeregisterTaskDefinition", "ecs:CreateService", "ecs:UpdateService", "ecs:DeleteService",
"ecs:DescribeServices", "ecs:ListServices", "ecs:RunTask", "ecs:StopTask", "ecs:ListTasks",
"ecs:DescribeTasks", "ecs:TagResource"],
"Resource": "*" },
{ "Sid": "PassTaskRoles", "Effect": "Allow", "Action": "iam:PassRole",
"Resource": "arn:aws:iam::123456789012:role/mygame-*",
"Condition": { "StringEquals": { "iam:PassedToService": ["ecs-tasks.amazonaws.com", "ec2.amazonaws.com"] } } },
{ "Sid": "EC2", "Effect": "Allow",
"Action": ["ec2:DescribeInstances", "ec2:StartInstances", "ec2:StopInstances", "ec2:RebootInstances",
"ec2:TerminateInstances", "ec2:DescribeRegions", "ec2:DescribeAvailabilityZones", "ec2:DescribeImages",
"ec2:DescribeSecurityGroups", "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateKeyPair",
"ec2:DescribeKeyPairs", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeNetworkInterfaces"],
"Resource": "*" },
{ "Sid": "AutoScaling", "Effect": "Allow",
"Action": ["autoscaling:DescribeAutoScalingGroups", "autoscaling:SetDesiredCapacity",
"autoscaling:UpdateAutoScalingGroup", "autoscaling:DescribeScalingActivities",
"autoscaling:SuspendProcesses", "autoscaling:ResumeProcesses"],
"Resource": "*" }
]
}
Per node group: Stacks / Change Sets / Templates need the CloudFormation statement (plus the template's own resource permissions: ecs:*, ec2:*SecurityGroup*, iam:CreateRole / iam:AttachRolePolicy / iam:PassRole / iam:DeleteRole / iam:*InstanceProfile*, logs:CreateLogGroup / logs:PutRetentionPolicy / logs:DeleteLogGroup, ec2:*LaunchTemplate*, autoscaling:CreateAutoScalingGroup / DeleteAutoScalingGroup, ssm:GetParameters for the AMI parameter, ecr:SetRepositoryPolicy). ECR and Docker need the ECR statement (the layer actions are what docker push uses). ECS needs the ECS statement and iam:PassRole on the execution / task roles. EC2, Auto Scaling and Get Caller Identity need their statements. Read-only use (the tab's stack list and logs) only needs the Describe / List / Get actions.
NotConfirmed). The tab asks before deleting a stack.Quick start
Dedicated servers on Fargate in four steps
- Repository: in the tab pick
EcrRepository, stack namemygame-ecr, press Validate (parameters appear), setRepositoryName=mygame-server, press Deploy. When it isCREATE_COMPLETE, copy theRepositoryUrioutput. - Image: package your project for Linux (server target). In an Editor Utility Blueprint: Generate Dockerfile For Linux Server (Project Name, Port 7777) → save it as
Dockerfilein theLinuxServerfolder (Save String To File) → Build And Push Image with Context Folder = that folder and Image Uri = Make Image Uri(RepositoryUri,1.0). On Output shows every Docker line. - Network: Describe Vpcs (take the default VPC) and Describe Subnets (public subnets: Map Public Ip On Launch = true).
- Servers: in the tab pick
EcsFargateServer, stack namemygame-servers, Validate, fillImageUri,VpcId,Subnets(comma separated), keep Allow IAM checked and press Deploy. The event log follows the deployment. Then List Tasks + Get Task Public IP give the address players connect to (open 1.2.3.4:7777).
The same from Blueprints
Get Bundled Template(EcsFargateServer) → Deploy Stack(Stack Name, Template Body, Parameters map, Capabilities = Named IAM). On Event fires for every stack event, On Succeeded carries the stack with its Outputs (Get Stack Output Value ClusterName). New server version: push the image with a new tag and call Deploy Stack again with only ImageUri in Parameters — the other parameters keep their values.
One server per match
Use the stack's TaskDefinitionArn output with Run Task (Count 1, Network = the stack's subnets and SecurityGroupId, Environment Overrides = map / session id), then poll Get Task Public IP until it succeeds (the error is retryable while the task starts) and Stop Task when the match is over.
The CloudDeployer tab
- Region / Profile / Apply: switch region and AWS profile for this editor session. Who Am I shows the account and ARN of the credentials. Refresh Stacks reloads the stack list.
- Stack list: every live stack of the region with status (green complete, amber in progress, red failed / rolled back), last update and description. Select one to load its event log and outputs; stacks that are in progress are followed automatically.
- Deploy panel: pick a bundled template or Load File... for your own, enter the stack name, Validate lists the template's parameters as
Key=Valuelines (values you already typed are kept), Deploy creates the stack or updates it when it exists. Allow IAM grants CAPABILITY_IAM / NAMED_IAM / AUTO_EXPAND. - Selected stack: Follow events polls every Stack Poll Interval until the stack reaches a final status; Copy Outputs, Open in Console and Delete Stack... (with confirmation).
Bundled templates
| Name | Creates | Key parameters | Outputs |
|---|---|---|---|
| EcsFargateServer | ECS cluster (Fargate + Fargate Spot), log group, execution and task roles, security group (UDP + TCP game port), task definition, service | ProjectName, ImageUri, GamePort, Cpu, Memory, DesiredCount, VpcId, Subnets, AllowedCidr, AssignPublicIp, UseFargateSpot, LogRetentionDays, ServerArguments | ClusterName, ServiceName, TaskDefinitionArn, SecurityGroupId, LogGroupName, ExecutionRoleArn |
| Ec2GameFleet | Instance role + profile (Session Manager), security group (game port, optional SSH), launch template with a user-data installer, Auto Scaling group | ProjectName, ImageId (SSM path, Amazon Linux 2023), InstanceType, KeyName, VpcId, Subnets, GamePort, SshCidr, Min / Max / Desired, ServerArchiveUrl, ServerTarget, ServerArguments | AutoScalingGroupName, LaunchTemplateId, SecurityGroupId, InstanceRoleArn |
| EcrRepository | ECR repository with scan-on-push and a lifecycle policy | RepositoryName, KeepLastImages, UntaggedExpiryDays, ScanOnPush, ImageTagMutability | RepositoryUri, RepositoryArn, RepositoryName |
The fleet template downloads ServerArchiveUrl (a .zip of the packaged LinuxServer folder, for example a presigned S3 URL) on every instance, unpacks it to /opt/server and runs <ServerTarget>.sh as a systemd service under a non-root user. The templates are plain YAML: copy one, change it and deploy it with Load File.
Docker images
Generate Dockerfile For Linux Server writes a Dockerfile for the packaged LinuxServer folder: Ubuntu base, a non-root ue user (Unreal servers refuse to run as root), executable bits restored (files copied from Windows lose them), EXPOSE of the game port, ENTRYPOINT = the server script and default arguments -log -port=7777 (ECS Command overrides them). Build And Push Image logs in to ECR, runs docker build --progress=plain --platform linux/amd64 and docker push; every output line arrives on On Output. The ECR password is written to Docker's standard input, never to a command line or a log.
Node reference (90 nodes)
Latent nodes (Latent) run in the background, can be stopped with Cancel and fire one final pin on the game thread (Wait For Stack, Deploy Stack and the Docker nodes also fire progress pins). Every Error output is an FCloudDeployerError (Code, Message, Http Status, Retryable). Cluster inputs take a name or ARN; empty = the settings' Default Cluster. Use the nodes in Editor Utility Blueprints and Editor Utility Widgets.
Config and identity
| Node | Kind | Inputs | Outputs | Purpose |
|---|---|---|---|---|
| Set Region | Callable | Region | — | Region of every following request. |
| Set Credential Mode | Callable | Mode | — | Default chain, static keys or Cognito identity pool. |
| Set Profile | Callable | Profile Name | — | Named AWS CLI profile (static keys, SSO, process, assume-role); switches to the default chain. |
| Set Login Token | Callable | Provider, Token | — | Cognito login (Cognito mode). |
| Clear Login Tokens | Callable | — | — | Forgets logins and the Cognito identity. |
| Set Static Credentials | Callable | Access Key Id, Secret Access Key, Session Token | — | In-memory keys for this session. |
| Get Identity Id | Pure | — | Identity Id | Cognito identity id (Cognito mode). |
| Make User Pool Provider Name | Pure | Region, User Pool Id | Provider | Login key of a Cognito user pool. |
| Is Configured | Pure | — | Result, Problem | Checks the settings and the SDK library. |
| Resolve Identity | Latent | Force Refresh | On Success / On Failure (Result, Error) | Resolves the credentials now. |
| Get Caller Identity | Latent | — | On Success / On Failure (Identity, Error) | Account, ARN and user id of the credentials (STS). |
| Cancel | Callable | Target (any latent node) | — | Stops waiting; stops Docker commands and stack waits. |
| Is Finished | Pure | Target | Result | True after the node finished or was cancelled. |
Stacks and change sets (CloudFormation)
| Node | Kind | Inputs | Outputs | Purpose |
|---|---|---|---|---|
| Validate Template | Latent | Template Body, Template Url | On Success / On Failure (Template, Error) | Parameters with defaults, description, required capabilities. |
| Create Stack | Latent | Stack Name, Template Body, Template Url, Parameters, Capabilities, Tags, On Failure, Timeout Minutes, Termination Protection | On Success / On Failure (Result = Stack Id, Error) | Starts a stack creation. |
| Update Stack | Latent | Stack Name, Template Body, Template Url, Parameters, Capabilities, Use Previous Template | Result = Stack Id or NO_CHANGES | Updates; parameters left out keep their values. |
| Delete Stack | Latent | Stack Name, Confirm, Retain Resources | Result, Error | Deletes a stack and its resources. |
| Deploy Stack | Latent | Stack Name, Template Body, Parameters, Capabilities, Tags, Poll Interval Seconds, Timeout Seconds | On Succeeded / On Failed / On Progress (Stack, Error), On Event (Event) | Create-or-update, then wait with live events. |
| Wait For Stack | Latent | Stack Name, Poll Interval Seconds, Timeout Seconds | On Succeeded / On Failed / On Progress, On Event | Waits for a final status; a vanished stack during delete = DELETE_COMPLETE. |
| Describe Stacks | Latent | Stack Name (empty = all) | On Success / On Failure (Stacks, Error) | Status, parameters, outputs, tags. |
| List Stacks | Latent | Status Filter | Stacks, Error | Summaries including deleted stacks (90 days). |
| Describe Stack Events | Latent | Stack Name, Since, Max Events | Events, Error | Event log, oldest first. |
| Get Stack Outputs | Latent | Stack Name | Outputs, Error | The stack's Outputs. |
| Get Stack Resources | Latent | Stack Name | Resources, Error | Resources with physical ids and status. |
| Create Change Set | Latent | Stack Name, Change Set Name, Template Body, Template Url, Parameters, Capabilities, For New Stack | Result = change set id | Preview of a create / update. |
| Describe Change Set | Latent | Stack Name, Change Set Name | Change Set, Error | Status and planned resource changes (replacement). |
| Execute Change Set | Latent | Stack Name, Change Set Name | Result, Error | Applies the change set. |
| Delete Change Set | Latent | Stack Name, Change Set Name | Result, Error | Discards it. |
| Estimate Template Cost | Latent | Template Body, Template Url, Parameters | Result = calculator URL | Monthly cost estimate link. |
| Get Bundled Template | Callable | Name | Result, Template Body | Reads EcsFargateServer / Ec2GameFleet / EcrRepository. |
| List Bundled Templates | Pure | — | Names | Templates shipped with the plugin. |
| Load Template File | Callable | Path | Result, Template Body | Reads your own template. |
| Get Stack Output Value | Pure | Outputs, Key | Result, Value | One output by key. |
| Is Terminal Stack Status | Pure | Status | Result, Succeeded | Final status and success test. |
| Get Stack Console Url | Pure | Stack Name Or Id, Region | Url | AWS console link (open with Launch URL). |
ECR and Docker
| Node | Kind | Inputs | Outputs | Purpose |
|---|---|---|---|---|
| Create Repository | Latent | Repository Name, Scan On Push, Immutable Tags | Result = repository URI | New image repository. |
| Delete Repository | Latent | Repository Name, Confirm, Force | Result, Error | Deletes it (Force: with images). |
| Describe Repositories | Latent | Names | Repositories, Error | URI, ARN, settings. |
| Describe Images | Latent | Repository Name, Max Results | Images, Error | Tags, size, push time, newest first. |
| List Images | Latent | Repository Name, Tag Status | Images, Error | Digests and tags (fast). |
| Batch Delete Image | Latent | Repository Name, Tags, Digests, Confirm | Result = deleted count | Deletes images. |
| Put Lifecycle Policy | Latent | Repository Name, Policy Json | Result, Error | Cleanup rules. |
| Get ECR Authorization Token | Latent | — | Auth (Registry Url, User Name, Password, Expires At) | Docker credentials (12 h). Never log the password. |
| Make Image Uri | Pure | Repository, Tag, Account Id, Region | Uri | registry/repository:tag or @digest. |
| Make Lifecycle Policy | Pure | Keep Last Tagged, Expire Untagged After Days, Tag Prefix | Policy JSON | Ready-made lifecycle policy. |
| Is Docker Available | Latent | — | On Succeeded / On Failed (Result, Error), On Output | Docker CLI and engine check (Result.Value = version). |
| Docker Login To ECR | Latent | — | Result, Error, On Output | docker login --password-stdin to the account registry. |
| Build And Push Image | Latent | Context Folder, Dockerfile, Image Uri, Platform, Build Args, Login, Push | On Succeeded / On Failed (Result, Error), On Output (Line) | docker build + push with live output. |
| Generate Dockerfile For Linux Server | Pure | Project Name, Server Target, Port, Base Image, Extra Args, Tcp Port | Dockerfile text | Dockerfile for a packaged LinuxServer build. |
ECS
| Node | Kind | Inputs | Outputs | Purpose |
|---|---|---|---|---|
| List Clusters | Latent | — | Clusters, Error | Clusters with task / service counts. |
| Create Cluster | Latent | Cluster Name | Result = ARN | Cluster with FARGATE and FARGATE_SPOT. |
| Delete Cluster | Latent | Cluster, Confirm | Result, Error | Deletes an empty cluster. |
| Register Task Definition | Latent | Spec (family, CPU, memory, image, ports, environment, command, logs, roles, ARM64) | Task Definition, Error | Fargate server task revision. |
| List Task Definitions | Latent | Family Prefix, Max Results | Values (ARNs), Error | Newest first. |
| Describe Task Definition | Latent | Task Definition | Task Definition, Error | One revision. |
| Deregister Task Definition | Latent | Task Definition, Confirm | Result, Error | Marks a revision inactive. |
| Create Service | Latent | Cluster, Service Name, Task Definition, Desired Count, Launch Type, Network | Result = ARN | Keeps N servers running. |
| Update Service | Latent | Cluster, Service, Task Definition, Desired Count, Force New Deployment | Result, Error | Rolls to a new revision / count. |
| Scale Service | Latent | Cluster, Service, Desired Count | Result, Error | Number of server tasks. |
| Delete Service | Latent | Cluster, Service, Confirm, Force | Result, Error | Deletes the service. |
| Describe Services | Latent | Cluster, Services | Services, Error | Counts, rollout state, recent events. |
| Run Task | Latent | Cluster, Task Definition, Count, Launch Type, Network, Container Name, Environment Overrides, Started By | Tasks, Error | Standalone (match) servers. |
| Stop Task | Latent | Cluster, Task, Confirm, Reason | Result, Error | Stops one task. |
| List Tasks | Latent | Cluster, Service Name, Stopped | Values (ARNs), Error | Task ARNs. |
| Describe Tasks | Latent | Cluster, Tasks | Tasks, Error | Status, private IP, network interface. |
| Get Task Public IP | Latent | Cluster, Task | Result = IPv4 | Address players connect to. |
EC2
| Node | Kind | Inputs | Outputs | Purpose |
|---|---|---|---|---|
| Describe Instances | Latent | Instance Ids, Filters | Instances, Error | State, IPs, tags. |
| Start Instances | Latent | Instance Ids | Changes, Error | Starts instances. |
| Stop Instances | Latent | Instance Ids, Force | Changes, Error | Stops instances. |
| Reboot Instances | Latent | Instance Ids | Result, Error | Reboots instances. |
| Terminate Instances | Latent | Instance Ids, Confirm | Changes, Error | Terminates instances. |
| Describe Regions | Latent | All Regions | Values, Error | Region names. |
| Describe Availability Zones | Latent | — | Values, Error | Zones of the region. |
| Describe Images (AMI) | Latent | Owners, Filters, Max Results | Images, Error | Machine images, newest first. |
| Describe Security Groups | Latent | Group Ids, Filters | Groups, Error | Groups with inbound rules. |
| Authorize Security Group Ingress | Latent | Group Id, Protocol, From Port, To Port, Cidr, Description | Result = rule id | Opens a port range (duplicates = success). |
| Create Key Pair | Latent | Key Name, Save Path, Ed25519, Putty Format, Overwrite | Result = saved path | Creates a key and saves the private key file. |
| Describe Key Pairs | Latent | — | Key Pairs, Error | Key names for templates. |
| Describe Vpcs | Latent | Filters | Vpcs, Error | VPCs (default flagged). |
| Describe Subnets | Latent | Vpc Id, Filters | Subnets, Error | Subnets by zone, public flag. |
Auto Scaling
| Node | Kind | Inputs | Outputs | Purpose |
|---|---|---|---|---|
| Describe Auto Scaling Groups | Latent | Names | Groups, Error | Sizes, instances, suspended processes. |
| Set Desired Capacity | Latent | Group Name, Desired Capacity, Honor Cooldown | Result, Error | Fleet size. |
| Update Auto Scaling Group | Latent | Group Name, Min Size, Max Size, Desired Capacity | Result, Error | Limits (-1 = keep). |
| Describe Scaling Activities | Latent | Group Name, Max Records | Activities, Error | Recent launches and terminations. |
| Suspend Processes | Latent | Group Name, Processes | Result, Error | Pauses scaling processes. |
| Resume Processes | Latent | Group Name, Processes | Result, Error | Resumes them. |
Editor
| Node | Kind | Inputs | Outputs | Purpose |
|---|---|---|---|---|
| Open CloudDeployer Tab | Callable | — | — | Opens the tab. |
| Open File Dialog | Callable | Title, Default Path, File Types | Result, Path | Native file picker. |
| Open Folder Dialog | Callable | Title, Default Path | Result, Folder | Native folder picker. |
| Save File Dialog | Callable | Title, Default Path, Default File, File Types | Result, Path | Native save-as dialog. |
Types
| Type | Kind | Members |
|---|---|---|
| FCloudDeployerError | Struct | Code, Message, Http Status, Retryable |
| FCloudDeployerStack | Struct | Stack Name, Stack Id, Status, Status Reason, Description, Creation / Last Updated Time, Parameters, Outputs, Tags, Capabilities, Termination Protection |
| FCloudDeployerStackEvent / Resource / Output | Struct | Event log entries, stack resources, outputs |
| FCloudDeployerTemplateInfo / ChangeSet | Struct | Validate Template result; change set with resource changes |
| FCloudDeployerRepository / Image / EcrAuth / ProcessResult | Struct | ECR repositories, images, Docker credentials, Docker command results |
| FCloudDeployerCluster / TaskDefinitionSpec / TaskDefinition / NetworkConfig / Service / Task / PortMapping | Struct | ECS inputs and results |
| FCloudDeployerInstance / InstanceStateChange / Ami / SecurityGroup / IngressRule / KeyPair / Vpc / Subnet | Struct | EC2 results |
| FCloudDeployerAutoScalingGroup / ScalingActivity / CallerIdentity | Struct | Auto Scaling and STS results |
| ECloudDeployerCapabilities / OnFailure / LaunchType / TagStatus / CredentialMode | Enum | Node options |
Settings
Project Settings > Plugins > CloudDeployer (saved per user).
| Setting | Default | Meaning |
|---|---|---|
| Region | us-east-1 | Region of all requests and of the tab. |
| Credential Mode | Default Credential Chain | AWS CLI configuration / environment; or Static Keys / Cognito Identity Pool. |
| Profile Name | (empty) | Named profile of the default chain. |
| Identity Pool Id, Allow Guest Access | — | Cognito mode. |
| Access Key Id, Secret Access Key | — | Static Keys mode. |
| Endpoint Override, timeouts, retries, worker threads, Verify SSL, Log SDK Warnings | — / 30000 / 5000 / 3 / 4 / on / on | Connection. |
| Stack Poll Interval Seconds | 5 | Status checks of Wait For Stack, Deploy Stack and the tab. |
| Docker Executable | docker | Docker CLI (PATH or full path). |
| Docker Platform | linux/amd64 | Default --platform of Build And Push Image. |
| Default Cluster | (empty) | Cluster of ECS nodes whose Cluster pin is empty. |
| Confirm In Tab | on | Ask before deleting a stack in the tab. |
Troubleshooting
| Error code | Cause and fix |
|---|---|
NoCredentials | The default chain found nothing. Run aws configure or aws sso login --profile X, or set the Profile Name. |
NotConfirmed | A destructive node ran with Confirm = false. |
InsufficientCapabilitiesException | The template creates IAM resources: use Capabilities Named IAM (tab: Allow IAM). |
ValidationError | Template or parameter problem; the message names it. "does not exist" = wrong stack name or region. |
ROLLBACK_COMPLETE | The first creation failed; read the stack events, delete the stack and deploy again. |
AccessDenied / AccessDeniedException / UnauthorizedOperation | The credentials lack a permission (see Setting up AWS). |
DockerNotFound / DockerFailed | Docker Desktop is not installed / not running, or the build failed (see On Output). |
NoNetworkInterface / NoPublicIp | The task is still starting (retry), or it runs without a public IP / in a private subnet. |
Timeout | Wait For Stack / Deploy Stack hit Timeout Seconds; the operation keeps running on AWS. |
Unavailable | The SDK library could not be loaded or the editor is shutting down. Check the Output Log for LogCloudDeployer. |
Credits
© 2026 Alpha XP — alphaxp.net · Support: support@alphaxp.net. Includes the AWS SDK for C++ and the AWS Common Runtime (Apache License 2.0). Built for Unreal Engine 4.27 and 5.8.