Что бы не удалять первый, можно в цикле сделать swap i и i+1 элементов, тогда первый элемент станет последним и его можно будет спокойно удалить или перезаписать.
Да, но я тут только что осознал, что я могу просто спаунить акторов, и указатели на них в любом контейнере( даже стл). Они уже сразу куда-то прибинжены и не удаляются с мира, пока я не вызову Destroy().
И просто, когда мне нужно, вызывать Destroy() на указатель, который нужно.
Насколько я понимаю если у меня есть std::deque<AActor*> deq;
И я вызову deq.back()->Destroy(); а потом pop_back, то ликов не будет.