Usually Unique ID is created using Execute SQL Task in Master package and passing to child packages for custom logging purposes. Since SQL Server 2012 Project deployment model releases, you can use ServerExecutionID as unique id for whole execution.
ServerExecutionID is Execution ID for the package that is executed on the Integration Services server. The default value is zero. The value is changed only if the package is executed by ISServerExec on the Integration Services Server. When there is a child package, the value is passed from the parent package to child package.
If you run in Visual studio, the ServerExecutionID value will be Zero, however if your run the package after deploy it in SSISDB this will generate Unique ID.
Cheers!
Uma
Uma