I am finishing one of my project, a game made with Spritekit. I created a small menu with UIKit (1 view and few buttons). I connected SKScene and View Controller class to communicate so when game is finished, I am able to present menu.
I noticed problems with SKScene FPS. I already found some informations from 2015, on apple developer forum that this problem was spotted with iOS 9 for the first time. When I'm presenting UIView over SKScene, my FPS falls from 60 to 40. And after I hide UIView and run game again, FPS increases back.. But in about 2-3 seconds, what gives me a lag in my animations on start of the game. I tried with preloding all texture atlases first and nothing changed. Than I tought my textures are too big and problem is in my animations, and I decreased all images and its quality from 32bit colors to 16... But problem was not solved.
Then I also noticed that FPS is worse, if I animate UIView.. So there is definetly problem with combining SpriteKit and UIKit. I could pause scene before presenting UIView and unpause second or two after my view disappear again, and yeah maybe users wouldn't notice problem..
But what if I want to run my Scene in background of my UIView (like endless scrolling backgrouns), so background would move constantly when user enter menu? I know, I could do the menu with SpriteKit, but this approach seemed to work fine 2 years ago when I was last time using SpriteKit.