Question on GUID persistence

I’ve been searching forums both here and on Reddit, but i can’t seem to find a straight answer to whether GUIDs are permanent, or they get automatically updated to new ones according to certain conditions.

I’m planning to use GUID’s to track the position of large numbers of items, especially vehicles, but also some special items like mobile phones and vending machines that I want the player to be able to hack or mess with, and allow that status to persist throughout the gameplay.

The workflow I have in mind, which i seem to have been able to implement with my vehicles, captures the GUID of each item in world via GetObjectName, and stores it into an array that gets saved into my game file, simultaneously as it captures transform information, and other states. This allows me to drive a vehicle, stop somewhere, save the game, and reload the game to find the vehicle still parked where i left it. I have found this method does work, BUT I’m wondering if there are any conditions in which the GUID may change, for instance If i load a different map, and then return to the original map, only to find all my stuff returned to default.

Some devs have recommended using tags, but that wouldn’t really work for me, as I’d have to manually input tags for potentially hundreds of items, hence the use of GUID which provides a unique identifier with enough digits for me to use in a variety of cases, such as VIN numbers, serial numbers, package tracking, etc.

I have not witnessed my GUIDs change so far, but I haven’t extensively tested them enough to be 100% sure, and documentation doesn’t seem to be very clear.

What’s your take on GUIDs, and are they the best solution for what I’m trying to accomplish?

i think they are the best solution.

my understanding with GUIDs is they are random so its technically possible to get a duplicate but almost impossibly unlikely. it seems to be a risk the industry takes ha.