Судя по вашему коду, проблемная строчка 37 вот эта:
anim.SetBool("isMoving", true);
Похоже, что поле anim не заполнено.
Поле приватное и несериализованное, то есть через редактор Unity его не задать.
В коде этого класса ему тоже ничего не присвоили, вот оно и null по умолчанию.
Enemy.Update () (at Assets/Scripts/Slime.cs:37)
Вот код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Enemy : MonoBehaviour
{
public float speed = 0.5f;
public Transform Player;
private bool facingRight = true;
private Animator anim;
private Rigidbody2D rb;
// Use this for initialization
void Start()
{
rb = GetComponent<Rigidbody2D>();
}
// Update is called once per frame
void Update()
{
Vector3 displacement = Player.position - transform.position;
displacement = displacement.normalized;
if (Vector2.Distance(Player.position, transform.position) > 1.0f)
{
transform.position += (displacement * speed * Time.deltaTime);
}
if (Vector2.Distance(Player.position, transform.position) == 0)
{
anim.SetBool("isMoving", false);
}
else
{
anim.SetBool("isMoving", true);
}
}
public void Flip()
{
facingRight = !facingRight;
Vector2 Scaler = rb.transform.localScale;
Scaler *= -1;
transform.localScale = Scaler;
}
}