Thanks for using the dev forum!
I am sorry about the friction that the current breakout room functionality is causing. We are in the process of revamping the documentation, and this will include documenting undocumented features like this one. For now, let me try and explain this feature to clear some things up.
First, I would suggest adding the new breakout room interface, meeting_breakout_rooms_interface2.h, into your C# wrapper. The latest version of the wrapper does not include this by default, which is something I have brought up to the team to add.
Different users have different privileges in a breakout room. In order of privileges there are Creators, Admins, Assistants, and Attendees.
To access things like the list of unassigned users, the list of breakout room ID’s, and breakout room names, you need to be a user who can access IBOData. The users who have the privilege to access IBOData are the host of the actual meeting that contains the breakout rooms (the creator), the host of the given breakout room (An admin), and the co-host of the given breakout room (An assistant). To get the list of breakout room ID’s you would call the GetBOMeetingIDList method in IBOData. There is a helper for IBOData that can be obtained through GetBODataHelper() in the IMeetingBOController.
Before the breakout rooms are opened, the breakout room creator (the host of the meeting that contains the breakout rooms) can assign users to a specific breakout room. After the breakout rooms opens, the creator and the breakout room admins can assign/re-assign users to certain breakout rooms.
In terms of joining a breakout room, a user who has assistant privileges can join breakout rooms using a breakout room ID and the method JoinBO(const wchar_t* strBOID). Users who just have attendee privileges can join a breakout room with JoinBo() but can only join the one they were assigned, as in they must be assigned a room by someone else.
In order of operations, the creator needs to create the breakout rooms, assign the users to the breakout rooms, then an admin (or the creator) needs to actually start the breakout rooms with startBO. After that, users can join the room they were assigned.
Let me know if that helps, or if there are follow-up questions here.