There is no more activeX script
That is true. However I (for whatever reason) never used 'ActiveX script task' but the plain 'Script task' with underlying C# code.
Create 2 variables of type String: TestSource and TestTarget. Assign a value to TestSource and nothing to TestTarget
Create a 'Script Task' on the package. You need to define read-only and read-write variables on the task properties:
In the C# code('Edit Script' button), you just add this line to your entry point method (default is Main but can be changed on the properties):
Dts.Variables["User::TestTarget"].Value = Dts.Variables["User::TestSource"].Value;
Run the task/package. On exit of the script task, the TestTarget value is the same as TestSource.
You just need to remember to set variable scope correctly.
If variables from package parts can be defined in a package, they can be accessed by package elements so that should work.