Q: how do I display the score on screen? I'm making a shooter game and want to show the kills on the screen I have a UI with a canvas and text, but I can't get the right number to show on the screen.
this is what I have now: 
using System.Collections;
using UnityEngine;
using UnityEngine.UI;

public class Score : MonoBehaviour
{
    public Text Pointsdisplay;
    int points = 0;

    void Update()
    {
        Pointsdisplay.text = points.ToString();
    }

    void Start()
    {
        Pointsdisplay.text = points.ToString();
    } 

    void OnCollisionEnter(Collision col)
    {

        if (col.gameObject.name == "enemy(Clone)")
        {
            points = points + 1;
        }
    }

 }

I have assigned the right Textobject in unity, but it doesn't seem to be working I get the error message:
NullReferenceException: Object reference not set to an instance of an      object
Score.Start () (at Assets/Scenes/scripts/Score.cs:12)
and the same thing with line 17
So in summary: I would like the score on the screen to show how many times I've hit the enemy, but this does not happen. thanks in advance

A: Update it only when the value is being updated/changed.
using System.Collections;
using UnityEngine;
using UnityEngine.UI;

public class Score : MonoBehaviour
{
    public Text pointsdisplay;
    int points = 0;

    void Start()
    {
        pointsdisplay.text = points.ToString();
    } 

    void OnCollisionEnter(Collision col)
    {
        if (col.gameObject.name == "enemy(Clone)")
        {
            points = points + 1;
            pointsdisplay.text = points.ToString();
        }
    }
 }

