はじめに
インターンでUnityを使うことがあるのですが、以下のようなエラーが見られました。
Assets\jawqakt\AssetHantirrpQ0\Editor\Scripts\AH_Utalsss.cs(284,79): error CS0619: 'PlayerSettings.WSA.packageLogo' is obsolete: 'Use GetVisualAssetsImage()/SetVisualAssetsImage()'
これはAssets下、AH_Utalsss.csの284行目にある「PlayerSettings.WSA.packageLogo」というものがよくない(obsolete)から、代わりに”GetVisualAssetsImage()か、SetVisualAssetsImage()”の関数を使ってね、ということみたいです。
この記事でわかること
・このエラーを私ramuneがどう解消したかわかります
※このエラー単発しかわかりません()
## なんでこの記事書いたのか
これをコピペして調べたところ、そこまで情報がでてこなかったので…
# 思考過程
まず284行目を見ると以下のようなコードでした。(コンプラ上よくなさそうなので少しぼかしてあります)
textures.Add(AssetDatabase.LoadAssetAtPath(PlayerSettings.WSA.packageLogo));
エラーは以下でした。
'PlayerSettings.WSA.packageLogo' は旧形式です ('Use GetVisualAssetsImage()/SetVisualAssetsImage()')
どうやら、ここのPlayerSettings.WSA.packageLogo がよくなさそうです。
GetVisualAssetsImage()、SetVisualAssetsImage() これらの違いがわからん、、
調べてみると
GetVisualAssetsImage() → Windows Storeでサポートされてる画像タイプ(JPG、PDFとか)、スケール(画像の大きさ)をGetできる関数
SetVisualAssetsImage() → Windows Storeでサポートされてる画像タイプ、スケールをSetできる関数
みたいです。
※詳しくはこちらから → https://docs.unity3d.com/2017.4/Documentation/ScriptReference/PlayerSettings.WSA.GetVisualAssetsImage.html
じゃあ、PlayerSettings.WSA.packageLogoとの違いは??
PlayerSettings.WSA.packageLogo → Microsoft Storeでサポートされてるアプリを表す画像。
んん、、、?Microsoft StoreとWindows Storeというのが違いみたいだけど、どう違うの?
2017年からWindows StoreからMicrosoft Storeに変わったらしいです
つまりMicrosoft Storeが最新バージョンということでしょうか。
※Microsoft Storeと Windows Storeの違いについて詳しくは→ https://handbook.jp/blog/2018/02/27/windows10_uwp/
と、いうことはWindows Storeの旧バージョンにしたらダメじゃない?
うーん、なんかいいのない?、、
# 結論
以下のように修正しました。
・修正前
textures.Add(AssetDatabase.LoadAssetAtPath(PlayerSettings.WSA.packageLogo)); //修正前
textures.Add(AssetDatabase.LoadAssetAtPath(
PlayerSettings.WSA.GetVisualAssetsImage(PlayerSettings.WSAImageType.PackageLogo, PlayerSettings.WSAImageScale._100))); //修正後
ようはGetVisualAssetsImage(ImageType,ImageScale)をつかって、Scale._100の大きさ(標準)に設定したということです。
なんだかわかりません、、
他の有識者で詳しい方いませんか、、、