instantiating a particle

Hi folks trying to instantiate a particle but keep getting null reference on the prefab error.
Tried using lines 1 2 and 3 as marked (i added them for ease of reading now not in original code:p)EternalLight is in my Resources folder.Obviously missing a stage somewhere.

using UnityEngine;
using System.Collections;

public class testpause : MonoBehaviour {
    GameObject EternalLight;

    void Start() {
 
    1    GameObject go = Instantiate(Resources.Load("EternalLight")) as GameObject;
    2        Resources.Load ("EternalLight");
    3    GameObject instance = Instantiate(EternalLight, transform.position, transform.rotation) as GameObject;
    }
    }

So basically just want to instantiate the particle effect EternalLight that is in my Resources folder at vector 3 (10,10,10) i guess…

Why not make EternalLight public and instead of GameObject use ParticleSystem( ).

Then you can call EternalLight.Play();

assuming you’re not using a legacy particle which you would call ParticleEmitter and instead of .Play you would say EternalLight.Emit();

And of course the partilce needs to be dragged into the spot on the script.

I got it to work like this put in on empty game object.

using UnityEngine;
using System.Collections;

public class testinstant : MonoBehaviour {
    public GameObject EternalLight;
    //instantiate any object on a gameobjects position.
        void Start () {
        Instantiate (EternalLight,transform.position,transform.rotation);
               
        }


   
   
    // Update is called once per frame
    void Update () {
   
    }
}

but I’m making a rpg and this would be a healtype effect spell that can be cast over an area so location will be whatever position is when cast, plus want to be able to know how to switch it on and off during runtime( not specifically this one but any particle system);.

Hmm just had a idea what if i create a empty GO at mages hands and instantiate things on it putting in offsets to represent distance cast etc?

Still would like to know how to load as in the code above and why its not working .

Lets say i want to put a delay of 12 seconds after casting EternalLight my code atm looks like this but doesn’t work.

using UnityEngine;
using System.Collections;

public class lightshow : MonoBehaviour {
    public GameObject EternalLight;
    private GameObject go;

    //instantiate any object on a gameobjects position.
    void Start () {


        Instantiate (EternalLight,transform.position,transform.rotation);        
        go = EternalLight;

       
        go.Start Delay = 15;//Lightshow Go is a field but a type was expected error
    }
     
}

Only been trying out coding last 6 days so not sure always what I’m doing

Yea thx for the effort bro its confusing that’s for damn sure.