We are looking into the possibility of using Unity for a setup with several networked computers hooked up to projectors. As projectors are to form a high resolution edgeblended wall. It is essential that all computers running the Unity "game" are in "frame sync" and match eachother at the edges. The edge bledning will be handled by hardware but the sync issue is a big concern. Can the networking component of Unity handle this scenario?
I know that you asked this question quite a while ago and are probably not interested in an answer any more, but for the other reader's sake I'll put my two cents in:
A computer network is a highly abstracted communication layer that has its "own life". All you can do is send packages on their way, and that's pretty much what you can do with every software that can use network connections. You can only send out or receive packages, but you have absolutely no way of influencing how long it will take those packages to be received, what route they will take - and so on. As an example: If you send out the actual time of an animation from one Unity instance to another via an IP network, the receiving instances will not only receive this time only a few milliseconds later, but also probably at different times, depending on the route the IP packages had to take to get there. This would not only result in a certain delay, but every Unity instance would have a different amount of delay for every sync package received. That results in "visual anarchy". ;) So in your situation, using IP networking is not the way to go, I'm afraid, no matter if you use Unity or any other software. What you should do in my opinion is to either buy one of those synchronized display systems they use for TV shows and trade fairs, which will set you back a few tens of thousands of dollars, or build your own system. One way to solve this could be to use a central unit that gives out some kind of timing signal with which you can synchronize your animations or timings over multiple Unity instances. I would buy an Arduino Mega (or similarly easy to use micro controller) and hook the thing up to the computers running your Unity instances via a custom built hardware solution that relays the current on one of the controller's ports to your computers or via a serial port like USB. Have this micro controller then put out a timing code that is send as a constant, one-way bit stream which will be received by all your Unity instances pretty much instantly and at the same time. In Unity itself you have to write a small plug-in that then receives this bit stream, decodes it and hands this synced time to the appropriate animations or scripts which then do their stuff as intended.
Yes, highly complicated. But that's why those screen sync systems are THAT expensive. If you have to rely on instant and realtime communication, you HAVE to go down that road and use a hardware solution. Software, like IP-Networking, is just not fast and reliable enough. After all, IP networking was invented to send bits over huge distances, and not to reliably synchronize something that depends on a fraction of a second to look clean and good.