void Update() { if (attackActive) { RaycastHit hit; Vector3 directionHeightOffset = new Vector3(0f, -0.5f + (((int)activeStrikeType) * 0.5f), 0f); //Casts a Raycast and checks if it hit a Destructable Object (such as a crate or an enemy). if (Physics.Raycast(transform.position + bodyCollider.center + directionHeightOffset + additionalOffset, Vector3.right, out hit, 1.5f)) { DestructableObject hitObject = hit.transform.GetComponent <DestructableObject>(); if (hitObject) { attackActive = false; hitObject.OnDestruction(activeStrikeType, playerCharacter.attackDamage); } } } }