AddressableをIDisposableで管理する

Addressable、めっちゃ便利だけどAsyncOperationHandleを握っておいてReleaseメソッドを呼ぶ。という開放がちょっと面倒なんですよね。 そこで、IDisposableで管理できるようにしてみました。 合わせて読みたい -> EditorではAddressableのロードを早くする …

TextMeshProのAutoSizeは実行時に使うとめっちゃ重いのでAgileBestFitを使いましょう

uGUIの"BestFit"とかTextMeshProの"AutoSize"、便利だけど流石にパフォーマンス的にヤバすぎん?って思って調べたら公式も「サイズ調べるために使うためのものでサイズわかったら切ってね」って言ってた> TMP AutoSize performance vs UGUI's BestFit? https…

IUniTaskAsyncEnumerableを使って操作の先行入力を実現する

public class Sandbox1 : MonoBehaviour { public void Start() { var channel = Channel.CreateSingleConsumerUnbounded<ICommand>(); SetupWriter(channel.Writer); SetupReader(channel.Reader).Forget(); } private void SetupWriter(ChannelWriter<ICommand> channelWriter)</icommand></icommand>…

よく使うアセットをすぐ呼び出せるエディタ拡張、AssetBookmarksを作りました!

github.com アセットを登録しておいたら表示しておいてくれる。 ただそれだけのエディタ拡張です。 よく使うAsset(シーンとか設定用のSerializedObjectとか)を登録して表示しておけるエディタ拡張作りました。類似アセットとの違いは・登録はDrag&Dropする…

CIでUnity向けの静的コード分析を走らせる

あのResharperやRiderで使われている静的コード分析をCI(=コマンドライン)で、それも無料で使えちゃうんです。 CIで実行することで、PullRequestの自動チェックで走らせて未然に事故を防ぐことが出来ます。 静的コード分析って? コードを分析して、以下のよ…

IDisposableの寿命をシーンに紐付ける

ああ〜このリソース、Sceneの寿命に紐付けたいな〜って時ありますよね。 var disposable = Disposable.Create(() => {}); disposable.AddTo(Lifespan.Scene); これを実現するのが以下のコード。 using System; using UnityEngine; using UniRx; using Object…

New Input SystemをPlayerInputを通さずに使う (v1.0.2)

このあたりインターフェイスが変わりまくっているようで、ググって出てきた情報が古かったので1.0.2時点での使い方を置いておきます。 公式のクイックスタートを読んでも、PlayerInputを通した使い方しか書いておらず、 いやいや、そんなMonoBehaviourにベッ…

特定条件までawaitしつつも毎フレームこれを実行したい!

async/awaitで、特定条件までawaitしつつも毎フレームこれを実行したい!みたいなめっちゃゲームでしか出てこなさそうなことをどう書くと綺麗に書けるか考えている。 とりあえず素直に書くならこう。 var cancellationTokenSource = new CancellationTokenSo…

Gotanda.unity #17 で講演しました

Gotanda.unity #17 講演内容 Adobe XDを使うと、こんなに効率よくゲームUIが作れちゃうの!?

UnityEditor上でAddressableのAssetを同期的に読む

Testとかのために同期的にAddressableからAssetを読みたい時用。 public static class EditorAddressables { public static AddressableAssetGroup[] GetGroups() { var settings = UnityEditor.AddressableAssets.AddressableAssetSettingsDefaultObject.Se…

Unity1Weekに参加して "SquareSquare" を公開しました!開発記録。

今回は動画を見せたいというのもあってツイートからの転載多めでお送りします。 1週間でゲームを作るイベントに参加して"SquareSquare"ってゲームを公開しました!マウスカーソルで■を操作し、次々と迫りくる赤い□をくぐり抜けよう!たった10秒で、音ゲー力…

Unity VisualScriptingでUI遷移 + アニメーション付けてみた

Unity2021から入るVisualScriptingでUI遷移 + アニメーション作ってみた!アニメーションを実行中にいじりながら確認できるのは便利そう!#unity #visualscripting pic.twitter.com/iFcmRLIzfo— きゅぶんず (@kyubuns) 2021年2月27日 説明 Start, Menu 中身…

Unity VisualScripting用のEasingアニメーションライブラリ、ApureEasingを作りました!

github.com コンセプトは、加工しやすいようにシンプルに値だけを出力するもの。 HogeEasingRawを使うと0~1の入力を受け取って値を帰すバージョンもあります。 ちなみに、AnKuchenもVisualScripting対応しました。 AnKuchenがVisualScripting対応しました!…

Androidを持ってない!けど動作確認をしたい!そうだAWS DeviceFarmを使おう!

AWS Device Farmという、ブラウザだけで実際のモバイルデバイスでの挙動をテストすることが出来る便利サービスを紹介します。 タイトルにAndroidって書いちゃいましたが、iOSも借りれます。 用途 Androidの実機を持っていない!でも、実機で動作確認をしたい…

モバイルで使いやすいデバッグコンソール、AbcConsoleを作りました!

github.com 機能 Debug.Logの出力を実機で確認、クリップボードにコピー出来ます。 入力補完付きのテキストボックスで、モバイルでも素早くデバッグコマンドが打ち込めます。 この入力補完付きって部分が探してもなかなか見つからなかったので作っちゃいまし…