Actor Component: Unique identifier per instance

I wouldn’t have a Generate ID button – just generate it, post-demarshal, if the field is empty. As in, override the demarshal (or maybe even begin play) hook, to do it there.

Is it possible to invalidate the guid on a duplicate?

I think there’s a post-duplicate callback, but that may not capture all cases (like copy/paste, or import subscene.) You might keep a list of all IDs that have been used, and if you find the ID you load is already in that list, detect it as a duplicate. (You have to remove the ID when the component is disposed, too.)