Create apps that allow players to interact with each other using GameKit.

Posts under GameKit tag

200 Posts

Post

Replies

Boosts

Views

Activity

How to manage GKGameCenterViewController with app lifecycle?
What should an app do with an instance of GKGameCenterViewController when the app transitions to the background? Currently, my app just leaves it in place, displayed on top in full screen. Most of the time when my app resumes to the foreground, the GKGameCenterViewController is still displayed and is functional. However, sometimes when the app resumes, the GKGameCenterViewController's view has vanished and, additionally, my app doesn't receive a GK authentication event, so effectively it is "hung". This seems to happen most often when the app has been in the background a while, such as overnight. The app is still in memory, however, not starting cold. I would like to leave the GKGameCenterViewController/view in place when the app is backgrounded since the player may return to the game quickly and be right back where they left off. And most of the time that works. However, I need to solve the problem for the times it doesn't as I described above. Is there any guidance on what to do with a GKGameCenterViewController (or any GK controller for that matter) when an app goes into the background?
0
0
710
Aug ’23
XCode build fail when add Apple.GameKit plugin for Unity: Undefined symbol
I have a Unity project, after setting up Apple.Gamekit plugin, it show up some error when build with XCode: ld: warning: arm64 function not 4-byte aligned: _unwind_tester from /Users/mac/Documents/Bonex/BoneX_demo1/iOSBuild_demo2/Libraries/libiPhone-lib.a(unwind_test_arm64.o) Undefined symbols for architecture arm64: "_GKLocalPlayer_Authenticate", referenced from: _GKLocalPlayer_GKLocalPlayer_Authenticate_mA13EED25E9E6BC8EAA0DE8E36D389AC904B41435 in Apple.GameKit.o (maybe you meant: _GKLocalPlayer_GKLocalPlayer_Authenticate_mA13EED25E9E6BC8EAA0DE8E36D389AC904B41435, _GKLocalPlayer_Authenticate_m3BBD62A177560D3F93691F97581B484A6EBA0836 ) "_GKLocalPlayer_GetIsMultiplayerGamingRestricted", referenced from: _GKLocalPlayer_GKLocalPlayer_GetIsMultiplayerGamingRestricted_m347F15CBE262C877190B5C7F4B55AFAD595705D5 in Apple.GameKit.o (maybe you meant: _GKLocalPlayer_GKLocalPlayer_GetIsMultiplayerGamingRestricted_m347F15CBE262C877190B5C7F4B55AFAD595705D5) "_GKLocalPlayer_GetIsPersonalizedCommunicationRestricted", referenced from: _GKLocalPlayer_GKLocalPlayer_GetIsPersonalizedCommunicationRestricted_mB1E3D7AE957AAA19E6ABBDCDEAD9821B09EB1DC1 in Apple.GameKit.o (maybe you meant: _GKLocalPlayer_GKLocalPlayer_GetIsPersonalizedCommunicationRestricted_mB1E3D7AE957AAA19E6ABBDCDEAD9821B09EB1DC1) "_GKLocalPlayer_GetIsUnderage", referenced from: _GKLocalPlayer_GKLocalPlayer_GetIsUnderage_mF266E6F8AA10922F3B02ED3A877D3C403EA46045 in Apple.GameKit.o (maybe you meant: _GKLocalPlayer_GKLocalPlayer_GetIsUnderage_mF266E6F8AA10922F3B02ED3A877D3C403EA46045) "_NSError_Free", referenced from: _NSError_NSError_Free_m0AFB1ED4BF090D6E5276479A1F53680D4FD47A4A in Apple.Core.o (maybe you meant: _NSError_NSError_Free_m0AFB1ED4BF090D6E5276479A1F53680D4FD47A4A) ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation) The plugin I added, which is provided by Apple: https://github.com/apple/unityplugins My : build appunityplugin used 2020.3.33f1 XCode to version 14.3.1 Please help! Thank you!!!
3
0
3.1k
Aug ’23
Reset GameCenter scores
Is it possible to remove/reset GmeCenter scores for my game app? I'd like to remove all scores so new users can start to compete. Is this possible? The games are educationally based and I'fd like to reset score for a new class.
0
0
783
Aug ’23
Unity Game Crashes After GameCenter Login Attempt
We have Apple Unity Plugins imported to our project. We only include Apple.Core and Apple.GameKit. We have tried to import Empty 3D URP Sample Project and project worked on iOS but when we try to build for our project we got this error. On Empty Project, we just import the Apple Plugins, nothing about authentication or login to Apple Game Center. But in our main project, we login to Apple Game Center. We disabled the GameCenter Login code and game opens perfectly. No errors. The main problem is app crashes when we attempt to login to Apple Game Center. Do you have any suggestions for this? Unity: 2022.3.1f1 LTS (Current Latest LTS) OS: macOS Ventura 13.4 (Latest Stable) XCode: 14.3.1 (Latest Stable) Apple Plugins: Apple.Core 1.0.3 - Apple.GameKit 1.0.4 (Latest)
4
1
2.2k
Aug ’23
Not imported Metal but getting these errors!
Device : iPhone 13 Pro, iOS 17 Beta 5. Xcode : Both 14.3.1 and 15 Beta 5 My app is crashing for no reason after a touch gesture on my device, but it's working fine on a simulator. I have used GameKit but not imported Metal or SpriteKit. I'm getting these errors. CleverJacks[791:45451] Metal API Validation Enabled -[MTLDebugRenderCommandEncoder setRenderPipelineState:]:1615: failed assertion `Set Render Pipeline State Validation For color attachment 2, the render pipeline's pixelFormat (MTLPixelFormatRGBA16Float) does not match the framebuffer's pixelFormat (MTLPixelFormatR16Float). the pipelineState's per sample imageBlock usage(14) is greater than the encoder's perSample imageBlock usage(8)
1
2
942
Aug ’23
Unity Apple plugin Issue
We are upgrading our ObjC-based iOS multiplayer game to Unity, so we plan to use the Unity Apple plugins. Specifically, we want to use Apple.Core and Apple.Gamekit packages. Cloned the project from https://github.com/apple/unityplugins Built the package using Unity 2020.3.33f1 In the Unity Editor, used Windows > Package Manager and added both packages from the tarball. No errors; all looks good. 5, Built & Run the project and installed the game on an iPhone 13 device. 6. Once the game starts, we see the following errors, and the game quits. Errors: '/private/preboot/Cryptexes/OS/usr/lib/swift/AppleCoreNative.framework/AppleCoreNative' (no such file), '/private/var/containers/Bundle/Application/0CF8E689-36C1-4AA6-9CF6-1E078EC1A3FB/Game.app/Frameworks/AppleCoreNative.framework/AppleCoreNative' (no such file), '/private/var/containers/Bundle/Application/0CF8E689-36C1-4AA6-9CF6-1E078EC1A3FB/Game.app/Frameworks/UnityFramework.framework/Frameworks/AppleCoreNative.framework/AppleCoreNative' (no such file), '/private/var/containers/Bundle/Application/0CF8E689-36C1-4AA6-9CF6-1E078EC1A3FB/Game.app/Frameworks/AppleCoreNative.framework/AppleCoreNative' (no such file), '/System/Library/Frameworks/AppleCoreNative.framework/AppleCoreNative' (no such file, not in dyld cache) Anyone, please help us to resolve the above issue?
1
0
1.4k
Aug ’23
Is GKLocalPlayer's gamePlayerID different from the gamePlayerID other players in the GKMatch can access/see?
I'm trying to make a real-time peer-to-peer multiplayer game with GameKit/Game Center. I'm trying to store a dictionary of player IDs and scores ([String:Int]) to keep track of and share player scores during a game. Essentially, I want to be able to increment the score of a player locally, then send the updated scores dictionary to all the other players. However, the GKLocalPlayer.local.gamePlayerID seems to be in a completely different format than any other connected GKPlayer, so when I try to access the GKMatch.players with the gamePlayerID, it isn't found (and yes, I'm aware that GKMatch.players doesn't contain the local player). The GKPlayer has an 18-digit long integer, whereas the GKLocalPlayer has A:_ and then a long hexadecimal number (I think it's 37 digits in decimal). Can someone explain this difference or point to some resources that explain how I can implement this functionality correctly? Here's a simplified example of what I'm doing: var scores: [String:Int] // dictionary of [gamePlayerID:Score] scores[myMatch.players.first.gamePlayerID] = 3 scores[GKLocalPlayer.local.gamePlayerID] = 5 sendScores(scores) // sends data to all players using myMatch.sendData() /* When the receiving players decode and try to access scores[gamePlayerIDOfSendingPlayer], it isn't found because it's different from that player's gamePlayerID in the receiving player's GKMatch.players array */
1
1
697
Aug ’23
GameCenter causes hiccup when showing access point
Hello, In our Unity game, we've started experiencing application hiccup as a result of calling [[GKAccessPoint shared] setActive:YES]. The call itself does not take much time, but it seems to trigger something that causes a significant app stall causing running animations and transitions to feel laggy. This is new behaviour for us in iOS 16.1, as it did not cause any hiccups on 16.0 or earlier as far as we've noticed. We've tested the same build on 16.0 and 16.1, and it's working smooth on 16.0. The hiccup is present both when logged in and not logged into GameCenter. Did something change in 16.1 that requires us to use this API in a different way, or is it a (known) bug in iOS? My searches have not resulted in any similar reports. Best, -Trond
3
1
1.7k
Jul ’23
GameKit Unity Sample works in Editor but not Player
I've build the Apple Unity plugins and added them to my Unity project. I've also loaded up the Apple.GameKit 1.0.4 GameKit Demo Scene. When I run this scene in the Unity editor, I get the prompt to select my Game Center account, and the username appears in the Editor Game window UI. From here, the other on-screen buttons work as well, I can pull up the Game Center Achievements window or the Realtime Matchmaking UI. If I build this project for macOS, and run the resulting app on the Mac, it isn't working. On the game UI, the "Local Player Name" text never updates to show the username of my GameCenter account. None of the on screen buttons work, nothing happens when clicked. If I build from unity for macOS with debug on, I can attach a debugger while running the app. If I do this, and add breakpoints, it seems that the application hits the first line from the Start() function of GameKitSample.cs : _localPlayer = await GKLocalPlayer.Authenticate(); But execution never seems to get past this point. It also doesn't seem to throw any exception. It just gets stuck here and I can't use any Game Kit features in the sample scene. What is missing? The same code seems to interact with Game Center just fine while running from the Unity Editor.
0
0
1k
Jul ’23
SceneKit Xcode 15 Beta3
Previously art work used and porting a complex 3D mechanical Clock I am running into constant build errors using my previous art work .scn files I had some success converting my .usdz original to .scn file some convert but most just being in the art folder of the build environment cause this crash and are no longer compatible I use the same art work of gears and parts in UNITY build environment without any build issues most of my clocks have up to 35 different interacting parts These are replicas of classical clock mechanism Is any one else having problems with similar .scn files [?]
1
0
1.3k
Jul ’23
Xcode 15 Beta3 sceneKit templet
I am getting 4 warnings compiling the current template of sceneKit game /Users/helmut/Documents/spaceTime/scntool:1:1 Could not find bundle inside /Library/Developer/CommandLineTools any idea why the bundle is not installed I did a new download twice now still stuck getting these warnings about bundles not installed or not found any solution to correct the download install so the base dependencies are present thank you
0
0
1.1k
Jul ’23
Regarding Gamekit samples in apple/unityplugins
I built the Gamekit Sample in apple/unityplugins for iOS and ran "_localPlayer = await GKLocalPlayer.Authenticate();" It worked fine up to the point where the GameCenter popup was displayed. However, the "OnRealtimeMatchmake()" and "OnToggleAccessPoint()" will result in the following error "MissingMethodException: Default constructor not found for type Apple.GameKit.Multiplayer.GKMatchRequest at System.RuntimeType.CreateInstanceMono" and "MissingMethodException: Default constructor not found for type Apple.GameKit.GKAccessPoint at System.RuntimeType.CreateInstanceMono" errors and does not work properly. Please tell me what is the problem here. The environment is as follows iPhone SE (iOS15.5), Unity2020.3.33f1, XCode13.4.1
4
0
3.0k
Jul ’23
iOS Game Center achievements are resetting
We have some problems with achievements which were unlocked in Game Center. This is our first time that we implemented Game Center features inside our app and it seems that leaderboards, score reporting and unlocking achievements are all working fine. We can see unlocked achievements in the achievements board but they are becoming locked again just a few seconds later. Everything seem to be working fine except this weird behavior (all handlers are returning success etc.) We also tried many tests with different type of achievements (both with achievable more than once YES and NO achievements). It may be an expected behavior with achievements which are of kind achievable more than once but they are becoming locked again if they are not as such) As the only thing that comes to our minds: the version with achievements and leaderboard is not published yet in AppStore and we are testing achievements with some sandbox testers and a real user device. Could such resetting (becoming locked again) be due to not yet being published in store? Thanks in advance for very appreciated tries, help and assistance If it will help you guide us: * GKAchievementDescription loadAchievementDescriptionsWithCompletionHandler: returns all achievement registered in appstore connect GKAchievement reportAchievements: always return success (and so we can see them in gamecenter board) GKAchievement loadAchievementsWithCompletionHandler: returns completed achievements until that reset occurs (i.e. after completing the achievement, we send a request -> it is there; a few seconds later again we send a request -> it is again there; a few more tries and it is gone ...)
1
1
2.0k
Jun ’23
Hang when calling GKLocalPlayer.Local.FetchItems();
public async void FetchItems() { try { var fetchItemsResponse = await GKLocalPlayer.Local.FetchItems(); } catch(GameKitException exception) { Debug.LogError(exception); } } App hangs when calling GKLocalPlayer.Local.FetchItems(); No exception is caught. Apple.Core and Apple.GameKit plugins have been included in our project Reproducible with https://github.com/apple/unityplugins Both Unity 2020 and Unity 2021 iOS and tvOS Xcode Version 13.4.1
7
3
2.4k
Jun ’23
Game Center achievements staying hidden
I’m tracking down a bug report with a game that has a bunch of achievements that do work. I am trying to reveal the name of a hidden achievement once a player learns it is possible, but before they have any progress towards it. GKAchievement* a = [[GKAchievement alloc] initWithIdentifier: anAchievement]; a.percentComplete = 0; [GKAchievement reportAchievements: @[ a ] withCompletionHandler: ^(NSError * _Nullable error) { if (error != nil) { NSLog(@"revealAchievement: %@ failed %@", anAchievement, error); } }]; The documentation says “isHidden is set to NO anytime this method is invoked” but the achievement is not showing up in the UI. The achievement in question is returned by +loadAchievementsWithCompletionHandler:, but it is considered hidden there (lldb) po a <GKAchievement: 0x6000027993e0>id: MonsterKiller.DarkAge 0.000000 (lldb) p a.hidden (BOOL) $3 = YES I am pretty sure this code worked fine (it’s in a game that came out several years ago). Has Game Center changed (I know hidden is technically deprecated now, but I don’t see anything explaining how to reveal an achievement other than by using +reportAchievements:withCompletionHandler:. And yes, the achievement in question is configured on the server (it can be earned, just not revealed with zero progress).
2
0
2.2k
Jun ’23
Could not disable Game Center in my App ID for macOS
Hi everyone, My app was rejected for containing Game Center entitlement, here is what review team respond: Your app contains the Game Center entitlement, but it does not link against the GameKit framework. And they suggest a solution: If you do not intend to use Game Center, please remove the Game Center entitlement. My app does not have Game Center entitlement enabled, but App Identifier do have it enabled by default. The App Identifier was created years ago, and by then the Game Center was enabled mandatory, I can't deselect it since the disable button was grayed out. I thought Apple may has changed this behavior when received rejection, so I tried to disable Game Center again, but after I deselect Game Center for macOS and try to save it on developer portal, it warns me: There is a problem with the request entity Please select at least one configuration for Game Center. Is there anything I missed? Thank you in advance for any possible help. Regards,
18
3
13k
Jun ’23
How to manage GKGameCenterViewController with app lifecycle?
What should an app do with an instance of GKGameCenterViewController when the app transitions to the background? Currently, my app just leaves it in place, displayed on top in full screen. Most of the time when my app resumes to the foreground, the GKGameCenterViewController is still displayed and is functional. However, sometimes when the app resumes, the GKGameCenterViewController's view has vanished and, additionally, my app doesn't receive a GK authentication event, so effectively it is "hung". This seems to happen most often when the app has been in the background a while, such as overnight. The app is still in memory, however, not starting cold. I would like to leave the GKGameCenterViewController/view in place when the app is backgrounded since the player may return to the game quickly and be right back where they left off. And most of the time that works. However, I need to solve the problem for the times it doesn't as I described above. Is there any guidance on what to do with a GKGameCenterViewController (or any GK controller for that matter) when an app goes into the background?
Replies
0
Boosts
0
Views
710
Activity
Aug ’23
XCode build fail when add Apple.GameKit plugin for Unity: Undefined symbol
I have a Unity project, after setting up Apple.Gamekit plugin, it show up some error when build with XCode: ld: warning: arm64 function not 4-byte aligned: _unwind_tester from /Users/mac/Documents/Bonex/BoneX_demo1/iOSBuild_demo2/Libraries/libiPhone-lib.a(unwind_test_arm64.o) Undefined symbols for architecture arm64: "_GKLocalPlayer_Authenticate", referenced from: _GKLocalPlayer_GKLocalPlayer_Authenticate_mA13EED25E9E6BC8EAA0DE8E36D389AC904B41435 in Apple.GameKit.o (maybe you meant: _GKLocalPlayer_GKLocalPlayer_Authenticate_mA13EED25E9E6BC8EAA0DE8E36D389AC904B41435, _GKLocalPlayer_Authenticate_m3BBD62A177560D3F93691F97581B484A6EBA0836 ) "_GKLocalPlayer_GetIsMultiplayerGamingRestricted", referenced from: _GKLocalPlayer_GKLocalPlayer_GetIsMultiplayerGamingRestricted_m347F15CBE262C877190B5C7F4B55AFAD595705D5 in Apple.GameKit.o (maybe you meant: _GKLocalPlayer_GKLocalPlayer_GetIsMultiplayerGamingRestricted_m347F15CBE262C877190B5C7F4B55AFAD595705D5) "_GKLocalPlayer_GetIsPersonalizedCommunicationRestricted", referenced from: _GKLocalPlayer_GKLocalPlayer_GetIsPersonalizedCommunicationRestricted_mB1E3D7AE957AAA19E6ABBDCDEAD9821B09EB1DC1 in Apple.GameKit.o (maybe you meant: _GKLocalPlayer_GKLocalPlayer_GetIsPersonalizedCommunicationRestricted_mB1E3D7AE957AAA19E6ABBDCDEAD9821B09EB1DC1) "_GKLocalPlayer_GetIsUnderage", referenced from: _GKLocalPlayer_GKLocalPlayer_GetIsUnderage_mF266E6F8AA10922F3B02ED3A877D3C403EA46045 in Apple.GameKit.o (maybe you meant: _GKLocalPlayer_GKLocalPlayer_GetIsUnderage_mF266E6F8AA10922F3B02ED3A877D3C403EA46045) "_NSError_Free", referenced from: _NSError_NSError_Free_m0AFB1ED4BF090D6E5276479A1F53680D4FD47A4A in Apple.Core.o (maybe you meant: _NSError_NSError_Free_m0AFB1ED4BF090D6E5276479A1F53680D4FD47A4A) ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation) The plugin I added, which is provided by Apple: https://github.com/apple/unityplugins My : build appunityplugin used 2020.3.33f1 XCode to version 14.3.1 Please help! Thank you!!!
Replies
3
Boosts
0
Views
3.1k
Activity
Aug ’23
Reset GameCenter scores
Is it possible to remove/reset GmeCenter scores for my game app? I'd like to remove all scores so new users can start to compete. Is this possible? The games are educationally based and I'fd like to reset score for a new class.
Replies
0
Boosts
0
Views
783
Activity
Aug ’23
Unity Game Crashes After GameCenter Login Attempt
We have Apple Unity Plugins imported to our project. We only include Apple.Core and Apple.GameKit. We have tried to import Empty 3D URP Sample Project and project worked on iOS but when we try to build for our project we got this error. On Empty Project, we just import the Apple Plugins, nothing about authentication or login to Apple Game Center. But in our main project, we login to Apple Game Center. We disabled the GameCenter Login code and game opens perfectly. No errors. The main problem is app crashes when we attempt to login to Apple Game Center. Do you have any suggestions for this? Unity: 2022.3.1f1 LTS (Current Latest LTS) OS: macOS Ventura 13.4 (Latest Stable) XCode: 14.3.1 (Latest Stable) Apple Plugins: Apple.Core 1.0.3 - Apple.GameKit 1.0.4 (Latest)
Replies
4
Boosts
1
Views
2.2k
Activity
Aug ’23
Not imported Metal but getting these errors!
Device : iPhone 13 Pro, iOS 17 Beta 5. Xcode : Both 14.3.1 and 15 Beta 5 My app is crashing for no reason after a touch gesture on my device, but it's working fine on a simulator. I have used GameKit but not imported Metal or SpriteKit. I'm getting these errors. CleverJacks[791:45451] Metal API Validation Enabled -[MTLDebugRenderCommandEncoder setRenderPipelineState:]:1615: failed assertion `Set Render Pipeline State Validation For color attachment 2, the render pipeline's pixelFormat (MTLPixelFormatRGBA16Float) does not match the framebuffer's pixelFormat (MTLPixelFormatR16Float). the pipelineState's per sample imageBlock usage(14) is greater than the encoder's perSample imageBlock usage(8)
Replies
1
Boosts
2
Views
942
Activity
Aug ’23
Unity Apple plugin Issue
We are upgrading our ObjC-based iOS multiplayer game to Unity, so we plan to use the Unity Apple plugins. Specifically, we want to use Apple.Core and Apple.Gamekit packages. Cloned the project from https://github.com/apple/unityplugins Built the package using Unity 2020.3.33f1 In the Unity Editor, used Windows > Package Manager and added both packages from the tarball. No errors; all looks good. 5, Built & Run the project and installed the game on an iPhone 13 device. 6. Once the game starts, we see the following errors, and the game quits. Errors: '/private/preboot/Cryptexes/OS/usr/lib/swift/AppleCoreNative.framework/AppleCoreNative' (no such file), '/private/var/containers/Bundle/Application/0CF8E689-36C1-4AA6-9CF6-1E078EC1A3FB/Game.app/Frameworks/AppleCoreNative.framework/AppleCoreNative' (no such file), '/private/var/containers/Bundle/Application/0CF8E689-36C1-4AA6-9CF6-1E078EC1A3FB/Game.app/Frameworks/UnityFramework.framework/Frameworks/AppleCoreNative.framework/AppleCoreNative' (no such file), '/private/var/containers/Bundle/Application/0CF8E689-36C1-4AA6-9CF6-1E078EC1A3FB/Game.app/Frameworks/AppleCoreNative.framework/AppleCoreNative' (no such file), '/System/Library/Frameworks/AppleCoreNative.framework/AppleCoreNative' (no such file, not in dyld cache) Anyone, please help us to resolve the above issue?
Replies
1
Boosts
0
Views
1.4k
Activity
Aug ’23
Is GKLocalPlayer's gamePlayerID different from the gamePlayerID other players in the GKMatch can access/see?
I'm trying to make a real-time peer-to-peer multiplayer game with GameKit/Game Center. I'm trying to store a dictionary of player IDs and scores ([String:Int]) to keep track of and share player scores during a game. Essentially, I want to be able to increment the score of a player locally, then send the updated scores dictionary to all the other players. However, the GKLocalPlayer.local.gamePlayerID seems to be in a completely different format than any other connected GKPlayer, so when I try to access the GKMatch.players with the gamePlayerID, it isn't found (and yes, I'm aware that GKMatch.players doesn't contain the local player). The GKPlayer has an 18-digit long integer, whereas the GKLocalPlayer has A:_ and then a long hexadecimal number (I think it's 37 digits in decimal). Can someone explain this difference or point to some resources that explain how I can implement this functionality correctly? Here's a simplified example of what I'm doing: var scores: [String:Int] // dictionary of [gamePlayerID:Score] scores[myMatch.players.first.gamePlayerID] = 3 scores[GKLocalPlayer.local.gamePlayerID] = 5 sendScores(scores) // sends data to all players using myMatch.sendData() /* When the receiving players decode and try to access scores[gamePlayerIDOfSendingPlayer], it isn't found because it's different from that player's gamePlayerID in the receiving player's GKMatch.players array */
Replies
1
Boosts
1
Views
697
Activity
Aug ’23
GameCenter causes hiccup when showing access point
Hello, In our Unity game, we've started experiencing application hiccup as a result of calling [[GKAccessPoint shared] setActive:YES]. The call itself does not take much time, but it seems to trigger something that causes a significant app stall causing running animations and transitions to feel laggy. This is new behaviour for us in iOS 16.1, as it did not cause any hiccups on 16.0 or earlier as far as we've noticed. We've tested the same build on 16.0 and 16.1, and it's working smooth on 16.0. The hiccup is present both when logged in and not logged into GameCenter. Did something change in 16.1 that requires us to use this API in a different way, or is it a (known) bug in iOS? My searches have not resulted in any similar reports. Best, -Trond
Replies
3
Boosts
1
Views
1.7k
Activity
Jul ’23
GameKit Unity Sample works in Editor but not Player
I've build the Apple Unity plugins and added them to my Unity project. I've also loaded up the Apple.GameKit 1.0.4 GameKit Demo Scene. When I run this scene in the Unity editor, I get the prompt to select my Game Center account, and the username appears in the Editor Game window UI. From here, the other on-screen buttons work as well, I can pull up the Game Center Achievements window or the Realtime Matchmaking UI. If I build this project for macOS, and run the resulting app on the Mac, it isn't working. On the game UI, the "Local Player Name" text never updates to show the username of my GameCenter account. None of the on screen buttons work, nothing happens when clicked. If I build from unity for macOS with debug on, I can attach a debugger while running the app. If I do this, and add breakpoints, it seems that the application hits the first line from the Start() function of GameKitSample.cs : _localPlayer = await GKLocalPlayer.Authenticate(); But execution never seems to get past this point. It also doesn't seem to throw any exception. It just gets stuck here and I can't use any Game Kit features in the sample scene. What is missing? The same code seems to interact with Game Center just fine while running from the Unity Editor.
Replies
0
Boosts
0
Views
1k
Activity
Jul ’23
SceneKit Xcode 15 Beta3
Previously art work used and porting a complex 3D mechanical Clock I am running into constant build errors using my previous art work .scn files I had some success converting my .usdz original to .scn file some convert but most just being in the art folder of the build environment cause this crash and are no longer compatible I use the same art work of gears and parts in UNITY build environment without any build issues most of my clocks have up to 35 different interacting parts These are replicas of classical clock mechanism Is any one else having problems with similar .scn files [?]
Replies
1
Boosts
0
Views
1.3k
Activity
Jul ’23
Xcode 15 Beta3 sceneKit templet
I am getting 4 warnings compiling the current template of sceneKit game /Users/helmut/Documents/spaceTime/scntool:1:1 Could not find bundle inside /Library/Developer/CommandLineTools any idea why the bundle is not installed I did a new download twice now still stuck getting these warnings about bundles not installed or not found any solution to correct the download install so the base dependencies are present thank you
Replies
0
Boosts
0
Views
1.1k
Activity
Jul ’23
Regarding Gamekit samples in apple/unityplugins
I built the Gamekit Sample in apple/unityplugins for iOS and ran "_localPlayer = await GKLocalPlayer.Authenticate();" It worked fine up to the point where the GameCenter popup was displayed. However, the "OnRealtimeMatchmake()" and "OnToggleAccessPoint()" will result in the following error "MissingMethodException: Default constructor not found for type Apple.GameKit.Multiplayer.GKMatchRequest at System.RuntimeType.CreateInstanceMono" and "MissingMethodException: Default constructor not found for type Apple.GameKit.GKAccessPoint at System.RuntimeType.CreateInstanceMono" errors and does not work properly. Please tell me what is the problem here. The environment is as follows iPhone SE (iOS15.5), Unity2020.3.33f1, XCode13.4.1
Replies
4
Boosts
0
Views
3.0k
Activity
Jul ’23
iOS Game Center achievements are resetting
We have some problems with achievements which were unlocked in Game Center. This is our first time that we implemented Game Center features inside our app and it seems that leaderboards, score reporting and unlocking achievements are all working fine. We can see unlocked achievements in the achievements board but they are becoming locked again just a few seconds later. Everything seem to be working fine except this weird behavior (all handlers are returning success etc.) We also tried many tests with different type of achievements (both with achievable more than once YES and NO achievements). It may be an expected behavior with achievements which are of kind achievable more than once but they are becoming locked again if they are not as such) As the only thing that comes to our minds: the version with achievements and leaderboard is not published yet in AppStore and we are testing achievements with some sandbox testers and a real user device. Could such resetting (becoming locked again) be due to not yet being published in store? Thanks in advance for very appreciated tries, help and assistance If it will help you guide us: * GKAchievementDescription loadAchievementDescriptionsWithCompletionHandler: returns all achievement registered in appstore connect GKAchievement reportAchievements: always return success (and so we can see them in gamecenter board) GKAchievement loadAchievementsWithCompletionHandler: returns completed achievements until that reset occurs (i.e. after completing the achievement, we send a request -&gt; it is there; a few seconds later again we send a request -&gt; it is again there; a few more tries and it is gone ...)
Replies
1
Boosts
1
Views
2.0k
Activity
Jun ’23
Game Porting Toolkit Installation
Can't able to install the game porting toolkit it is showing this kind of error i have proper version of brew and path is also correctly defined. Error: Cannot install in Homebrew on ARM processor in Intel default prefix (/usr/local)!
Replies
1
Boosts
1
Views
1.4k
Activity
Jun ’23
Hang when calling GKLocalPlayer.Local.FetchItems();
public async void FetchItems() { try { var fetchItemsResponse = await GKLocalPlayer.Local.FetchItems(); } catch(GameKitException exception) { Debug.LogError(exception); } } App hangs when calling GKLocalPlayer.Local.FetchItems(); No exception is caught. Apple.Core and Apple.GameKit plugins have been included in our project Reproducible with https://github.com/apple/unityplugins Both Unity 2020 and Unity 2021 iOS and tvOS Xcode Version 13.4.1
Replies
7
Boosts
3
Views
2.4k
Activity
Jun ’23
Game Center achievements staying hidden
I’m tracking down a bug report with a game that has a bunch of achievements that do work. I am trying to reveal the name of a hidden achievement once a player learns it is possible, but before they have any progress towards it. GKAchievement* a = [[GKAchievement alloc] initWithIdentifier: anAchievement]; a.percentComplete = 0; [GKAchievement reportAchievements: @[ a ] withCompletionHandler: ^(NSError * _Nullable error) { if (error != nil) { NSLog(@"revealAchievement: %@ failed %@", anAchievement, error); } }]; The documentation says “isHidden is set to NO anytime this method is invoked” but the achievement is not showing up in the UI. The achievement in question is returned by +loadAchievementsWithCompletionHandler:, but it is considered hidden there (lldb) po a <GKAchievement: 0x6000027993e0>id: MonsterKiller.DarkAge 0.000000 (lldb) p a.hidden (BOOL) $3 = YES I am pretty sure this code worked fine (it’s in a game that came out several years ago). Has Game Center changed (I know hidden is technically deprecated now, but I don’t see anything explaining how to reveal an achievement other than by using +reportAchievements:withCompletionHandler:. And yes, the achievement in question is configured on the server (it can be earned, just not revealed with zero progress).
Replies
2
Boosts
0
Views
2.2k
Activity
Jun ’23
Could not disable Game Center in my App ID for macOS
Hi everyone, My app was rejected for containing Game Center entitlement, here is what review team respond: Your app contains the Game Center entitlement, but it does not link against the GameKit framework. And they suggest a solution: If you do not intend to use Game Center, please remove the Game Center entitlement. My app does not have Game Center entitlement enabled, but App Identifier do have it enabled by default. The App Identifier was created years ago, and by then the Game Center was enabled mandatory, I can't deselect it since the disable button was grayed out. I thought Apple may has changed this behavior when received rejection, so I tried to disable Game Center again, but after I deselect Game Center for macOS and try to save it on developer portal, it warns me: There is a problem with the request entity Please select at least one configuration for Game Center. Is there anything I missed? Thank you in advance for any possible help. Regards,
Replies
18
Boosts
3
Views
13k
Activity
Jun ’23