Home > Blockchain >  Unity 3d / C# Error CS0103 "The name 'collision' does not exist in the current contex
Unity 3d / C# Error CS0103 "The name 'collision' does not exist in the current contex

Time:11-04

I'm trying to detect when my player's character controller touches a gameobject called 'water', but I get the error "The name 'collision' does not exist in the current context."

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerTouched : MonoBehaviour
{
    public void OnControllerColliderHit(ControllerColliderHit hit)

    {
        if (collision.gameObject.tag == "Water")
        {

            Debug.Log("it worked!!");
        }
    }
}

I originally tried using OnCollisionEnter, but that didn't work.

CodePudding user response:

Change your method to this and it will be working again;

public void OnControllerColliderHit(ControllerColliderHit collision)
{
    if (collision.gameObject.tag == "Water")
    {
        Debug.Log("it worked!!");
    }
}
  • Related