I would recommend using GameController framework and GCController class. I have implemented RemoteController class which detects Siri Remote (1st and 2nd generation), iOS Remote (tvOS remote controller on iPhone) and Nimbus+ and PS game controllers. GCController has the advantage of programmatically add such tweaks as handling arrows on old remote with touch pad in a similar way as on new remote with arrow buttons - user must press touch pad down on old remote to trigger arro press.
Topic:
UI Frameworks
SubTopic:
SwiftUI
Tags: