Considerations for choosing a High-Density implementation


What I’m looking for here is to understand why someone would, or would not, implement a high-density environment. What are the pros and cons of a high-density environment? At what point should someone consider implementing a high-density environment?

From what I can see, the initial pros are:

  1. More complete use of server resources
  2. Able to run a process in parallel on a single server instance
  3. Able to run multiple processes simultaneously on a single server instance

Initial cons:

  1. Need for RDS setup and corresponding CALs for each user (additional cost)
  2. Potentially increased complexity from monitoring/balancing server resource utilization

What am I missing or where have I missed the mark? Any feedback would be greatly appreciated!



I think you covered most of it. I would expand it slightly to include:


  • maintenance of patching 1 server vs multiple VDIs
  • while true there is additional cost of CALs (and maybe server RDSH license, not certain of this), it should still be cheaper than spinning up multiple desktop VDIs


  • Running programs on server OS vs desktop OS may introduce compatibility issues. Good idea to check app behavior on server OS before committing. Check driver compatibility.
  • color depth may be lowered by the RDSH node under memory pressure - this is critical if using image recognition
  • OCR activity requires Windows Desktop Experience feature installed on Windows Server OS
  • resolution mismatch (this one, however, can be controlled by setting resolution in robot’s uipath settings config file)
  • For graphically-intensive applications, the user experience is normally better on VDI than RDSH.


Thanks for the additional color - all good points. Especially differences between desktop and server OS as I recently ran into that myself. Perhaps having a mixture of VDI and HD will be necessary.


Can I use high density robots with only 1 unattented robot license? If my virtual machine allows 4 users to log in, can I potentially run 4 robots with the same license?


I guess I would start with the documentation. Specifically, reference the following:

Unattended - If High-Density is not enabled on your Robot machines, this license is only dependant on the number of machines you connect to Orchestrator, regardless of the number of users it has. For example, if you have 3 machines, each with 10 users, and connect all of them to Orchestrator as Unattended Robots, only 3 licenses are consumed. If you have High-Density enabled, then each robot (machine-user combination) consumes an Unattended license when connected to Orchestrator. In the above example, 30 licenses are consumed.

I had to read it a couple of times for it to sink in. In fact, it was the reason for my original post. Basically, what it comes down to is concurrency. In a non-HD environment you may have 4 users using 1 license, but only one of them can execute at a time. Whereas, with an HD environment, all users can be processing simultaneously. At least, that is the understanding I have arrived at after having a conversation on the topic with UiPath. Hopefully, I don’t have anything twisted.


So to conclude @rrosebeck answer. If you want 4 robots running on one single server (through High Density environment) you will need a seperate license for every robot (machine x user). Otherwise it would be a major flaw in UiPath’s licensing model. Though, using High Density environment ofcourse still saves money in terms of hardware costs.



So related with your example provided. If these 4 users in one single machine will run different processes sequentially, NOT the four of them simultaneously. .
¿How many licenses do i need? 1 or 4?