I have been trying to get [Show External Login UI] to work for iOS. I purchased a plugin from the UE4 Marketplace called [Cloud Saved Game] and within the documentation (Cloud Saved Game (Documentation) - Google Docs) for this plugin it mentions that it is necessary to use the [Show External Login UI] node before using it. (I’m not sure the plugin part is relevant)
Now~ Before even getting that plugin to work I’ve gotta get this [Show External Login UI] node to succeed. This is a blueprint node that is not part of that plugin~ Unfortunately it’s always returning failure on iOS. I’m not sure what I’m doing wrong. Documentation about this node seems limited and any other questions on the answerhub about this node are being used for Android.
Here’s some additional detail that I think may be useful:
- I’m using a full shipping build (for
distribution) of my project on
- I am accessing the build through testflight as an App Store Connect User
- I have tried with an Ad Hoc provisioning profile AND an App Store provisioning profile
- I am testing this build on an iPhone Xs
- I am using UE4 4.22.2
- I have Game Center support and Cloud Kit support enabled within the (Platforms - iOS) tab of UE4
- My provisioning profiles also have Game Center support and Cloud Kit support enabled
- The [Online Subsystem iOS] plugin which comes with UE4 is enabled
Honestly I’m just having trouble tracking down any documentation about this node at all. If anyone has any additional information or resources they can point me towards I would be incredibly grateful. Can anyone even confirm that this node is working properly and is not bugged? That would be helpful too.
TLDR; I can’t get [Show External Login UI] to return (success) on iOS
It looks like I solved the issue but I think I may have also found a bug.
I didn’t work any more on my project since posting this yesterday- This morning when I woke up the first thought I had was to enable Game Center for my iPhone Xs manually through my settings. After I did this the blueprint node this morning worked perfectly. I was even able to test it on a build that I pushed through UE4’s ‘All_iOS_On_Desktop-…’ compile function for iOS testing.
So one of 2 things were the fix- Either I just needed to give it a day (I really doubt it) OR it was the fact that I enabled Game Center manually.
But what’s really odd- Is that after I tested it and got [Show External Login UI] to work I went back and manually disabled Game Center. THEN THIS TIME when I went to go test the blueprint node Game Center appeared and prompted me to log in. So this means that Game Center needs to be enabled at least once on a device for this node to work.
I think this may mean there is a bug with this node being unable to prompt iOS devices that have never enabled Game Center to be able to login- It’ll just fail. Unfortunately this is a time consuming bug to confirm- I can’t confirm it myself because I don’t have any spare iOS devices I can factory reset to confirm that this is the issue.
The work around to this is to just prompt users to display an error code to your users and to prompt them to try enabling Game Center manually on their device. This isn’t the most elegant solution though.
I’m also going to be submitting a bug report. I’ll post back here if I have any updates about this issue.
Here’s a link to the UE4 engine issue for anyone that may stumble here in the future.
I’m also having trouble with that node.
I’ve voted up UE-75799.
In my findings it is actually firing and working, BUT the failure node just seems to fire way too early. Despite a failure being returned, My Game Center login is successful, and after that point all other nodes I call work as expected. I may just have to build a delay into things as you mentioned.
I’ll try to remember to test on a fresh device to confirm that no login prompt is generated.