top of page



What I Learnt

○ SceneKit & ARKit
○ Xcode Scene Builder
○ Dynamic Texture Maps
○ Shadow & Lighting Maps
○ 3D Animation
○ Particle Systems
○ Xcode Instruments
○ SpriteKit Overlay (HUD)
○ AR Anchoring & Scaling
○ External Beta Testing

Latest Release

May 2020

AppStore Category



2020 Luke Mulholland

About the App

HoopSwing was my first SceneKit app submitted to the AppStore. I had worked with SpriteKit before, so it was somewhat familiar, but adding the extra dimension, without doubt, required more consideration.

I designed the majority of the environment within Xcode Scene Builder, importing .obj files from CAD where needed (I guess that engineering degree came in useful after all!).

Piece by piece, I then began programmatically adding materials, texture maps, physics bodies and animations to each of the scene objects to give the final look and feel. I distinctly enjoyed seizing the opportunity to make use of the reflection probe, to provide a realistic, warped reflection of the scene onto the swinging sphere.

However, adding these computationally high textures was not without drawbacks, and the game began to drop frames. Time to call in the big shots; Xcode Instruments. It was another first for me, but working with TimeProfiler, SceneKit and Game Performance, I managed to find and remove the worst of the bottlenecks and the game was playable once again.

To round it off, the HUD, Particle Systems, IAPs and soundtrack were finalised and beta tested before launching.

In a later update, I added AR capability, which was an unforgettable self-learning exercise due to the limited help available at the time. Particularly for scaling and resizing the scene without affecting the physics engine. Without a doubt, the effort was worth it in the end and I was extremely happy with the new addition to the game.

bottom of page