Firstly, thanks for this post and the project. I’ve been fighting with this for a couple of days now. In your project all works as you say it does however in my app, my SpriteKit scene is actually set as the overlaySKscene in a SceneKit app.
I’ve just forked your repo and added a duplicate target which mimics my own apps behaviour, placing your PositionMenuScene3 into the SceneKit view.
The app starts just fine, however after that the focus engine ceases to fire any events or callbacks. I suspect this is a bug in the API, however I’m wondering if you’ve seen this and if there is a workaround.
To me, it is maddening that the API requires workarounds such as the one you’ve implemented with the ShadowMenuButton.
My repo is at: https://github.com/pkclsoft/spritekit-focusengine