Unity Native Gallery
インストール
Unity Package Manager に https://github.com/yasirkula/UnityNativeGallery.git を入力してインストールします。
それ以外にもunitypackageなども配布されているので、公式を参考に好きな方法でインストールしてください。
Project Settings
iOS
インストール直後から、Project Settings に自動的に表示されるテキストが設定されているので何もしなくても使えます。
しかしこのままだと日本語ユーザーにも英語で表示されてしまい、あまり親切ではありません。
ローカライズまで対応するには、 Automated Setup のチェックを外してXCodeの設定をするのか……? と思ったのですが、
Manual Setup for iOS · yasirkula_UnityNativeGallery Wiki
以下を導入していればCSVに NSPhotoLibraryUsageDescription
と NSPhotoLibraryAddUsageDescription
の各ローカライズ後のデータを入力するだけで大丈夫でした。
Android
Player Settings で Write Permission を External (SDCard) にしておきます。
使い方
画像を保存する使い方はとても簡単で、
NativeGallery.SaveImageToGallery(texture2d, albumName, fileName); NativeGallery.SaveImageToGallery(Resources.Load<Texture2D>(path), albumName, fileName); ver permission = NativeGallery.SaveImageToGallery(path, albumName, fileName); NativeGallery.SaveImageToGallery(bytes, albumName, fileName);
これだけです。Texture2Dだけじゃなくて byte配列や 画像の置いてあるパスの指定とかでも保存できます。返り値はpermissionの状態です。