how to instantiate object with content prefab and not him self

first we instantiate GameObject somehow:

public GameObject Prefab ;
Instantiate(Prefab) as GameObject ;

than we came along that Item and we try to pick it up

public GameObject Prefab ;
public GameObject Player ;
public Inventory InventoryScript ;
void Start () {
	Player = GameObject.Find("Camera");
	InventoryScript = Player.GetComponent("Inventory") as Inventory;
}

void OnMouseDown () {
InventoryScript.GivePrefab ;
Destroy(gameObject);
}

and in inventory GivePrefab we have content Prefab Object IF we comment Destroy(gameObject)

and how do I tell prefab item that his prefab GameObject is not him self but prefab?

it’s no problem for Object that I place in scene my self as I edit the object and give it Prefab

but problem is how do I tell object that it’s himself Prefab and not him self (new made)

it’s kinda hard to explain

or maybe easier how do I tell what’s prefab with code and not with editor?

Question was solved with different putted question how to instantiate prefab with Resources.Load

GameObject instance = Instantiate(Resources.Load("Hatchet")) as GameObject;

in order that Object won’t be null it has to be in Project “Resources” Folder

if it doesn’t work

“Resources” Folder must be created manually with Explorer (TotalCommander) in:

Default: c:\Users\UserName\Documents\New Unity Project\Assets\Resources\

for custom folder just search for New Unity Project\Assets\Resources\

I for example have it at:

c:\Programming\unity projects\crafting house\Assets\Resources\

// Declare in globals
public GameObject object;

// Drop prefab into the object location in the inspector in Unity’s editor.
When that is done,

Instanitate(object, someplace.position, Quaternion.identity);
// Which creates an object based off the prefab.