Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialRich Zimmerman
24,063 Pointsvariable target of BirdMovement has not been assigned?
Kind of stumped here, target variable is assigned and the game functions as expected, but the console throws this error with each frame.
UnassignedReferenceException: The variable target of BirdMovement has not been assigned.
You probably need to assign the target variable of the BirdMovement script in the inspector.
UnityEngine.Transform.get_position () (at C:/buildslave/unity/build/artifacts/generated/common/runtime/TransformBindings.gen.cs:27)
BirdMovement.Update () (at Assets/Scripts/BirdMovement.cs:22)
I've seen some forum posts elsewhere with people getting similar issues but no real answer that fixes it for me.
Here's the code.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;
public class BirdMovement : MonoBehaviour {
[SerializeField]
private Transform target;
private NavMeshAgent birdAgent;
private Animator birdAnimator;
// Use this for initialization
void Start () {
birdAgent = GetComponent<NavMeshAgent>();
birdAnimator = GetComponent<Animator>();
}
// Update is called once per frame
void Update () {
birdAgent.SetDestination(target.position);
// Measure the magnitude of the NavMeshAgent's velocity
float speed = birdAgent.velocity.magnitude;
birdAnimator.SetFloat("Speed", speed);
}
}
And the Target variable is assigned in the inspector properly.
1 Answer
Rich Zimmerman
24,063 PointsAdding this to the Start method seemed to fix the issue.. if anyone has any insight - it'd be greatly appreciated.
target = Transform.FindObjectOfType<Transform>();
Rich Zimmerman
24,063 PointsRich Zimmerman
24,063 Pointsapparently the link to the video I'm on disappeared when i posted this. https://teamtreehouse.com/library/create-enemy-navigation-and-ai