- Home /
The question is answered, right answer was accepted
What does "The type or namespace name x could not be found" mean?
hi im am making an hack and slash game from the BurgZergArcade tutorial and im facing an error that said : The type or namespace name `Skill' could not be found. Are you missing a using directive or an assembly reference? plz help me and explain to me whats wrong so i can improve my skill :)
code:
using UnityEngine;
using System.Collections;
using System; //added to acces the enum class
public class BaseCharacter : MonoBehaviour {
private string _name;
private int _level;
private uint _freeExp;
private Attribute[] _primaryAttribute;
private Vital[] _vital;
private Skill[] _skill;
public void Awake () {
_name = string.Empty;
_level = 0;
_freeExp = 0;
_primaryAttribut = new Attribute[Enum.GetValues(typeof(AttributeName)).Length];
_vital = new Vital [Enum.GetValues(typeof(VitalName)).Length];
_skill = new Skill [Enum.GetValues(typeof(VitalName)).Length];
SetupPrimaryAttribute();
SetupVitals();
SetupSkills();
}
public string Name {
get{ return _name;}
set{name = value;}
}
public int Levvel {
get{return _level;}
set{_level = value;}
}
public uint FreeExp{
get{return _freeExp;}
set{_freeExp = value;}
}
public void AddExp (uint exp){
_freeExp += exp;
CalculateLevel();
}
//take the avg of all the players skill and assign that as the player level
public void CalculateLevel(){
}
private void SetupPrimaryAttribute() {
for(int cnt = 0; cnt < _primaryAttribute.Length; cnt++){
_primaryAttribute[cnt] = new Attribute();
}
}
private void SetupVitals(){
for(int cnt = 0; cnt < _vital.Length; cnt++){
_vital[cnt] = new Vital();
}
}
private void SetupSkills(){
for(int cnt = 0; cnt < _skill.Length; cnt++){
_skill[cnt] = new Skill();
}
}
public Attribute GetPrimaryAttribute(int index){
return _primaryAttribute[index];
}
public Vital GetVital(int index){
return _vital[index];
}
public Skill GetSkill(int index){
return _skill[index];
}
private void SetupVitalMofifiers(){
//healh
GetVital((int)VitalName.Health).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Constitution), .5f));
//energy mana
GetVital((int)VitalName.Energy).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Constitution), 1));
//mana
GetVital((int)VitalName.Mana).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Willpower), 1));
}
private void SetupSkillModifiers(){
//melee Offence
GetSkill((int)SkillName,Melee_Offence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Might),33f));
GetSkill((int)SkillName,Melee_Offence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Nimbleness),33f));
//melee Defence
GetSkill((int)SkillName,Melee_Defence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Speed),33f));
GetSkill((int)SkillName,Melee_Defence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Constitution),33f));
//magic Offence
GetSkill((int)SkillName,Magic_Offence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Concentration),33f));
GetSkill((int)SkillName,Magic_Offence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.WillPower),33f));
//Magic Defence
GetSkill((int)SkillName,Magic_Defence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Concentration),33f));
GetSkill((int)SkillName,Magic_Defence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Willpower),33f));
//Ranged Offence
GetSkill((int)SkillName,Ranged_Offence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Concentration),33f));
GetSkill((int)SkillName,Ranged_Offence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Speed),33f));
//Ranged Defence
GetSkill((int)SkillName,Ranged_Defence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Speed),33f));
GetSkill((int)SkillName,Ranged_Defence).AddModifier(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Nimbleness),33f));
}
public void StatUpdate(){
for(int cnt = 0; cnt < _vital.Length; cnt++)
_vital[cnt].Update();
for(int cnt = 0; cnt < _skill.Length; cnt++)
_skill[cnt].Update();
}
}
Answer by Statement · Aug 09, 2011 at 08:37 PM
It seems you're missing the Skill.cs source file which should contain the Skill class. If you are positive it exists, maybe it is located in another name space which you have to include to your using statements.
The error means that it understands you're trying to access a type (the Skill class) but it can't be found in the project, so it doesn't know what to do with it.
Hi Statement,
if I have a class inside a namespace like
namespce NS
{
public class $$anonymous$$yClass{
// class contant
}
}
How can I make a varible of that class from another class as I would if it was not in the namespace.
$$anonymous$$yClass varibleOfClass = ObjectB.GetComponent<$$anonymous$$yClass>();
This would result in name space not found. Is there a way for me to tell it how to find that class without moving it out of the namespace?
sorry, Statement, I found my answer. I needed to ad using NS
On Object B
Sorry to have sent you an email by commenting.
Answer by mcdown75 · Jul 08, 2014 at 12:17 PM
I ran into this when I had a forms app and a dll app in a solution. The forms app was using framework 3.5 and the dll app was using framework 4.5. After I set them both to the same framework the issue disappeared.
How to do that: " After I set them both to the same framework the issue disappeared. "
Answer by emmettbebop · Aug 17, 2018 at 09:42 PM
This will happen if you use Visual Studio to move the script to another folder. The reason is that VS doesn't update the metadata correctly so Unity doesn't see it.
To solve, go into Unity and move the script to a different folder within the project then move it back to the desired folder. I moved all my scripts to the same folder this way and they see each other now.
Answer by JustinReinhart · May 03, 2013 at 06:18 AM
Ran into this problem as well. In my case, I was trying to use C# to access a Javascript class. This isn't possible. (Unity 3.5)
Answer by FlightFight · Jul 29, 2018 at 07:14 PM
For me "reload all" in Visual Studio did the trick.
Follow this Question
Related Questions
BurgZergArcade tutorial 20 errors? 0 Answers
Burgzergarcade Why am i getting an error after re-importing? 1 Answer
error CS0246: The type or namespace name `List' could not be found. 1 Answer
NullReferenceException: Object reference not set to an instance of an object 0 Answers
Error building Player because scripts had compiler errors 2 Answers