H, Benny,
CoSpaces can be used in almost all types of STEM activities: students can analyze, model, simulate, communicate. The only area where CoSpaces can not be used is experimentation.
CoSpaces allows you to completely model a system with Blockly or JavaScript : users with all kinds of interfaces (buttons, displays, audio, …), mechanisms that act on objects, sensors, …
Microsoft MakeCode does not allow it. It allows to model, also with Blockly or JavaScript, but only the behavior of an electronic board such as BBC micro:bit. It also makes it possible to simulate the behavior of the inputs/outputs of the board, but the most important is that it allows to generate an executable code by the board (.hex file). To upload this code in the BBC micro:bit board (for it to execute), you simply have to copy the generated file in its interface (seen as an USB mass storage). A small .exe file provided by Microsoft does it automatically: https://www.touchdevelop.com/microbituploader.zip
The ideal for me would be to be able to do everything with CoSpaces (except upload the .hex file to the board), at least for simple cases:
. to model and simulate a whole system managed in part by a BBC micro:bit board,
. to generate the .hex file executable by the BBC micro: bit (.hex) board.
Simple example:
I consider here a system with a servomotor actuating a mechanism, with a button, a BBC micro:bit board connected to the button and to the servomotor.
Behavior to model:
When you press the button then the actuator activates the mechanism in a defined sequence (for example turn the axis 45 degrees, wait a second, then return to the initial position).
With MakeCode I can only partially model this system. I can not simulate the mechanism driven by the servomotor, whereas I can do it with CoSpaces (but I do not really know how to do it right now).
With MakeCode I can generate the executable file (.hex) for the electronic board, and experimentally test the behavior of the complete system, whereas I can not do it with CoSpaces.
(the mechanism does not transmit any movement here, because I do not know how to do it actualy!)
The same example with Microsoft MakeCode:

To simulate with MakeCode, or to Ă©dit the code:
https://makecode.microbit.org/_HeCPr1HTeMFw
The problem is that you have to model in both applications (CoSpaces and MakeCode) the fact that when I press the button, a certain movement have to be controlled.
It would be great to be able to use in CoSpaces at least some basic blocks of MakeCode, to model the inputs/outputs of the electronic board, then that CoSpaces generates the executable file (.hex) by the BBC micro:bit board corresponding to these few blocks only.
MakeCode uses Blockly and JavaScript as CoSpaces, but I suppose it would be difficult to integrate some of the MakeCode source code into CoSpaces, especially to generate executable file (.hex) by the BBC micro:bit. But who knows, To innovate, you have to dream a little.
Virtual Universe Pro with Scenario for mBot robot (60 € TTC for a license valid one year for all the PCs of a school) allows to simulate and program mBot robot, with mBlock: