Time.deltaTime not working as desired
<p>I've written following code:</p>

<pre><code>using UnityEngine;
using System.Collections;

public class ObstacleSpawn : MonoBehaviour {

    public PlayerScript pScript;
    public ObstacleScript oScript;

    public GameObject player;
    public GameObject obstacle;

    public float randomSpawnMin;
    public float randomSpawnMax;

    // Use this for initialization
    void Start () {
        InvokeRepeating ("Spawn", 2F, Random.Range (randomSpawnMin, randomSpawnMax));
    }

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

    }

    void Spawn() {
        if (pScript.isRight == true &amp;&amp; pScript.inAir == false) {
            obstacle.transform.localScale = new Vector3 (-1, 1, 1);
            Instantiate (obstacle, player.transform.position + new Vector3 (0.05F, (4F + pScript.playerDimensionY + oScript.obstacleDimensionY) * Time.deltaTime, 0), Quaternion.identity);
        } else if (pScript.isRight == false &amp;&amp; pScript.inAir == false) {
            obstacle.transform.localScale = new Vector3 (1, 1, 1);
            Instantiate (obstacle, player.transform.position + new Vector3 (-0.05F, (4F + pScript.playerDimensionY + oScript.obstacleDimensionY) * Time.deltaTime, 0), Quaternion.identity);
        }
    }
}
</code></pre>

<p>In my void Spawn() I spawn an item called obstacle, which should be instantiated a desired amount away from my player in seconds. (Etc. it should be 2 seconds away before hitting the player, or 1 seconds and so on. What you can see in my void is me Instantiating the obstacle at the position of the player + an amount I measured, then multiplied by Time.deltaTime. However my distance do not change, wether I change my value multiplied with Time.deltaTime or not. The distance between my objects is always 0.02 seconds. </p>

<p>How do I work around this to customize my time interval?</p>

<p>EDIT - To make some clarification this is 2D, and I also will show this example to create some understanding.
I tried removing the multiplying of Time.deltaTime aswell, as the programs movement does run in deltaTime anyways:</p>

<pre><code>void Spawn() {
        if (pScript.isRight == true &amp;&amp; pScript.inAir == false) {
            obstacle.transform.localScale = new Vector3 (-1, 1, 1);
            Instantiate (obstacle, player.transform.position + new Vector3 (0.05F, (4F + pScript.playerDimensionY + oScript.obstacleDimensionY), 0), Quaternion.identity);
        } else if (pScript.isRight == false &amp;&amp; pScript.inAir == false) {
            obstacle.transform.localScale = new Vector3 (1, 1, 1);
            Instantiate (obstacle, player.transform.position + new Vector3 (-0.05F, (4F + pScript.playerDimensionY + oScript.obstacleDimensionY), 0), Quaternion.identity);
        }
    }
</code></pre>

<p>Shown code gives me an interval of 0.58 seconds, which is at least an interval. With this logic I believed this code should provide a 1.16 interval(twice the interval):</p>

<pre><code>void Spawn() {
        if (pScript.isRight == true &amp;&amp; pScript.inAir == false) {
            obstacle.transform.localScale = new Vector3 (-1, 1, 1);
            Instantiate (obstacle, player.transform.position + new Vector3 (0.05F, (8F + pScript.playerDimensionY + oScript.obstacleDimensionY), 0), Quaternion.identity);
        } else if (pScript.isRight == false &amp;&amp; pScript.inAir == false) {
            obstacle.transform.localScale = new Vector3 (1, 1, 1);
            Instantiate (obstacle, player.transform.position + new Vector3 (-0.05F, (8F + pScript.playerDimensionY + oScript.obstacleDimensionY), 0), Quaternion.identity);
        }
    }
</code></pre>

<p>This however gives the result of 0.92 interval, not 1.16 - which is where I really get confused.</p>

<p>EDIT FOR CONTEXT:</p>

<p><a href="https://i.stack.imgur.com/fM0xU.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/fM0xU.png" alt="enter image description here"></a></p>

<p>The red obstacle always moves down to hit the player, but I need it to spawn at an adjustable time away (1 seconds away, 0.5 seconds away etc.). </p>