【Unity error CS0619】Standard Assetsをインポートしたときのエラーの解決方法


# 動画

https://youtu.be/G-ywWomgk9o

<br>

# エラーテキスト

Assets\Standard Assets\Utility\SimpleActivatorMenu.cs(10,16): error CS0619: 'GUIText’ is obsolete: 'GUIText has been removed. Use UI.Text instead.’

「GUIText は廃止されました」
GUITextは削除されました。代わりにUI.Textを使用してください。

日本語に訳すとこう書いています。
<br>

# 解決法

## 1.エラーで指定されたファイルを開く
SimpleActivatorMenu.csを開く。
エラーコードをダブルクリックすると、目的のファイルを開いてくれます。
<br>

## 2.GUI.TextをTextに変更する。
SimpleActivatorMenu.cs内の

|public GUI.Text camSwitchButton;|
|-|

| public Text camSwitchButton; |
|-|


に変更。
<br>

## 3.UnityEngine.UIを追加する
同じくSimpleActivatorMenu.cs内に

|using UnityEngine.UI:|
|-|

の一行を追加する。
<br><br>

# 変更後のSimpleActivatorMenu.cs

```SimpleActivatorMenu.cs
using System;
using UnityEngine;
using UnityEngine.UI; // 追加

namespace UnityStandardAssets.Utility
{
public class SimpleActivatorMenu : MonoBehaviour
{
// An incredibly simple menu which, when given references
// to gameobjects in the scene
public Text camSwitchButton; // GUIText -> Textに変更
public GameObject[] objects;


private int m_CurrentActiveObject;


private void OnEnable()
{
// active object starts from first in array
m_CurrentActiveObject = 0;
camSwitchButton.text = objects[m_CurrentActiveObject].name;
}


public void NextCamera()
{
int nextactiveobject = m_CurrentActiveObject + 1 >= objects.Length ? 0 : m_CurrentActiveObject + 1;

for (int i = 0; i < objects.Length; i++)
{
objects[i].SetActive(i == nextactiveobject);
}

m_CurrentActiveObject = nextactiveobject;
camSwitchButton.text = objects[m_CurrentActiveObject].name;
}
}
}
```
<br>

# おわり
修正後はファイルを保存してUnityに戻るとエラーが治っているはずです。
<br>

この記事が気に入ったらサポートをしてみませんか?