warning CS0618: UnityEngine.GameObject.active' is obsolete:
GameObject.active is obsolete. Use GameObject.SetActive(), GameObject.activeSelf or GameObject.activeInHierarchy.'
Unity 4 から "active"プロパティが"activeSelf" に変更されたので該当箇所を修正する。
error CS0200: Property or indexer `UnityEngine.GameObject.activeSelf' cannot be assigned to (it is read only)
activeSelfは読み取り専用なので、"gameobject.activeSelf = true"とかは無理。
書き込む場合はgameobject.SetActive(true)などを使う。
Error building Player: UnityException: Bundle Identifier has not been set up correctly
ビルドしたときに発生した。
File -> Build Settingsで下記画面を開く。
したの方にある
Player Settings... -> Others Settings -> Bundle Identifier
を適当な名前に変更する。
An object reference is required to access non-static member
staticをつけたメソッドからメンバ変数にアクセスしようとしたら起きた。
とりあえずメソッドのstaticを外して解消。
There are 2 audio listeners in the scene. Please ensure there is always exactly one audio listener in the scene.
ひとつのシーンにカメラが複数台あって、そのカメラたちがAudio Listenerコンポーネントを別々にもっているの怒られている。ひとつだけ有効にする。
You are trying to create a MonoBehaviour using the 'new' keyword. This is not allowed. MonoBehaviours can only be added using AddComponent(). Alternatively, your script can inherit from ScriptableObject or no base class at all
とあるスクリプトのインスタンス生成しようとしたら発生。原因はMonoBehaviourを継承したクラスのインスタンスをnewで生成しようとするのは駄目。AddComponentを使おう!!
以下、サンプル
using UnityEngine;
using System.Collections;
public class test : MonoBehaviour {}
using UnityEngine;
using System.Collections;
public class test2 : MonoBehaviour {
void Start () {
test ttt = new test();
}
}
上記だとnewでインスタンス生成しようとしているので警告となる。
using UnityEngine;
using System.Collections;
public class test2 : MonoBehaviour {
void Start () {
GameObject obj = new GameObject("Cube");
test ttt = obj.AddComponent<test>();
Debug.Log (ttt);
}
}
で上記のように修正するとOK。Cubeはtestをアタッチした適当なゲームオブジェクト。MonoBehaviourはGamgeObjectに依存しているのでこういう風に一度ゲームオブジェクトをとらないと駄目らしい。
Getting control 1's position in a group with only 1 controls when doing Repaint
なんかよくわからないけど、再描画(トグルで閉じたり開いたりするとか)の仕方がまずいらしい。
using UnityEngine;
using System.Collections;
public class Test : MonoBehaviour {}
using UnityEngine;
using UnityEditor;
[CustomEditor(typeof(Test))]
public class TestInspector : Editor {
public override void OnInspectorGUI() {
string key = "flg";
bool flg = EditorPrefs.GetBool(key, true);
if (flg){
GUI.backgroundColor = Color.yellow;
}else{
GUI.backgroundColor = Color.white;
}
if (GUILayout.Toggle(true, "Toggle", "dragtab", GUILayout.MinWidth(20f)))
EditorPrefs.SetBool(key, !flg);
if (flg){
GUILayout.BeginVertical();
GUILayout.EndVertical();
}
}
}
これでトグルで切り替えて背景色の変更とVerticalなエリアの表示・非表示の切り替えをしようとしたがダメだった。
下記のようにGUI.changedの値で確認したて切り替えたらOKでした。意味がよくわかりません。。。
using UnityEngine;
using UnityEditor;
[CustomEditor(typeof(Test))]
public class TestInspector : Editor {
public override void OnInspectorGUI() {
string key = "flg";
bool flg = EditorPrefs.GetBool(key, true);
if (flg){
GUI.backgroundColor = Color.yellow;
}else{
GUI.backgroundColor = Color.white;
}
GUI.changed = false;
if (GUILayout.Toggle(true, "Toggle", "dragtab", GUILayout.MinWidth(20f)))
flg = !flg;
if (GUI.changed) EditorPrefs.SetBool(key, !flg);
if (flg){
GUILayout.BeginVertical();
GUILayout.EndVertical();
}
}
}
Error while importing package: Couldn't decompress package
なんかimportできなかった。。 インポートするpackageの設置場所が悪いらしい。
Cドライブ直下に配置したらできるようになった。
Unexpected symbol `
全角文字列が混入していたっぽい
Only assignment, call, increment, decrement, and new object expressions can be used as a statement
Input.touches[0].position
とやったとき発生。
Debug.Log(Input.touches[0].position);
とやるとでなくった。とりあえず、なんかに使えということだろうか。。。
error CS0103: The name `hogehoge' does not exist in the current context
変数宣言がおそらくされていない。
AnimationEvent has no function name specified!
アニメーションクリップにイベントを指定しているのに関数が割り当てられていない。
青いやつを消すとなくなる
UnityでGameObjectにアタッチするScriptクラスには、MonoBehaviourを継承する必要がある模様。
error CS0117: System.IO.File' does not contain a definition for
WriteAllBytes'
なんかPlatfomrがWebプレイヤーだとおきるみたい。別のにした。
UnassignedReferenceException
pulic変数を宣言して、Inspectorからそこになりもいれていないとよく起こる。
Level 'HogeHoge' (-1) couldn't be loaded because it has not been added to the build settings.
To add a level to the build settings use the menu File->Build Settings...
UnityEngine.Application:LoadLevelAsync(String)
Application.LoadLevelAsync ("HogeHoge");
とやったらエラーでた。「File」-「Build Settings」でロードするSceneを入れればOK。
Scenes In BuildのところにSceneをD&Dする。消すときは選択してDeleteキー。
error CS1627: Expression expected after yield return
IEnumeratorインターフェースメソッドでyield returnをしていない。もしくはreturn方法がまずい。
error CS0535: xxx' does not implement interface member
System.IDisposable.Dispose()'
IDisposableインターフェースを継承した場合はDiposeメソッドを実装する必要があるみたいです。
Rejected because no crossdomain.xml policy file was found
File → Project Settings → Editor
InspectorのHost URLにアクセスするWebサーバなどのドメインを指定する
Building Asset Bundles requires Unity Advanced for iOSSupport
BuildPipeline.BuildAssetBundleをしたら発生。iOSとandroidを作成しようとしたのですが、Pro版のほか各ビルドライセンスが必要なようだ
Parent directory must exist before creating asset at
ファイルをつくるためのフォルダが存在しない。そのフォルダを手動でつくったら解決した。
Control cannot fall through from one case label to another
switchでdefaultにbreakを忘れていた
Sharing violation on path
オープン中にファイルにアクセスしようとした
The expression being assigned to `xxxxx' must be constant
定数に式などはいれらない
Error building Player: SystemException: 'System.Net.Sockets' are supported only with Unity Android Pro. Referenced from assembly 'Assembly-CSharp'.
Androidのライセンスないよ!
Can't add component 'NewBehaviourScript' because it doesn't exist. Check to see if the file name and class name match.
ファイル名とそのファイルの中に書かれているclass名が違う
IOException: Sharing violation on path...
あるファイルを開いたまま、そのファイルに書き込もうしたら怒られた。ちゃんと閉じたらよくなった。
Setting the parent of a transform which resides in a prefab is disabled to prevent data corruption.
インスタンス化する前のオブジェクトに親を設定しようとした。
prefab化をインスタンス化する前によくやる
'C:/Program Files/Unity/Editor/Data/UnityExtensions/Unity/GUISystem/UnityEngine.UI.dll' is in timestamps but is not known in guidmapper...
AssetsをReimport Allしたら直った
The best overloaded method match for `string.Split(params char[])' has some invalid arguments
Splitの引数を「","」とダブルクオーテーションで囲っているのがダメ。シングルクオーテーションで囲ったら直った
引数に問題があるときに出る模様
Set-up Android SDK path to make Android remote work
UnityにAndroidSDKの設定していない可能性あり
Use of unassigned local variable xxx
変数を初期化していないとか
There are inconsistent line endings in the 'Assets/Test.cs' script. Some are Mac OS X (UNIX) and some are Windows.
This might lead to incorrect line numbers in stacktraces and compiler errors. Many text editors can fix this using Convert Line Endings menu commands.
Test.csの改行コードがいろいろと混在してるよという警告.
This asset bundle 'test.assetbundle' was not created with UncompressedAssetBundle flag, expected id 'UnityRaw', got 'UnityWeb'
圧縮形式のAssetBundleをAssetBundle.CreateFromFile ("test.assetbundle")でロードしようとした
test.cs(5,13): error CS0101: The namespace global::' already contains a definition for
Hoge'
同じ名前空間内に同じものを定義した
You are trying to load data from a www stream which had the following error when downloading.Cannot load cached AssetBundle. A file of the same name is already loaded from another AssetBundle.
アンロードをせずにロードしようとしたとき
例)
AssetBundle assetBundle;
assetBundle.Unload(false);
をせずに
WWW www;
www = WWW.LoadFromCacheOrDownload (test/test, 1);
www.assetBundle;
Test.cs(140,48): error CS0500: `Test.Hoge()' cannot declare a body because it is marked abstract
抽象メソッドに{}を定義したら発生
protected abstract Hoge() {};
↓
で解消
protected abstract Hoge();
[CRIWARE]:Failed to create XAudio2 object.[E2009042301] The version of DirectX SDK might be different from Atom library's.
Windows7でUnityエディターで再生したらなんか上記エラー発生して音がでなかった。
DirectX End-User Runtimes (June 2010)をダウンロードしてインストしたら大丈夫になった。
ArgumentException: May only be called in OnPostProcessTexture
よくわからんが画像を壊れていたっぽく、差し替えたら治った
Reimportで治る可能性もあるか
Parent of RectTransform is being set with parent property. Consider using the SetParent method instead, with the worldPositionStays argument set to false. This will retain local orientation and scale rather than world orientation and scale, which can prevent common UI scaling issues.
Transform t = gameobject.transform;
//t.parent = parent.transform;
t.SetParent(parent.transform);
コメントアウトしてあるような親の設定を行うと警告がでる。どっかのバージョンそうなったもよう。
Couldn't create asset file!
UnityEditor.AssetDatabase:CreateAsset(Object, String)
AssetDatabase.CreateAsset(player, path);
のようなコードでpathにたどるまでのディレクトリとかがないときに発生。
上記のような警告がでた
Image Type をSimpleにしたら消えた
error CS1612: Cannot modify a value type return value of `System.Collections.Generic.List.this[int]'. Consider storing the value in a temporary variable
public struct TestStruct
{
public int i;
}
public class TestClass
{
void Start()
{
List<TestStruct> tList = new List<TestStruct>();
TestStruct t1 = new TestStruct();
t1.i = 1;
tList.Add(t1);
// これはだめ!!
// tList[0].i = 2;
// これはOK!!
TestStruct t2 = tList[0];
t2.i = 2;
tList[0] = t2;
}
}
only pot textures can be compressed to etc1 format
64×64とか、2のべき乗でないサイズのときでる警告
event型に式をいれようとしたら発生
public event SendComplete sendComplete;
sendComplete = () => {}
Test.cs(92,42): error CS0070: The event xxx.sendComplete' can only appear on the left hand side of += or -= when used outside of the type
xxx'-----------------
下記のようにいれたらOK
public event SendComplete sendComplete;
sendComplete += () => {}
error CS1061: Type System.IO.FileInfo' does not contain a definition for
OpenRead' and no extension method OpenRead' of type
System.IO.FileInfo' could be found (are you missing a using directive or an assembly reference?)
WebPlayerではOpenReadは使えない模様
Could not start compilationWin32Exception ...
Editor以下にスクリプトを作成したら発生。ウィルスソフトがウィルスと隔離した模様。ウィルスソフトの設定で復元したら大丈夫になった。
なぜにウィルス扱い?
GUI Error: You are pushing more GUIClips than you are popping. Make sure they are balanced)
scrollPosition = GUILayout.BeginScrollView(scrollPosition);
GUILayout.EndScrollView(); // ← この行がないときとかに発生.
GUILayoutの始まりと終わりでちゃんと囲えていない場合に発生。
Editor拡張スクリプトでTextureをロードしまくったら発生。
EditorUtility.UnloadUnusedAssets();
EditorUtility.UnloadUnusedAssetsIgnoreManagedReferences();
をちょくちょく呼ぶようにしたら大丈夫になった。片方でも大丈夫かも。なお、Unity4系の話。5系は違うメソッドかもしれない。
Unsupported texture format - needs to be ARGB32, RGBA32, BGRA32, RGB24, Alpha8 or DXT
Texture ImpoterでARGB32, RGBA32, BGRA32, RGB24, Alpha8 or DXのどれかにしたら解決した。
PARSE ERROR:
unsupported class file version 52.0
Androidのapkを作成するとき発生。
Androidのネイティブプラグイン(.jarファイル)を含んだものを作成しようとした。
Unityのバージョンは4.6.8f1
jdk 1.8.0
Android Studioでjarは作成した。
build.gradleの以下のようにしてjarファイル作成したら大丈夫になった。
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
sourceCompatibility = 1.7 // ここ追加
targetCompatibility = 1.7 // ここ追加
}
UnassignedReferenceException: The variable HogeButton of HogeButtonScript has not been assigned.
You probably need to assign the HogeButton variable of the HogeButtonScript script in the inspector.
HogeScript.csでpublic変数で宣言したhogeButtonにinspectorから割当をせずに、それを使おうとした場合発生。