Stupid question: Targeting objects to measure distance and assigning variables. What am I doing wrong?

My apologies for these incredibly simple questions and poor formatting. I’m super new to coding and have no idea what I’m doing.

Is there a simple way to find the nearest version of a type of tag? I want to measure to the nearest of a specific pickup type.

using UnityEngine;
using System.Collections;
public class PickUpScript : MonoBehaviour

FMOD.Studio.EventInstance Jump;
FMOD.Studio.ParameterInstance Level;
int levelUp;

void Start()
	levelUp = 0;
	Jump = FMODUnity.RuntimeManager.CreateInstance("event:/Jump");
	Jump.getParameter ("JumpLvl", out Level);

void Update()

void OnTriggerEnter(Collider other) //Code is called when a collider or rigidbody touches the trigger

	if (other.gameObject.tag == "PickUp") 
	{ //Determines tag of objects that will be destroyed
		FMODUnity.RuntimeManager.PlayOneShot ("event:/PickUp"); //Play the FMOD ScorePoint event
		Destroy (other.gameObject); //Destroy the collided with GameObject
		FMODUnity.RuntimeManager.PlayOneShot ("event:/PickUp"); //Play the FMOD ScorePoint event
		levelUp = levelUp + 1;
		Level.setValue (levelUp);


If there are not too many GameObjects on the scene, and the pickups are marked with a “PickUp” tag, you could use

GameObject[] objects = GameObject.FindGameObjectsWithTag("PickUp");

// If you want to get the GameObject instead of the distance
// use this line instead
// GameObject go;
float distance = float.MaxValue;

for(int i = 0; i < objects.Length; i++)
	float currentDistance = Vector3.Distance(transform.position, objects*.transform.position);*
  • if(currentDistance < distance)*
  • {*
  •  // If you want to get the GameObject*
  •  // use this line*

_ // go = objects*;_
distance = currentDistance;_

Debug.Log(“The nearest object is " + distance + " units away”);