UFO 50 Android Unofficial
UFO 50
OrigenWindows
TecnologíaPort Nativo C/C++ (Reimplementación de Motor)
Disponible paraAndroid
Ver proyecto oficialSobre el proyecto
UFO 50 es un videojuego de acción y aventura publicado por Mossmouth en 2024.
2 versiones de UFO 50
Estás viendo: UFO 50 Android Unofficial
Información oficial del proyecto
UFO50AndroidUnofficial
A tool to build your own Android version of UFO 50
Love UFO 50? Own an Android device and a controller? Then you can enjoy UFO 50 on the go! It's an extremely simple process to build your own copy and get it running. Please do not share your APK with others. Mossmouth created an incredible game and pirating it would be a serious dick move. Don't screw over indie developers.
UFO 50 version 1.9.5 is supported by dynamically packaging the game data files that ship with your local copy. Newer releases should also work when they keep the same GameMaker data layout. The default Android wrapper uses GameMaker runtime 2024.1400.4.968 for compatibility with the current Steam build, includes a controller hotplug patch so Bluetooth controllers can be detected after the app is already open, and is built to run on Android 5.0+ devices, including Android 10/12 handhelds. The current APK packaging has been install/launch tested on Android 10, Android 11, and current Android emulator images.
Building
- Purchase and install UFO 50. The devs deserve the money.
- Download or clone this repo.
- Find your UFO 50 install folder. It must contain
data.winandoptions.ini. - Run the build script for your computer:
Windows
Double-click build_windows.bat, or open Command Prompt in this repo and run:
build_windows.bat "C:\Program Files (x86)\Steam\steamapps\common\UFO 50"
If you omit the path, copy/merge your UFO 50 files into this repo's ufo50 folder first, then run build_windows.bat.
The Windows builder supports current Windows 10 and Windows 11 installations. It uses the bundled Windows curl and tar commands to download its Java and UndertaleModCli dependencies; PowerShell execution policy does not need to be changed.
To build the portrait-hosted version on Windows, add portrait as the second argument:
build_windows.bat "C:\Program Files (x86)\Steam\steamapps\common\UFO 50" portrait
Linux
Open a terminal in this repo and run:
chmod +x build_linux
./build_linux "$HOME/.steam/steam/steamapps/common/UFO 50"
If your Steam library is somewhere else, replace the path with your UFO 50 install folder. The Linux script requires wget, unzip, and python3; install them with your distro's package manager if the script reports they are missing.
For the portrait-hosted version, run:
./build_linux "$HOME/.steam/steam/steamapps/common/UFO 50" portrait
macOS
Open Terminal in this repo and run:
chmod +x build_macos.sh
./build_macos.sh "$HOME/Library/Application Support/Steam/steamapps/common/UFO 50"
If your Steam library is somewhere else, replace the path with your UFO 50 install folder. The macOS script requires wget, unzip, and python3; if wget is missing, install it with Homebrew: brew install wget.
For the portrait-hosted version, run:
./build_macos.sh "$HOME/Library/Application Support/Steam/steamapps/common/UFO 50" portrait
Portrait presentation
Portrait mode produces com.unofficial.ufo50.portrait.apk. Android keeps the app upright in a portrait window while UFO 50 retains its original landscape 16:9 game canvas without stretching or cropping. The canvas is shifted 300 pixels above vertical center, and the exposed background remains black. The normal landscape build remains the default and continues to produce com.unofficial.ufo50.apk.
After the script finishes:
- Copy
com.unofficial.ufo50.apk, orcom.unofficial.ufo50.portrait.apkfor the portrait-hosted build, to your Android device. - Enable installing from unofficial sources on your device, if needed. This varies from device to device.
- Install the copied APK with your file manager of choice. You can delete the APK file after it's installed. Portrait and landscape builds use the same package ID and signing identity, so installing one replaces the other rather than creating two app icons.
- Play! On the normal landscape build, you can press Start, go to Settings > Video Settings, and set SCALE to FILL. Leave the portrait-hosted build at its aspect-preserving scale if you do not want stretching.
If you copy files manually, merge/replace the whole UFO 50 install into ufo50/ instead of skipping duplicates. The build needs the current data.win, options.ini, *.dat, Textures/, ext/, and fonts/ files from your installed game.
Troubleshooting
- Crash immediately after the cover art/splash screen: rebuild from a fresh checkout or pull the latest version of this repo. The current wrapper is built for Android 5.0+ compatibility, including handhelds such as MagicX Mini Zero 28/Android 10 and MagicX One35/Android 12.
- "App not installed" / "Error parsing the package": delete the old APK from the device, rebuild, copy the new
com.unofficial.ufo50.apk, and install that file again. If Android still rejects it, confirm the downloaded/copied APK size matches the one on your computer and that the device is running Android 5.0 or newer. Current builds align and extract native libraries for newer Android package-manager compatibility; rebuild if you made the APK with an older checkout. - Missing text/audio/textures or startup crashes after replacing files: make sure you did not skip duplicate files when copying the game directory. Re-copy the game files and choose replace/merge, or pass the game install path directly to the build script.
- Windows build stops before producing an APK: run the latest
build_windows.batfrom Command Prompt so its error remains visible. Failed builds now return a nonzero status and keep their temporary files instead of printing a false success message. Make sure Windows is current enough to includecurl.exeandtar.exe.
Save Management
Before you can manage save files, make sure you have enabled Developer Options on your device and allowed USB or Wi-Fi debugging. Make sure you have run UFO 50 at least once before you attempt to upload your saves.
To backup your save, run backup_saves_windows.bat on Windows, backup_saves_linux on Linux, or backup_saves_macos.sh on macOS.
This will copy your save files from your device and put them in the save folder.
To upload/restore your save, place your save files into the save folder and run upload_saves_windows.bat on Windows, upload_saves_linux on Linux, or upload_saves_macos.sh on macOS.
Notes
If you have UFO 50 working on PortMaster, open ufo50.port in an archive manager like 7-zip and use the game.droid and options.ini files in that directory. If you don't have any idea what the above means, don't worry about it. It's entirely optional.
Builds use the repository's public test signing key so landscape and portrait variants can replace one another and the save-management scripts can use Android's debugging facilities. That key is not an authenticity guarantee: only install APKs you built yourself from a checkout you trust, and do not accept APK updates from other people.
To-Do
- Integrate PortMaster's changes into build script as an optional selection
- Implement touch controls (may never happen, need to research injecting objects using UndertaleModTool
