Picking the right ecosystem is definitely a game changer! No pun intended. Love SceneKit. Love Swift. But those tools do not provide a mature game development environment.
Scene design, character animation, state management, debugging, platform adoption just are not good enough in SceneKit nor XCode.
You will spend a lot of time trying to recreate the out of the box functionality that Unity provides. And trying to debug the game you are creating.
States (for objects) are one of the things that Unity does really well. You can create states that have associated animations. You can control how objects transition from one state to another.
While debugging in Unity, you can visually see the state that an object is in.
You can assign code to a state for an object to help manage state behavior.
You can also debug your game visually and from code real time. Select any object in the designer as the app is running and see the properties of that object. Real time! Modify those properties real time as well.
You can add objects to your avatar bone structure in the Unity designer. This allows adding weapons and particle effects to your avatar.
Unity allows you to add events to your bone animations. The events can be handled by code. This greatly enhances your ability to control the behavior and appearance of your characters.
XCode simulators vs Unity Debugger? No comparison here. Unity lightyears better!
Unity would have saved me so much time if I would have chosen it first instead of Apple Scene Kit.
Taking the time to convert my Bleeping Bots game to Unity from Swift / Scenekit just makes possibilities more real (no pun here either)!!!
Now where is that time machine?