Spawning with selected weapons issue

I have tried making several scripts which sends out values and functions to other scripts to make the player spawn with the weapons he/she selected. The problem is that the engine cannot find the weapons inside the parent object. The child objects in the parent were active but still could not be read.

The main problem in the script is found in the CharacterLoadoutScript. Where it tries to find the game object.

GameObject format

-Soldier Set (parent)
—Soldier (child, character controller)
—AssaultRifle (child, weapon)
—BlackBuster (child, secondary weapon)
—StormStick (child, weapon secondary)

CharacterLoadoutScript

#pragma strict

var weaponSelectObject : GameObject;

var soldierSelected : boolean = false;
var ninjaSelected : boolean = false;
var droneSelected : boolean = false;
var sniperSelected : boolean = false;
var cyborgSelected : boolean = false;

var primaryNo : int;
var secondaryNo : int;

var primaryWep;
var secondaryWep;

var soldierSet : GameObject;
var ninjaSet : GameObject;
var droneSet : GameObject;
var sniperSet : GameObject;
var cyborgSet : GameObject;

var enableGui : boolean = false;

var respawnCam : GameObject;

function Start () {
GameObject.DontDestroyOnLoad(transform.gameObject);
}

function Update () {

if (respawnCam == null && enableGui == true)
respawnCam = GameObject.Find ("Spawn view cam");

}

function MapSpawn () {

GameObject.DontDestroyOnLoad(transform.gameObject);


var respawn : GameObject = GameObject.FindWithTag("Respawn");

respawnCam.active = false;


if (soldierSelected)
{   
	if (respawn != null)
	Instantiate (soldierSet, respawn.transform.position, respawn.transform.rotation);
	
	else
	Instantiate (soldierSet, transform.position, transform.rotation);

    if ( primaryNo == 0)
    {
    primaryWep = GameObject.Find("/Soldier Set/AssaultRifle");
    soldierSet.GetComponentInChildren(WeaponSwitching).primary = primaryWep;
    }
    if (secondaryNo == 0)
    {
    secondaryWep = GameObject.Find("/Soldier Set/BlackBuster");
    soldierSet.GetComponentInChildren(WeaponSwitching).secondary = secondaryWep;
    }
    else if (secondaryNo == 1)
    {
    soldierSet.GetComponentInChildren(WeaponSwitching).secondary = GameObject.Find("/Soldier Set/StormStick");
    }
    
    
    
}

WeaponSelectionGUI

function SendLoadout () {

loadoutObject.GetComponent(CharacterLoadoutScript).soldierSelected = selectedSoldier;

if ( selectedSoldier)
{
loadoutObject.GetComponent(CharacterLoadoutScript).primaryNo = soldierSelectGrid;
loadoutObject.GetComponent(CharacterLoadoutScript).secondaryNo = soldierSelectGridSecondary;
}
function OnGUI (){
	if (enableGUI)
	{
	GUI.Box (Rect (0,0,200,50), "Primary");
	GUI.Box (Rect (0,Screen.height- 350,200,50), "Secondary");
	
		if ( selectedSoldier)
		{
		soldierSelectGrid = GUI.SelectionGrid (Rect (0, 50, 200, 100), soldierSelectGrid, soldierGridStrings, 2);
		
		soldierSelectGridSecondary = 
		GUI.SelectionGrid (Rect (0, Screen.height-300, 200, 100), soldierSelectGridSecondary, soldierGridStringsSecondary, 2);
		}

WeaponSwitching

var primary : GameObject;
var secondary : GameObject;

Error Message

NullReferenceException: Object reference not set to an instance of an object
CharacterLoadoutScript.MapSpawn () (at Assets/CharacterLoadoutScript.js:59)
CharacterLoadoutScript.OnGUI () (at Assets/CharacterLoadoutScript.js:98)

Wow thanks!