03. CS0246 — Type or Namespace Not Found
🟡 Compile Error
This compile error means Unity can’t find a class, struct, or namespace you’re referencing. Common culprits: a missing using statement, a misspelled class name, or a package that isn’t installed.
Assets/Scripts/UIManager.cs(5,7): error CS0246: The type or namespace name 'TextMeshProUGUI' could not be found (are you missing a using directive or an assembly reference?)
âś… Fix: Add the using directive
// Add this at the top of your file: using TMPro; public class UIManager : MonoBehaviour { public TextMeshProUGUI scoreText; // Now resolved âś“ }
- Hover over the red underline in your IDE (VS or Rider) for quick-fix suggestions
- Add the correctÂ
using namespace at file top - If the namespace doesn’t exist, open Window → Package Manager and install the package (e.g., TextMeshPro)
- Check for typos in class names
04. Index Out Of Range Exception
đź”´ Runtime Error
You’re trying to access an array or list at an index that doesn’t exist — e.g., accessing element [5] on an array that only has 3 elements.
IndexOutOfRangeException: Index was outside the bounds of the array.LevelManager.LoadLevel (Int32 index) (at Assets/Scripts/LevelManager.cs:22)
âś… Fix: Bounds check before access
void LoadLevel(int index) { if (index >= 0 && index < levels.Length) { SceneManager.LoadScene(levels[index]); } else { Debug.LogWarning($"Level index {index} is out of range!"); } }