static func uuidv4() -> String: var random = RandomNumberGenerator.new() random.randomize() var bytes = PackedByteArray() for i in range(16): bytes.append(random.randi_range(0, 255)) # Set the version to 4 -- random bytes[6] = (bytes[6] & 0x0F) | 0x40 # Set the variant to RFC 4122 bytes[8] = (bytes[8] & 0x3F) | 0x80 var hex_parts = [] for byte in bytes: hex_parts.append(String("%02x" % byte)) return "%s%s%s%s-%s%s-%s%s-%s%s-%s%s%s%s%s%s" % [ hex_parts[0], hex_parts[1], hex_parts[2], hex_parts[3], hex_parts[4], hex_parts[5], hex_parts[6], hex_parts[7], hex_parts[8], hex_parts[9], hex_parts[10], hex_parts[11], hex_parts[12], hex_parts[13], hex_parts[14], hex_parts[15] ]