I recently saw this question on a virtual EV3 machine. From the video, I felt that this software will be great. However, I don't have the budget needed to buy a licence. Is there any alternative to this system?
You could try TRIKstudio: https://trikset.com/en/products/trik-studio
This allows you to program a robot based on the LEGO EV3 setup, however while the application itself has English, French and Russian translations, most of the online help is only in Russian.
If you are looking for free software, you can use the now abandoned Microsoft Robotics Studio. It has a virtual robot simulator. The project was shut down around the same time the EV3 was released, so I doubt that there is a virtual EV3. There is a virtual NXT though. And it is possible to create your own virtual robot models if you are willing to put a massive amount of time into it.
Also, this is Windows, software, so you will need Parallels or a VM to run on Mac.