code: async def debug_create_unit(self, unit_spawn_commands: List[List[Union[UnitTypeId, int, Point2, Point3]]]):
          
          assert isinstance(unit_spawn_commands, list)
          assert unit_spawn_commands
          assert isinstance(unit_spawn_commands[0], list)
          assert len(unit_spawn_commands[0]) == 4
          assert isinstance(unit_spawn_commands[0][0], UnitTypeId)
          assert unit_spawn_commands[0][1] > 0  # careful, in realtime=True this function may create more units
          assert isinstance(unit_spawn_commands[0][2], (Point2, Point3))
          assert 1 <= unit_spawn_commands[0][3] <= 2
  
          await self._execute(
              debug=sc_pb.RequestDebug(
                  debug=[
                      debug_pb.DebugCommand(
                          create_unit=debug_pb.DebugCreateUnit(
                              unit_type=unit_type.value,
                              owner=owner_id,
                              pos=common_pb.Point2D(x=position.x, y=position.y),
                              quantity=amount_of_units,
                          )
                      )
                      for unit_type, amount_of_units, position, owner_id in unit_spawn_commands
                  ]
              )
          )
docs: Usage example (will spawn 1 marine in the center of the map for player ID 1):
          await self._client.debug_create_unit([[UnitTypeId.MARINE, 1, self._game_info.map_center, 1]])