Is there a unique ID for actors placed in the level that is stable across executions and modifications to the level?

you can get an actor by it’s guid using this https://www.youtube.com/watch?v=srIwV1ofvHs
though i’m not sure it’s my preferred way.

you can also use a tsoftobjectptr passing a fsoftobjectpath. and when the object is loaded the pointer becomes valid automatically. i tend to use this often.
you can get the path to an actor placed in the level by right click “copy reference” on the details panel, or outline.
if you expose it as a uproperty you can right click and click “copy”.
you get something like
“/Game/…/…/Map.Map:PersistentLevel.Obj_UAID_rndnums_1469610310”

i think it’s safe to save that. and since it’s just a string you can save it however you want.
you can even use it on config settings.