Failed to open descriptor file on Android with UE5.3

We are upgrading from Unreal Engine 4.27 to 5.7. The process we were recommended by Epic was to first merge 5.1, then 5.3, and finally get to latest with 5.7.

I am responsible for the Android and iOS versions of the game. We have to make sure we can build on 5.3 to allow us to verify we can re-serialize our files correctly before we move on to 5.7.

I have gotten to the point where we can deploy on Android, but every time I launch regardless of what I try, I get the same error:

“Failed to open descriptor file ../../../[ProjectName]/[ProjectName].uproject”

Two things I have noticed are:

  • Removing the logic in parseCommandLineParams in GameActivity.java does not change anything.
  • Our 4.27 version of the game creates a UE4Game folder in Internal Storage. The 5.3 version does not create any folder that I can see in the Files app.

We have some changes to the way we deploy on Android, but even after removing all of those and matching the 5.3 code base, I get the same error. Have there been any changes to the system setup that I will have to take into account?

Is the .uproject file even supposed to be on the phone, or is the actual issue that the UECommandLine.txt has that in it?

[Attachment Removed]

Hi Jimmy,

Can you confirm your APK packaging settings? Data in APK? External OBB?

Best regards.

[Attachment Removed]

Hi Stéphane,

Here are our 4.27 Android settings. [Image Removed]And here our 5.3 settings.

[Image Removed]

Data in APK is true.

I don’t know which value corresponds to “External OBB”, but everything should be in there.

Kind regards,

Jimmy Koene

[Attachment Removed]

Hi Jimmy,

Thanks for that info.

Is this issue limited to importing an existing 4.27 project into 5.3 or are you seeing it with a fresh template in 5.3 as well? Also, how are you deploying the app to the device? Packaging then sideloading or quick launch from the Editor? Lastly, what device and Android version are you running on?

Best regards

[Attachment Removed]

Hi Jimmy,

I believe the issue may be that your app is targetting SDK 35 which isn’t supported in UE 5.3. Can you try reducing the SDK target level to 33 (Android 13) and see if it resolves?

Best regards.

[Attachment Removed]

Hi Stéphane,

I tried to build with Android SDK Target 33 and I got the same issue.

Regarding the 5.3 template, I set up the Third Person template which I eventually got to run. I did however have to change the Android tools we run.

Over the years, we needed to update the 4.27 project to still be compatible with latest versions of Android. Most of that, we merged over from newer Unreal Engine versions and those changes are now merged into the 5.3 version.

Our current pipeline uses:

SDK Tools 35.0.1

Android SDK Platform 35

NDK 27.2

Android Studio Ladybug | 2024.2.1 October 1, 2024

com.android.tools.build:gradle:8.7.0

I am building using the Project Launcher.

The device I am testing all of this on is a Google Pixel 7 Pro running Android 16.

[Attachment Removed]

Hi Jimmy,

Interesting. In my initial tests with a stock 5.3 template, I was seeing the same error on an Android 16 device, however, not on pre Android 13 devices. Upon downgrading target SDK to 33, the error was cleared up. I try going through the 4.27 -> 5.3 project upgrade path to see if any other issues are revealed and report back.

Best regards

[Attachment Removed]

Hi Stephane,

Thank you. Is there anything else I can do to help investigate this issue?

One thing I’m wondering is if the .uproject file is even supposed to be on the phone, or is the problem actually that UECommandLine.txt links to it?

[Attachment Removed]

Hi Jimmy,

Before delving further, can you confirm which packaging/deployment path you are using? Packaging from Platforms and installing or Quick Launch?

Best regards.

[Attachment Removed]

Hi Stéphane,

I use this Project Launcher build.

[Image Removed]Cooked Cultures does not have anything selected.

Nothing is selected under Cooked Maps, we use /Script/UnrealEd.ProjectPackagingSettings - MapsToCook

[Image Removed]

The only difference between that and our 4.27 project launcher profile is that we set it to “Package & store locally” in 4.27 which is not compatible with Copy to Device on 5.3.

[Attachment Removed]

Hi Jimmy,

With the exception of setting the Project setting to the current project instead of ‘Any Project’ and the cooker build configuration set to match the build configuration, we are launching successfully on stock UE 5.3 on Android 15+ devices with the previously mention n requirement of setting the Target SDK to 33 to avoid UE 5.3 and Android 13+ file system permission restrictions. Can you provide any further details such as application log when the descriptor load fails or a repro project? Are you observing this issue with UE 5.3 template projects or only with your current application in development?

Best regards.

[Attachment Removed]

Hi Stéphane,

I tried switching the project launcher profile to point to the specific project before originally making this post, but it did not make any difference.

The UE5.3 template project works fine when I change the Android SDKs installed on my PC to match that version of the engine.

I have attached a log to this message with the boot messages. The name of the game and app has been replaced to keep this thread public, but otherwise everything is in there. Hopefully the hint to this issue is in there, but if not I’ll happily share any other info you need.

[Attachment Removed]

Hi Jimmy,

Based on the log, I am seeing an app built with Target SDK 36. Can you share a log of your application built against SDK 33 so we can be running under UE 5.3 compatible conditions and better diagnose? Additionally, note that the project’s configured Version string is causing an exception likely due to the fact that it may be in integer format (see java.lang.ClassCastException in the previous log). Updating the version string to <major>.<minor>(.<patch>)+ format should resolve that.

Best regards.

[Attachment Removed]

Hi Stéphane,

I don’t know how the app was built with target SDK 36 because we’ve never updated past 35. Either way though, I have changed the project to allow it to build against SDK 33.

Sadly, the issue is the same, but maybe the log contains a hint for why. I’ve attached it to this message.

Regarding the version string, we know what is causing that and we’ll be working on a change later to resolve that unless you think that it is causing this issue?

[Attachment Removed]

Hi Jimmy,

Thanks for providing that updated log. There unfortunately isn’t anything apparent in it. Storage permissions look OK. Are you able to share the project launcher build/deploy/launch log?

Best regards.

[Attachment Removed]

Hi Stéphane,

Here is a sanitized version of the build/cook/deploy/run.

I have removed the project name, folder names, file names, etc. and removed sections from the compile and cook to allow this to remain a public thread, but hopefully I’ve kept all the important information.

If I cut anything that you would particularly like to see, please let me know.

[Attachment Removed]

Hi Jimmy,

Can you confirm the contents of the following folder on the device?

/sdcard/Android/data/com.company.gamename/files/UnrealGame/UProjectFileName/UProjectFileName.

This is where the .uproject file should end up under your launch and packaging conditions. I was able to reproduce the error by manually renaming this file and relaunching the app without redeployment from UE.

Additionally, are you seeing this behaviour running a stock template in UE 5.3 with the same packaging and SDK settings?

Best regards

[Attachment Removed]

Hi Stéphane,

I checked and this is the file and folder structure on the the device for this game:

com.company.gamename/

└── files

├── ProgramBinaryCache

│ └── GLSL_ES3_1_ANDROID_LongUniqueID

└── UnrealGame

└── UProjectFileName

  └── UProjectFileName

    └── Saved

      └── Logs

There is only 1 file, under ProgramBinaryCache. All other folders are empty.

When I build using a stock template in UE 5.3, it runs fine.

[Attachment Removed]

Hi Jimmy,

This inconsistent behaviour between your project and template is a little puzzling. Are you in a position to share a trimmed down repro project?

Best regards.

[Attachment Removed]

Hi Stéphane,

We have made a variety of changes to the Android build and deploy pipeline over the years which have been merged over from 4.27 to 5.3. Sharing a trimmed down project might be hard, but I can absolutely sent files related to that pipeline if you could tell me which files could be responsible for this issue.

[Attachment Removed]