Help with scriptable tiles PLEASE HELP URGENT!!!

I think I coded my custom tiles wrong. When you load the scene from another scene, I receive the error message The referenced script on this Behaviour (Game Object '<null>') is missing!
So here is my script:

using UnityEngine;
using UnityEngine.Tilemaps;

namespace UnityEngine
{
    [CreateAssetMenu]
    public class CollisionTile : TileBase
    {
        public Sprite Sprite; //The sprite of tile in the palette
        public GameObject ToSpawn; //The gameobject to spawn


        public override void GetTileData(Vector3Int position, ITilemap tilemap, ref TileData tileData)
        {
            // Assign variables
            if (!Application.isPlaying) tileData.sprite = Sprite;
            else tileData.sprite = null;

            if (ToSpawn) {

                ToSpawn.transform.position = position;
                ToSpawn.transform.Translate(new Vector3(0.5f,0.5f,0.0f));
                tileData.gameObject = ToSpawn;

            }
        }

        public override bool StartUp(Vector3Int position, ITilemap tilemap, GameObject go)
        {
            go.transform.position += Vector3.up * 0.5f + Vector3.right * 0.5f;
            return true;
        }

    }
}

What’s wrong with it? Here is the inspector for the tile:
118571-screen-shot-2018-06-08-at-45524-pm.png

The inspector shows that script is “None”. You’ve probably renamed the script and this object has lost the reference to it. Just re-create this object and set it up again, should work