技術と趣味の亜空間

主にゲームプログラミングとその周辺に関する記事を不定期で上げていきます

【Unity】TextMeshProは将来的にレガシーに移行? 今後はTextCoreが主流に?

TextMesh Pro Title

概要

UnityエンジンのTextコンポーネントに取って代わり、高品質な表現が可能であっという間に主流になり、最終的にUnity公式プラグインとして組み込まれたTextMesh Proですが、どうやら中の人の異動を契機にTextCoreというコアエンジンモジュールへと将来的に切り替わる模様。

forum.unity.com

元々外部アセットであるためか複雑なコードの保守となるとかなり大変だったようで新しく仕切り直しになる模様。
フォーラムを読む限り、TextMesh Proが完全にdeprecatedになるのは今じゃなく、しばらくはエコシステム(?)の簡略化に努める模様。
その後、TextCoreに統合されるという流れみたいですね。
また、合わせてUnityエンジンの旧Textコンポーネントは完全に廃止となる見込みのようですね。
これらの変更は Unity 2024.1 までは影響がないということを明言されていますので、しばらくは大丈夫だとは思います。

Addressable対応に関して

これにより、公式によるAddressablesへの対応はかなり絶望的になったので各自で対応するしかなさそうですね…。*1
Addressablesに対応させた自作したプラグインもありますので、もしよろしかったらこちらをお使いください。

goropocha.hatenablog.com

*1:もともと直接サポートする予定は無いというアナウンス自体は昔されていました

【GitHub】WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

2023年3月24日 5:00 UTC にて、GitHub側のホストのキーを更新したみたいで、
その影響でGitプロジェクトのフェッチ等をすると以下のエラーがでます。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
SHA256:uNiVztksCsDhcc0u9e8BujQXVUpKZIDTMczCvj3tD2s.
Please contact your system administrator.
Add correct host key in ~/.ssh/known_hosts to get rid of this message.
Host key for github.com has changed and you have requested strict checking.
Host key verification failed.

解決方法

ターミナルで以下を実行してください

$ ssh-keygen -R github.com

参考サイト

github.blog

TextMeshProをAddressablesに対応させる

TextMesh Pro Title

概要

TextMeshProのフォントデータやシェーダといったリソース関係は "Essential Resources" としてローカルフォルダに設置しますが、このフォルダがResourcesフォルダであるため、Addressable 化するには Resources フォルダから外してやる必要があります。
しかし外すとUnity起動時やゲーム実行時など、事あるごとに「Import Essential Resources」の初期設定ポップアップが表示され、まともに開発できなくなります。
TextMeshPro を使っているシーンやプレハブを Addressable にした場合は、 TextMeshPro も一緒に Addressable に対応しないと、依存関係の問題でフォントデータなどが二重でメモリに読み込まれることになります。特に日本語フォントデータは大体16~32MBくらいになると思うので、それが2倍になると考えるとプロダクトでは大きな課題となります。

今回はこの問題を解決する記事となります。

執筆時環境:

  • Unity 2021.3.3f1
  • TextMeshPro 3.0.6
  • Addressables 1.21.2
続きを読む

【iOS実機エラー】Library not loaded: @rpath/OneSignalCore.framework/OneSignalCore

概要

UnityのOneSignal SDK3.0.9 にアップデートしてiOSの実機ビルドしたら起動直後にクラッシュが発生。
ログを取ってみると、表題のエラーが発生していた。
なお、本件はiOSのみで発生しAndroidでは問題なかった。

エラーログ

2023-02-22 14:49:42.993928+0900 App[990:237591] [general] Error loading /var/containers/Bundle/Application/.../App.app/Frameworks/UnityFramework.framework/UnityFramework (130):  dlopen(/var/containers/Bundle/Application/.../App.app/Frameworks/UnityFramework.framework/UnityFramework, 0x0109): Library not loaded: @rpath/OneSignalCore.framework/OneSignalCore
  Referenced from: <...> /private/var/containers/Bundle/Application/.../App.app/Frameworks/UnityFramework.framework/UnityFramework
  Reason: tried: '/private/var/containers/Bundle/Application/.../App.app/Frameworks/OneSignalCore.framework/OneSignalCore' (errno=2), ....

執筆時の環境

  • Unity 2021.3.3f1
  • OneSignal SDK 3.0.9
  • Xcode Version 13.2.1 (13C100)
  • CocoaPods 1.11.2
  • Ruby 2.6.10p210
続きを読む