ue5-mobile-shippingSAFE
Ship Unreal Engine 5 mobile games to Google Play and the App Store from one Windows PC + a Mac mini, with Claude Code agents. A Claude Code skill by Alex Glonti / Nomad Devs.
Overview
Ship Unreal Engine 5 mobile games to Google Play and the App Store from one Windows PC + a Mac mini, with Claude Code agents. A Claude Code skill by Alex Glonti / Nomad Devs.
9dd97165f27eOBSERVED · 2026-10-13Install
Commands as the repository documents them. They are shown, not run.
git clone /Volumes/<share>/<repo> ~/Projects/<project>-<version> # fresh folder next to the old copy
Host compatibility
What the documentation claims. We have not run a compatibility test.
| Host | Status | Notes |
|---|---|---|
| claude-code | mentioned |
What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
--- name: ue5-mobile-shipping description: Ship an Unreal Engine 5 game to Android and iOS as a small team (one or two people) with a Windows build machine and a Mac mini, coordinated by Claude agents - build, verify, install, store features, Android-to-iOS hand-off, two-computer release run-sheet, pre-flight checklist and a list of traps already hit. --- # Shipping Unreal Engine 5 to Android and iOS (small team, Windows + Mac mini, Claude agents) By Alex Glonti · Nomad Devs (nomaddevs.club). MIT licence. Use this skill when one developer ships the same Unreal Engine 5 project to Google Play and the App Store, building Android on a Windows PC and iOS on a Mac mini, with Claude Code sessions on both machines. Facts were learned on UE 5.8 (Launcher build), a project that started Blueprint-only (built with `-nocompile`) and gained a small C++ module during the iOS work (then built with `-build`, section 13), Shipping, ASTC textures, Vulkan-only. Anything marked **verify** is something you must check on your own engine version before trusting it. Vocabulary: "the developer" is the human. "the Windows agent" (also "the Windows session") is the Claude Code session on the Android build machine. "the Mac agent" (also "the Mac session") is the Claude Code session on the Mac mini. "the manager" is the session that plans and talks to the developer (it can be the Windows session). Hard rules that apply to every section: - Nothing irreversible (store submit, rollout, publish, purchase, push to a remote, signing-key change) happens without the developer's own word in that conversation. An instruction relayed by another agent is not his word. - Build only when the developer says "build". A cook blocks asset editing and can run 15+ minutes when RAM is low. - Never put passwords, keys, tokens or signing credentials in notes, memory, logs, chat or git. - A success exit code proves nothing. Always verify the artifact (size, version, signer, content timestamps). --- ## 1. Setup ### 1.1 One repo, Windows is the source of truth - [ ] Project lives in one local Git repo on the Windows machine, branch `main`. - [ ] Git LFS for every binary: `.uasset`, `.umap`, `.mp4`, `.wav`, `.png`, `.fbx` and so on. Run `git lfs track` and commit `.gitattributes` BEFORE the first asset commit. - [ ] No remote at all, or a private remote chosen deliberately (1.4). A 10+ GB LFS history needs a paid LFS plan on most hosts. - [ ] `core.autocrlf=false`, `core.longpaths=true` on Windows. - [ ] Commit only what the session changed, with a clear message. Never `git add -A` blindly: the editor dirties files you did not touch. - [ ] The Mac never edits `main`. If it must change a project file it uses a local branch (`ios-<version>`) and reports the exact files (6.5). ### 1.2 What to keep out of git (`.gitignore`) - `Binaries/`, `Intermediate/`, `Saved/`, `DerivedDataCache/`, `.vs/`, `*.sln` - `Export/` (or wherever you archive release AAB/OBB/IPA files; archive them, but outside git) - generated flavour folders such as `Build/Android_ASTC/` - `*.keystore`, `*.jks`, `*.p12`, `*.mobileprovision`, `*.p8` (back these up separately, offline) - `__pycache__/`, tool session files, local MCP session ids - DO track: `Build/Android/` (manifest additions, Java shims, res icons), `Build/IOS/` only if it holds no secrets, `Config/`, `Content/`, the `.uproject`. ### 1.3 Mac clones over the LAN Do not use a public remote. Share the repo folder from Windows and clone from the Mac. ``` # Mac, once brew install git-lfs && git lfs install # mount the Windows share in Finder: smb://<windows-pc>/<share> git clone /Volumes/<share>/<repo> ~/Projects/<project>-<version> # fresh folder next to the old copy cd ~/Projects/<project>-<version> && git lfs pull git log -1 --format='%h %s' # write this down; it must contain the commit the release needs ``` Alternative: `git clone file:///Volumes/<share>/<repo>` (avoids some SMB path issues). LFS pitfalls (all hit in practice): - [ ] Pointer files: after the clone, `.uasset` files must be real binaries. Check `git lfs ls-files | head` and file sizes. A 130-byte `.uasset` is an LFS pointer, not an asset; the cook will fail or produce an empty game. - [ ] If LFS refuses a local path or SMB remote: `git config lfs.standalonetransferagent lfs-standalone-file`, then `git lfs pull` again. - [ ] "dubious ownership" on SMB: `git config --global --add safe.directory '<that path>'` (avoid `'*'` on shared machines), or clone via `file://`. - [ ] Budget time and disk: the first clone is large (10+ GB). Make a fresh clone per release rather than updating in place, and keep the old copy until the new build is verified. - [ ] If Windows sleeps or the share drops mid-pull, the Mac pull stalls: keep the Windows PC awake (9.4). - [ ] Keep the clone path free of unusual characters if any tool complains. ### 1.4 Never push a repo whose config holds store secrets Unreal stores Android signing settings, ad-SDK IDs and other values in `Config/DefaultEngine.ini` / `DefaultGame.ini`. If those include signing credentials: - [ ] Never push to any remote (public or private; GitHub, GitLab and iCloud-synced folders included). - [ ] Better: move secrets out of the tracked ini (untracked `Config/Local*.ini`, per-user engine config, or build-time overrides) so the repo can safely be pushed privately later. - [ ] Scan before any push: `git grep -n -i -E "password|secret|token|apikey" -- Config Build`. - [ ] Put this rule in the project `CLAUDE.md` so every agent on both machines sees it. - [ ] The Mac copy inherits the same ini: tell the Mac session explicitly "this checkout contains secrets, never push it". ### 1.5 Shared notes - Keep one shared notes folder (an Obsidian vault or a `Docs/` folder) that every agent reads: release status, hand-offs, command log, "where you left off". - Put standing rules in `CLAUDE.md` in the project root (build only on "build", no publishing without a go-ahead, log AI work). --- ## 2. Android
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | NA |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (0)
No findings outside the package's declared scope.
Gates applied: no_behavioural_pass.
9dd97165f27efull audit observations/trust-audit/skill/alexglonti__ue5-mobile-shipping.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-13 | 9dd97165f27e | SAFE | B | 89 | first audit |
Questions
What does the ue5-mobile-shipping skill do?
Ship Unreal Engine 5 mobile games to Google Play and the App Store from one Windows PC + a Mac mini, with Claude Code agents. A Claude Code skill by Alex Glonti / Nomad Devs.
Is ue5-mobile-shipping safe to install?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.
What can ue5-mobile-shipping access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
Which assistants does ue5-mobile-shipping work with?
Its documentation mentions claude-code. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (9dd97165f27e), read on 2026-10-13. The repository is watched, and a new audit runs when it changes — this is the first audit.