FPSを表示するプログラム
FPSはFrames Per Secondの略で、ゲームが滑らかに動くかどうかの指標です。
1秒間に何枚の静止画が表示されるかの指標です。
- 滑らかな動き:60FPS以上
- 滑らかな動き:40~60FPS
- カクカクした動き:20FPS以下
10FPS以下ぐらいになると、キーボードやマウスの操作がままならなくなります。
自分で作成したゲームが、異なる環境で実行すると、どの程度のFPSであるかを表示するプログラムを作りました。
ここでは、主にGitHub Copilotで作ったプログラム(GameManager)を説明しています。
プログラム以外の部分、FpsTextの作り方や、GameManagerにFpsTextをアタッチするところなどは、簡単な説明に留めています。
そのため、Unityの全くの初心者には「???」となると思いますが、FPSプログラムの大体の感じはつかめると思います。
Unityの学習リソース
FpsTextの作り方やアタッチ方法については、以下の学習リソースがオススメです。
- YouTube:超初心者向けUnityの使い方① ~ 超初心者向けUnityの使い方40
Textの画面配置やアタッチとは何かとかが、しっかりと理解できます。
- アタッチって何?
Unity Play
Unity Playは、Unityで開発したゲームを公開・共有できるWebサービスです。
今回作成したプログラムはUnity Playに公開しています。
ご自身のPC環境でどの程度のFPS値になるかをチェックしてみてください。

[プレイ]ボタンをクリックすると動きます。
- フルスクリーン表示(全画面表示)にすると、FPSが見えます
ワールド中を動き回るときは、一旦画面をマウスクリックしてください。
- 一旦画面をクリック
- カメラ移動:WASDキー もしくは 矢印キー
- カメラ回転:マウス
FpsTextの作成
ヒエラルキー
- SampleSceneにCanvasとTextを設置します
- TextをFpsTextとリネームします
インスペクター
- Canvas内でのTextの位置を指定
- フォントサイズ、色などを指定
- テキストの内容を記述(FPS : 100)

GameManagerの作成
GitHub Copilotへのプロンプト
今回のプログラムは、どんな感じなるか分かっていたので、プロンプト※も簡単でした。
以下、今回のプロンプト
- テキスト表示のための名前空間
- FPSテキストを表示するための変数
- FPS更新間隔
- timer
- タイマー更新
- updateInterval時間経過したらFPS更新
- FPSを小数点以下を四捨五入して計算
- FPSテキスト更新
- タイマーリセット
プロンプト( ● )を入力すると、プロンプト( ○ )はCopilotから提案してきます。
プロンプトを入力するで、コードはほぼ自動で出来上がります。
※プロンプト:生成AI(GitHub Copilot)に入力する日本文(英文)のこと。呪文と呼ばれることもある。
GameManager.cs
以下、Copilotがプロンプトから生成したプログラム(GameManager.cs)

GameManagerのアタッチ
アタッチ(Attach)の一般的な意味は、「関連付ける」とか「装着する」などです。
- アタッチ:関連付ける、装着する、など
Unityにおけるアタッチは、コンポーネントをゲームオブジェクトに追加することです。
今回は、以下のアタッチが必要です。
- GameManagerにGameManager.csをアタッチ
- GameManager.csのFpsTextに、CanvasにあるFpsTextをアタッチ
GameManager-Attach:画面クリックで拡大表示