2024-01-01から1年間の記事一覧

UnityにおけるResourceフォルダとメモリ消費に関して

Unityのプロジェクト開発において、Resourcesフォルダとそのメモリ消費について理解することは非常に重要です。本記事では、Resourcesフォルダの特性と、それに関連するメモリ消費について詳しく解説します。 Resourcesフォルダを使った時のメモリ消費 Resou…

【Unity】【C#】UIBehaviourを利用するメリット

UIBehaviourは、UnityのUIシステムの基礎となるクラスで、MonoBehaviourを継承しています。UnityのUIコンポーネント(例えば、Button、Image、Textなど)はすべてUIBehaviourを基礎として構築されています。UIBehaviourを使用することで、UIに特化した機能や…

ポーリングとロングポーリングの利点・欠点の比較

ポーリングとは ポーリング(Polling)は、クライアントが定期的にサーバーにリクエストを送信して、新しいデータがあるかどうかを確認する方法です。これは、クライアントとサーバー間でのデータ同期や更新の確認に使用されます。 ポーリングの仕組み クラ…

【Unity】UniTaskを利用した条件待機 - WaitUntileとWaitWhile

UniTaskには、非同期で特定の条件が満たされるまで待機するためのメソッドとして、WaitUntilとWaitWhileがあります。正直使おうと思うとどっちがどっちがごちゃることが多いのでここに備忘録を残しておきたいと思います。これらのメソッドは、Unityのゲーム…

【Unity】UniTaskで「キャンセル時の処理」を登録する - RegisterWithoutCaptureExecutionContextの機能と使い所

RegisterWithoutCaptureExecutionContext の機能と使い所 RegisterWithoutCaptureExecutionContextは、CancellationTokenがキャンセルされた時に実行したい処理を登録するためのメソッドです。こちらはUniTask用のメソッドで、通常のTask用に Register メソ…

【Unity】UniTask終了時に必ず実行したい処理を登録する方法

UniTaskを使って非同期処理を書いた場合に、「早期returnしたいけど必ずこのスコープが終了する時に実行したい処理があるんだよなぁ・・・」というシチュエーションがありがちです。 その場合に using構文とIDiposableを使って終了時の処理を最初に登録し、…

【Unity】【C#】メンテナンス性を向上させるIReadOnlyList

せっかくC#を使っているので便利で簡単に使えるインターフェースを使わないのは勿体無いと思うのです。 IReadOnlyListはどこでも使えるし、メソッドの引数をListやArrayからこちらに変えるだけで意図を明確に堅牢なコードになるのでおすすめです。 この記事…