in April this year I wrote a blog post about Resource with assignment 0%–what is it?. Now I have a question Blog reader: “I am trying to use Resources with a 0% Max as a placeholder/generic resource allocation. When I assign the resource, it defaults the assignment unit to  and makes the task act like a milestone (no duration). I would like for the task duration to remain unchanged and for the resource to automatically assign 1 unit.”
OK! I explain that using MS PROJECT 2019! First I will create simple project:
As you can see, Duration is 5 days. Now I will create resource with 0% Max Units:
and I will assign that resource to the Task, and I will get:
As you can see, Duration is now 0%! Why? Because of the magic formula which is Work = Duration * Units. So, Units is 0%, and it means that there is no work to do. And since there is no work to do on the Task, it is obvious that it will be no duration, so it is milestone.
BUT. If I make a Task as Fixed Duration type like this:
As you can see, the Magic formula, Work = Duration * Units still works, e.g. 0 (Work) = 5 days (duration) * 0% (Units). But Duration is unchanged because it is fixed. In previous example, Task was fixed Units, so Duration and Work was calculated as zero.