Re UESwift vs SwiftMain: there was a refactor there changing the file name. I think you are correct.
In theory this swift/cpp setup should be the same on ios as visionOS. I think, by default anyway, we aren’t using it on ios. Only on visionos. I was specifically working on launching the immersive space, so I made my change visionos specific.
Re: outside the engine.
Yes, I’m not exactly sure how to tie the swift files in engine and out of engine together. Would the notificaiton mechanism be enough? Not sure.