Random Spawn Point

If you want to spawn your selected character at a random spawn point, there are two ways to acheive this.

Automatic Method

As of EMI version 0.6.0 the EMI_NetworkManager has the Max Random Append Number option if you wish to use it. It will choose a random number between 0 and your max choice and append it to the Jump To Point Name prior to spawning your character there. So for example if I have the option of:

Variables Selection
Max Random Append Number 3
Jump To Point Name StartPoint

Then here are all of the possible spawn points I could have in my target scene:

StartPoint0
StartPoint1
StartPoint2
StartPoint3

and it will randomly choose one of those to spawn at.

Manual Method

Now if you're running an older version of EMI or just want to have a more randomize choice then you could do something like this in a custom script.

using EMI.Managers;
using EMI.Utils;
using UnityEngine.SceneManagement;
using System.Collections.Generic;
...
...
protected List<GameObject> availabeSpawnPoints = new List<GameObject>();
protected virtual void SpawnCharacterInActiveScene(GameObject myCharacter, string spawnPoint, bool randomize = true)
{
    GameObject found = EMI_NetworkManager.instance.spawnPrefabs.Find(x => x.Equals(myCharacter));
    EMI_NetworkManager.instance.characterToSpawn = found;
    // SceneManager.GetSceneByName(SceneManager.GetActiveScene().name)
    List<GameObject> foundSpawnPoints = new List<GameObject>();
    if (randomize)
    {
        availabeSpawnPoints.Clear();
        foreach(GameObject root_go in SceneManager.GetActiveScene().GetRootGameObjects())
        {
            FindTaggedGO(root_go, spawnPoint);
        }
    }
    string selectedSpawnPoint = (randomize) ? availabeSpawnPoints[Random.Range(0, availabeSpawnPoints.Count)].name : spawnPoint;
    EMI_NetworkManager.instance.RequestSpawnCharacter(
        EMI_NetworkManager.instance.characterToSpawn.name,
        PointsUtil.PointType.NetworkSpawnPoint,
        SceneManager.GetActiveScene().name, 
        selectedSpawnPoint, 
        "", 
        ""
    );
}
protected virtual void FindTaggedGO(GameObject parent, string spawnPoint)
{
    if (parent.CompareTag("NetworkSpawnPoint") && parent.name.Contains(spawnPoint))
        availabeSpawnPoints.Add(parent);

    foreach(Transform child in parent.transform)
    {
        FindTaggedGO(parent, tag);
    }
}

The above script will require that you have the Auto Spawn Character set to false on the EMI_NetworkManager.

Then you could use it like:

SpawnCharacterInActiveScene("My-Cool-Character", "SpecializedSpawn", true);