I have an NPC who needs to pop up at a few different locations, say some lines, and vanish again. Eventually, he's going to have a base and a somewhere he can stay and persist, but right now that location doesn't exist. So, what I've been doing is storing him and a few similar NPCs in a "green room" cell and moving them into position when I need them, and then moving them back to the green room.
My problem is that when I come to bring on my NPC for the second time, he's not there. Not at his marker, not in the green room, and his alias doesn't fill. I'm using "unique actor" to fill it rather than forcing the ref because I know forced refs are generally bad practice. I also tried getting his ID using the console and then player.moveto to find him and that didn't work; the console complains that there's no such reference.
So I'm wondering if he's been recycled by the game engine. I don't have a persistence location set for him - I'm not real clear on what persistence location means, precisely. And I'd like to avoid doing something like forcing his reference - he's going to be around a long time, but it would be nice if he could be unloaded once his quests are done. And I have a few other NPCs that are going to similarly turn up in different places.
What's the best approach here? Make him persistent in the "green room"? Force him to be permanently loaded? Make him non-unique and spawn and destroy instances as needed? I'm fairly certain I can fix this with a forced alias, but I'd understand the issues here so I can do it right with my other NPCs