Hey @CharlestonS, the question about scalability is a great one. I haven’t heard of any scalability tests that we’ve done internally to establish the limit for how many connections we can stream from a single server. I’d be really interested to hear any findings you can share.
For your second question, you don’t need a server for each user. You can have many end-users connected to the same UE4 instance, seeing the same content being broadcast from the engine. If they’re all viewing the content through a player web page that supports sending mouse/keyboard/touch events back to the engine (like the default player.htm page), then all their inputs will get sent to the Engine. The result is that they’ll all fight for control – if I try to move left and you try to move forward at the same time, the engine will behave like it’s getting both inputs and will move the character left and forward at the same time. If I try to move left and you try to move right, the inputs cancel out and the character won’t move at all.
By customizing the player HTML page, and directing different users to different pages, you can set it up so that they have different amounts of control over the engine. For example, you could make one page for a “presenter” that allows controls, and another page for “attendees” that blocks all controls so that they only see the broadcast of what the presenter is doing. Both those pages can be served by the same Signaling & Web Server, the same WebRTC Proxy Server, and the same instance of the Unreal Engine.
Like I said above, we just haven’t pushed the limits of how many users can connect to the same stack at the same time.