🏃

RealityKit.Systemのregisterはどこで呼ぶべきなのか

に公開

Systemのregisterはどこで呼ぶべきなのかが気になったので調べてみました。
Appleの"Building an Immersive Experience with RealityKit"のコードを見てみると、registerはAppDelegateの起動処理の中で呼ばれていました。

https://developer.apple.com/documentation/realitykit/building_an_immersive_experience_with_realitykit

"Creating a spatial drawing app with RealityKit" では、RealityViewのmakeで呼ばれていました。

https://developer.apple.com/documentation/realitykit/creating-a-spatial-drawing-app-with-realitykit

同じプロジェクト内ではモデルクラスのinitで呼ばれていました。

特に公式でどこで呼ぶべきかというのが統一されているわけではなさそうです。
基本的には1度だけ呼ばれるような場所が良いかなと思います。
SwiftUIのinitや、onApparは何度か呼ばれる可能性があるので避けた方が良いかもしれません。

Discussion