How do you attach a script to a game object in Unity 2D version 4.5.1?
I am reading a book titled "LEARNING 2D GAME DEVELOPMENT WITH UNITY" by Matthew Johnson/James A. Henley
It teaches on version 4.5.1 unity 2D. Everytime I click and drag a script written in the book to my player game object I get an error message
"Can't add component right script because it doesn't exist. Check to see if the file name and class name match"
I'm stuck in chapter 5 for this reason. What do I do from this point. What is Class name and why does it say my file doesn't exist when I just created it in Mono.
Can anyone who understands what I'm writing here or maybe you have read this entire book before help me out.
from
Kevin
One tip: Don't learn software from books. Books are not up to date. Unity is at 5.4 at the moment. ;)
Some functions are obsolete, some were discarded, and many features have been added since.
The UI system has been added in 4.6 for example.
I recommend you learn Unity from the official documentation and tutorials. They provide much more actual information.
PS: You can google your questions and in most cases you will find that your question has already been answered. This saves you time and the forum another duplicate question. ;)
Answer by Jessespike · May 16, 2016 at 08:56 PM
When you create c# scripts in Unity, the filename needs to match the class name. For example:
MyFirstClass.cs (This is the filename)
using UnityEngine;
using System.Collections;
public class MyFirstClass : MonoBehaviour {
}
Notice right after "public class" it says MyFirstClass? That's the class name.
The class and the file need to be the same, well the file needs the .cs extension. But hopefully you get the idea now. Case sensitive btw
Your answer
Follow this Question
Related Questions
How to give the player a limited amount of moves? 1 Answer
Getting this error; Member modifier 'public' must percede member type and details. Why? 0 Answers
CS0117 Error 0 Answers
The script I copied from the Summer 2020 Week 1 Tutorial, not working for me... 0 Answers
An instance of type 'UnityEngine.Behaviour' is required to access non static member 'enabled'. 0 Answers