動作確認環境: Unity 6(6000.x)/読み替え表は2026-10-10時点の情報です
チュートリアルの通りに書いたのに、Consoleに黄色い警告が出る。AIに聞いたコードをコピペしたら「obsolete」と言われる——壊れてはいないけど不安なこの状況、原因はコードのミスではなく、参考元が古いだけかもしれません。
Unityは20年近く進化を 続けているため、ネット上の記事・動画・AIの学習データには非推奨(Obsolete)になったAPIが大量に残っています。この記事では、非推奨の仕組みと、Unity 6時代によく出会う新旧APIの読み替え表、そして知らないAPIの警告に出会ったときの調べ方をまとめます。ブックマークして辞書的に使ってください。
この記事でわかること
- 「非推奨(Obsolete)」の仕組みと、警告→削除の段階
FindObjectOfTypeやRigidbody.velocityなど頻出APIの読み替え表- 警告メッセージから代替APIを自力で見つける方法
- 警告を1件直して「同じ動作」まで確認する、安全な引っ越しの型
- 古い情報(記事・動画・AI出力)と付き合うコツ
なぜAPIは「古く」なるのか?
Unityは機能改善のたびに、古いAPIをいきなり消すのではなく、段階を踏んで引退させます。

- 現役: 普通に使える
- 非推奨(警告):
[Obsolete]属性が付き、使うと黄色い警告が出る。まだ動く - 非推奨(エラー): コンパイルエラーになる。書き換えないとビルドできない
- 削除: APIそのものが消える
いきなりエラーになるものや、長く警告のまま残るものもありますが、多くはこの順に進みます。つまり黄色い警告は「今すぐ壊れはしないが、引っ越しの準備をしてね」という予告です。慌てる必要はありませんが、新しく書くコードで旧APIを使う理由もありません。
頻出API読み替え表
初心者が古いチュートリアルで特に出会いやすいものを集めました。上から順に遭遇率が高い印象です。

| 古い書き方 | 新しい書き方 | 補足 |
|---|---|---|
FindObjectOfType<T>() | FindFirstObjectByType<T>() | 「どれでもいい」ならFindAnyObjectByType<T>()が高速 |
FindObjectsOfType<T>() | FindObjectsByType<T>(FindObjectsSortMode.None) | ソート指定が必須になった。Noneが最速だが 並び順は保証されない(実践参照) |
Rigidbody.velocity | Rigidbody.linearVelocity | Unity 6で改名。2D版もlinearVelocity |
Input.GetKeyなど(旧Input) | New Input System | 旧方式も当面併存。移行は New Input Systemの記事 参照 |
WWW | UnityWebRequest | 通信APIの旧世代。かなり前から非推奨 |
Application.LoadLevel() | SceneManager.LoadScene() | using UnityEngine.SceneManagement;が必要。SceneManagerの記事 参照 |
File > Build Settings | File > Build Profiles | APIではな くメニューの変更(Unity 6) |
なお、Unity 6.4 で Find 系がもう一度変わりました。FindFirstObjectByTypeと、FindObjectsSortModeを渡すFindObjectsByTypeも非推奨になり、6.4 以降の移行先はFindAnyObjectByType<T>()と、引数なしのFindObjectsByType<T>()です。表の書き換え先でまた警告が出たら、自分の Unity の版(6000.4のような番号)を確かめてください。
// 古いチュートリアルによくある形
GameManager gm = FindObjectOfType<GameManager>(); // 警告が出る
rb.velocity = new Vector3(0f, 5f, 0f); // 警告が出る
// Unity 6時代の書き方
GameManager gm = FindFirstObjectByType<GameManager>();
rb.linearVelocity = new Vector3(0f, 5f, 0f);
補足:
FindFirstObjectByType系は「シーン全体を検索する重い処理」である点は旧APIと同じです。毎フレーム呼ばずにStartで1回取得してキャッシュする、そもそも参照の設計を見直す、といった基本は GetComponentの記事 や イベントチャネルの記事 が参考になります。
警告に出会ったときの調べ方
この表にないAPIで警告が出ても、自力で解決できます。手順は2つだけです。