So let's say you have Task A (5 days duration) and Task B (30 days duration).
Task A is being worked on by Resource Gold.
Task B is allocated to Resource Silver who is working on it full time, and also to Resource Gold, but you only want Resource Gold to help on Task B when they have finished all their work on Task A.
- Allocate Resource Gold to Task A full time
- Allocate Resource Silver and Resource Gold to Task B full time
Now make Task A higher priority than Task B (remember task priorities have 999 as highest priority and 1 as lowest priority)
Level the resources using the "Priority, Standard" levelling scheme.
MS-Project will try to complete the highest priority task first, so it will leave Resource Gold doing Task A 100% of their time even though they are also allocated to Task B. Resource Silver will also work on Task B 100% of their time. As soon as the higher priority task has been completed the resources are released to be scheduled on other tasks and Resource Gold will join Resource Silver on completing Task B.
EDIT: Although I tested that the approach above causes Gold to concentrate on Task A and only start on Task B when they become free, I did not check that the allocation of Gold and Silver on Task B are automatically balanced to minimise the duration. I have now checked and they are not, therefore this is not a good answer. The best I achieved was by making Task B "Fixed Work" to ensure that the overall number of hours remains constant no matter who is allocated, but MS-Project did not automatically balance the units from Gold and Silver to minimise the duration of Task B. Therefore there is an outstanding question as to whether MS-Project can be forced to do this. Note, I did allow "adjustment of individual allocation on a task"...