XTerminal
- Digital1,500 JPY

XTerminalは、Unity内でLinuxライクなCLI体験を実現する文字列ベースのコマンド実行フレームワークです。パイプやリダイレクトなどのシェル構文に対応し、ファイル操作やテキスト処理、Unityオブジェクト操作まで幅広い組み込みコマンドを提供します。`async/await`による非同期実行と(任意の)UniTask対応により、エディタ拡張やデバッグツール、レベル編集支援など、開発ワークフローに組み込みやすい設計です。 開発中のデバッグコンソール、ツール内ターミナル、インゲームの管理CLIなど、Unityプロジェクトの生産性を高める用途に最適です。
主な特徴
・パイプ (`|`) / リダイレクト (`>`, `>>`, `<`) 対応のシェル構文 ・ファイル操作・テキスト処理・Unity操作などの組み込みコマンド ・カスタムコマンドを簡単に追加できる拡張性 ・変数展開 (`$NAME`, `${NAME}`) とタブ補完 ・大量ログ表示に最適化された仮想スクロールビュー ・Ctrl+Cによる実行中コマンドのキャンセル
主な機能
・パイプ/リダイレクトを含むコマンド解析と実行 ・`async/await` による非同期実行(UniTaskにも対応) ・コマンド/パスのタブ補完 ・シェル変数の定義・参照・削除 ・カスタムコマンド登録(手動/アセンブリ自動登録) ・大量ログ向けFlyweightScrollView
動作環境
・Unity バージョン:6000.0 以上 ・依存パッケージ:com.unity.ugui 2.0.0 ・オプション依存:UniTask 2.0 以上(導入時に自動でUniTask対応)
アップデート履歴
[1.0.1] - 2025-02-04 Added ・`pbcopy` コマンド パイプラインの出力をクリップボードにコピーする機能 例: `echo Hello | pbcopy` ・Transform演算機能 `transform add/sub/mul/div` サブコマンドを追加 ・Position、Rotation、Scaleの四則演算をサポート 例: `transform add /Player -p 1,0,0` ・Property演算機能 `property add/sub/mul/div` サブコマンドを追加 数値型(int, float, double等)の四則演算 ・Vector型(Vector2, Vector3, Vector4, Vector2Int, Vector3Int)の四則演算 例: `property mul /Player Transform localScale 2,2,2` ・ValueConverter 汎用的な型変換・演算ユーティリティクラスを追加 ・数値型・Vector型の加減乗除をサポート Fixed ・**`tail -f` コマンドの改善** ファイル更新検出をFileSystemWatcherからポーリング方式に変更し、信頼性を向上 ファイルが切り詰められた場合に「tail: file truncated」メッセージを表示し、最後のN行を再出力 ・ファイル削除後の再作成時に正しく内容を取得 ・複数行の追記時に正しく改行を処理 ・パーサーの負の値対応 `-1,2,3` のような負の数値を含む引数がオプションとして誤認識される問題を修正 ・Vector形式の引数(カンマ区切り)を正しく値として認識 Changed ・コードの整理 不要な空行の削除 `#region` ディレクティブの削除
サンプル
Demo https://agnitionis.xsrv.jp/XTerminalDemo/Sample/ HackingGame https://agnitionis.xsrv.jp/XTerminalDemo/HackingGame/
