Search Unity

  1. We want you to join us at GDC this year! We've added new sessions to Unity Central, space is limited so sign up now!
    Dismiss Notice
  2. Magic Leap’s Lumin SDK Technical Preview for Unity lets you get started creating content for Magic Leap One™. Find more information on our blog!
    Dismiss Notice
  3. Unity 2017.3 has arrived! Read about it here.
    Dismiss Notice
  4. ARCore is out of developer preview! Read about it here.
    Dismiss Notice
  5. Tell us about your experience here and you’ll get early access to the 2018 Game Studios report + more goodies.
    Dismiss Notice
  6. Be the first to take a peek at upcoming 2D Animation Preview. Drop into the forum and check it out!
    Dismiss Notice
  7. Want to see the most recent patch releases? Take a peek at the patch release page.
    Dismiss Notice

Aim Lock-On Help

Discussion in '2D' started by NickDeGrood, Mar 13, 2018.

  1. NickDeGrood


    Mar 13, 2018
    I'm trying to make a script that automatically finds the nearest enemy, then brings the player over to them, grapple hook style. It's sort of like the dash slash in Specter Knight. I've got the code that find the nearest target, but I don't know where to proceed. This is what I have so far.

    Transform player;
    Transform target;
    int radius = 10;
    private void Update()
    Collider2D[] targets = Physics2D.OverlapCircleAll(player.position, radius, 8); // find all targets in range

    if (targets != null)
    int index = -1;
    float distance = radius * radius;

    for (int i = 0; i < targets.Length; i++) // test for shortest distance
    float current = (targets[i].transform.position - player.position).sqrMagnitude;

    if (current < distance)
    index = i;
    if (index != -1)
    // Select target enemy