Unity as a Library (以下UaaL)をどうにかSwiftで使いたいのでなんとか方法を探していましたが、偉大な先人がいらっしゃいました。
大変ありがたいですね!
それでUaaLやり方を一通り説明している動画は以下にあるのですが、
それを文章としてまとめました。
1.https://github.com/hrkd/uaal-example を自分のMacにダウンロード
2.1を展開して、UnityProject/Assets/Plugins フォルダだけを自分のプロジェクトにコピー
3.自分のプロジェクトを普通にiOSビルド(iOS/フォルダ)
4.UaaLフォルダ(名前は何でも良い)を3と同じ階層に作る(UaaL/、iOS/ が並ぶ感じ)
5.1のNativeiOSApp/ をコピー
6.4のNativeiOSApp.xcodeprojを開く
7.UaaL/、iOS/ フォルダがあるところに、New Workspace→”both”を作る
8.6を閉じる
9.File->Add File to “both” で6のプロジェクトを追加
10.同様に3で作った自分プロジェクトを追加
11.NativeiOSAppのプロジェクト設定のGeneralのタブの「Framework, Library, and Embedded Content」の+をクリックして、UnityFramework.framework を追加
12.自分プロジェクトの方に戻ってLibraries/Plugins/iOS/ のNativeCallProxy.h のプロパティ(右側のタブ)のTarget Membership のUnityFrameworkにチェックを入れて「Public」
13.自分プロジェクトのDataフォルダのプロパティも12と同様、にUniryFrameworkにチェックしてPublicに
14.自分プロジェクトのMainApp/main.mm のmain関数の「この行を付け足す」部分だけ付け足す
int main(int argc, char* argv[]) { @autoreleasepool { id ufw = UnityFrameworkLoad(); [ufw setDataBundleId:"com.unity3d.framework"]; // ←この行を付け足す [ufw runUIApplicationMainWithArgc: argc argv: argv]; return 0; } }
以上です!