How to set the application icon for iOS?

In project settings in the iOS section all the controls for icons are greyed out:

Modern xcode is enabled. There’s this thread: IOS app icon ue5.3 new xcode structure, shipping, appstore

But there is no iOS target in my xcode:

m

Only Mac.

So how do I get the iOS target in xcode and set the icons?

@_aking how do I get the iOS projects to show up in xcode like on your screenshot?

OK, I solved my problem. To set the application icon in new versions of Unreal after 5.3.3, from what I’ve read, we use modern xcode workflow. So enable: Project Settings > Platforms > XCode > Modernized XCode enable the checkbox.

After that regenerate the xcode files from the .uproject. For some reason on my Mac it doesn’t want to generate the xcode files if I just right click and press Generate XCode Project button:

Nothing happens on my Mac machine(Macbook 16" 2019 Pro Sonoma 14.5 and Unreal 5.4.4). So I wrote a bash script to do it myself instead of using the menu:

#!/bin/bash

Sh /Users/Shared/Epic\ Games/UE_5.4/Engine/Build/BatchFiles/Mac/GenerateProjectFiles.sh -project=/Users/user/Documents/Unreal\ Projects/MyProject/MyProject.uproject -game

Change the path to your project respectively. Hardcoded path, but you can enhance it and make it dynamic respectively where it will find the .uproject file in the folder and make it work on any project. I didn’t, because I work on the project alone and it just works for me.

Now, after you(finally) generate xcode project files, to change the iOS icon, open the newly generated {Project} (IOS).xcworkspace and on the left side of xcode in the Project Navigator menu navigate to Games > Project Name > Project Name (IOS) > Resources > Assets. And then in the center view you’ll see the AppIcon resource and you can finally setup the icons for iOS:

For some reason it’s not explained in Modernized XCode workflow article: Using Modern Xcode in Unreal Engine 5.3 and newer | Unreal Engine 5.5 Documentation | Epic Developer Community

This is a bad way to do icons: they’re set in the xcode solution, which is a generated solution. So if you regenerate the xcode solution, those changes will be gone. Also, the icons themselves are put in the /Users/Shared/Epic Games/UE_5.4/Engine/Build/IOS/Resources/Assets.xcassets/AppIcon.appiconset/icon.png

What? Really?

Those should be set in the Unreal Editor as file paths, so we can quickly change them without leaving the editor and also edit the icons themselves and editor would pick those up next time we package the project. And then we have them under version control, too. And everyone on the team has them.

With the current way of doing icons they’re not version controlled, only the machine on which we set them has them, we need to generate the project files and leave the editor to set the icons, unlike for Windows, Linux and Android.

The way it is set up with “modernized xcode workflow” is very, very, very bad.