Unity 6 のマニュアルを見ていたら、Roslyn Analyzer についての機能追加があったので紹介します。 docs.unity3d.com Microsoft.CodeAnalysis.Csharp 4.3 アナライザおよびコードジェネレーターをビルドするときに使用する Microsoft.CodeAnalysis.Csharp の…
先日リリースされたUnity 6.3から、UI Toolkit(旧UIElements)を使ったUIのテストをサポートするUI Test Frameworkパッケージ(com.unity.ui.test-framework)が使えるようになりました。 docs.unity3d.com UI Toolkitは徐々に存在感を増しながらも、テスタ…
Unity Test Framework でUIを操作するテストを書くときに便利なライブラリ UI Test Helper パッケージのバージョン 1.0.0 をリリースしました。 元々モンキーテスト用のライブラリ(旧称 Monkey Test Helper)として開発していましたが、モンキーに限らずUI…
CEDECはじめゲーム領域でもテスト自動化の事例紹介が増えましたが、従来の手動テストを自動テストに置き換えるアプローチが紹介されることが多く*1、ROIが高く小規模なタイトルであっても取り組める開発者テストの事例・情報は少ないのが現状です。 そんな中…
最近は Claude Code 中心に使っていて、Unityプロジェクト(といってもゲームでなくUPMパッケージ開発が多い)でもそこそこ安定するワークフローが固まってきました。 一例として紹介します。 目的 紹介するワークフローの目的は次の2点です。 できるだけ自…
株式会社ディー・エヌ・エー(以下DeNA)が公開しているオープンソースのUnity向けオートパイロットフレームワーク Anjin(あんじん)に関する記事・リソースのまとめです。随時更新予定。 github.com DeNA公式 swet.dena.com swet.dena.com メディア gamema…
Googleの提供するマルチモーダルLLM Gemini を利用して、ゲームプレイの自動テストの合否判定を画像(スクリーンショット)ベースで行なう方法を紹介します。 これまでも、Anjin などのオートパイロットフレームワークを利用することで規定のシナリオに沿っ…
株式会社ディー・エヌ・エー(以下DeNA)が公開しているオープンソースのUnity向けオートパイロットフレームワーク Anjin(あんじん)は、シナリオ終了時に動作するReporterを設定できます。 ビルトインではJUnit形式のテストレポートを出力する JUnitXmlRep…
EditorConfig は、異なるIDE間でもコーディングスタイルや静的解析の設定を共有できる機構です。 JetBrains Riderをはじめ、多くのIDE/ エディタでサポートされています。 本稿では、筆者の使用している設定を紹介します。 Roslynの.editorconfig 元にしてい…
Unity上でオブジェクトベースのモンキーテストを実行できる Monkey Test Helper パッケージ*1の v0.15.0 では、いくつか破壊的変更が入りました*2。 そのマイグレーションについて解説します。 Monkey Test Helper は、オートパイロットフレームワーク Anjin…
Unity上でオブジェクトベースのモンキーテストを実行できる Monkey Test Helper パッケージ*1のトラブルシュート資料を和訳しました。 対応バージョンは 0.14.0 です。 Monkey Test Helper は、オートパイロットフレームワーク Anjin の UGUIMonkeyAgent の…
コミックマーケット105、無事終わりました。 ご購入いただいた方々、また、スペースにお立ち寄りいただいた方々、準備会やインフラの方々、本当にありがとうございました。 新刊は電子・物理ともBOOTHで販売しております。 新刊は折を見て(遅くとも次のイベ…
株式会社ディー・エヌ・エー(以下DeNA)が公開しているオープンソースのUnity向けオートパイロットフレームワークAnjin(あんじん)を紹介する同人誌を、コミックマーケット105の2日目(月曜)西う47b「いか小屋」で頒布します。 企画当初は「必要なことはR…
Unity Advent Calendar 2024 シリーズ2、9日目の記事です。 いつの間にかUnityに買収され、名前が Unity Version Control となった Plastic SCM。 Unityエディターからでも、フルクライアントからでもリポジトリを操作できます。 しかし、やっぱりRiderから…
Anjin v1.8.0がリリースされました。大きめのマイナーチェンジ()なので、変更内容を紹介します。 本バージョンでは主に、可用性を広げる機能が追加されています。 github.com Anjinパッケージ(com.dena.anjin)は、株式会社ディー・エヌ・エーが開発・OSSと…
Unity Test Framework でテストを書くときに便利なライブラリ Test Helper パッケージのバージョン 1.0.0 をリリースしました*1。 github.com Test Helperパッケージは、Unity Test FrameworkおよびNUnit 3の属性(attribute)、Comparer、制約(constraint…
Unity 6以降で利用できる Multiplayer Play Mode (以下MPPM)パッケージを使うことで、Unityエディターに加え最大3つのVirtual Playerを起動してマルチプレイ対応ゲームの動作確認を簡単に行えるようになりました。 とはいえ、複数のVirtual Playerウィンド…
Anjin v1.3で追加された機能を使って、スマートフォンゲームによくあるアウトゲームのチュートリアル(次に押せるボタンが限定される系)を自動で突破するオートパイロット設定の方法を紹介します。 Anjinパッケージのインストール Anjinパッケージ(com.den…
Unity製プロジェクトにおいて、(ユニットテストでなく)UIを操作して動作を確認するテストを書くことがあります。 uGUIコンポーネントの操作に関しては『Unityバイブル R5夏号』の SECTION 06「ゲームプレイの自動テスト」の中で「アウトゲームのテスト」と…
コミックマーケット103、無事終わりました。 ご購入いただいた方々、また、スペースにお立ち寄りいただいた方々、準備会やインフラの方々、そしてお手伝いいただいたきみかさん、本当にありがとうございました。 毎回楽しいのですけれど、今回特に楽しくて(…
GitHub Copilotはそのまま使っても便利ですが、その特性を活かす共同作業の形として「ペアプロTDD」がお勧めです。 実際にCopilotとのペアプロTDDで「ローグライクRPG」を開発していく過程を紹介する同人誌を、 コミックマーケット103の2日目(日曜)東U44b…
本記事はUnity Advent Calendar 2023 シリーズ2 21日目の記事です。 UnityでNuGet Galleryに公開されている.NET向けパッケージ(以下NuGetパッケージ)を使う場合、nugetコマンドでは管理できないためパッケージ(依存パッケージもすべて)を自分でダウンロ…
本記事はソフトウェアテスト Advent Calendar 2023 2日目の記事です。 自動テストを書いていて、テストコードで検証目的を達成できず「目視で確認」とするのは負けた気持ちになりますし、テストを実行するオペレーターやコントリビューターのモチベーション…
Unity Test Framework および NUnit では、テストコードに付与できるさまざまな属性(attribute)が提供されています。 また拡張ポイントであるインターフェイスを実装することで、プロジェクト独自のカスタム属性を定義してテストコードで使うこともできま…
Unityプロジェクトのバージョン管理にGitHubを使用している場合、GitHub ActionsワークフローでWebGLビルドを行ない、そのままGitHub Pagesに公開する方法を紹介します。 GitHub Pagesは、GitHubリポジトリに紐づく静的コンテンツをホスティングできる機能で…
コミックマーケット102、無事終わりました。 ご購入いただいた方々、また、スペースにお立ち寄りいただいた方々、ありがとうございました。 頒布した書籍の詳細・フォローアップは次の記事を参照してください。 www.nowsprinting.com www.nowsprinting.com …
テスト自動化のノウハウ・ベストプラクティスを岡本太郎の言葉で紐解く、そんな同人誌をコミックマーケット102の2日目(日曜)西お40b「いか小屋」で頒布します。 想定読者 テスト自動化エンジニア及びSET 自動テストの導入を検討しているプロジェクトのオー…
8月29日に発売される『Unityバイブル R5夏号』の予約受付中です。Amazonに書影も出ました。 Unityバイブル R5夏号作者:室星 亮太,細田 翔,山本 剛史,小林 慶祐,長谷川 孝二,遠藤 大介,矢部 喜久,kakunpc,notargs,角 真宇ボーンデジタルAmazon 鈍器とか質量兵…
PlayModeWindowは、Unity 2022.2で追加されたクラスです。 従来、UnityエディターのGameビューをスクリプトから操作するにはリフレクションによる非公開APIの使用が必要でした。 Unity 2022.2からは、PlayModeWindowクラスの静的メソッドで操作できます。 Pl…
本記事は、拙著『Unity Test Framework完全攻略ガイド 統合テスト編』の付録Bから抜粋したものです。 バッチモードとは バッチモードとは、Unityエディターをコマンドラインから起動するときに -batchmode オプションを付けることでヘッドレス動作するモード…