Should I use Middleware?

I’m new to networking and I am starting a FPS and I was wondering if it would be a good idea to use middleware (such as electroserver) for my game or if I should use the Unity built-in networking.

I know that for an MMO or other large scale projects, it is nearly a requirement to use such middleware, but I am unsure as to whether it makes the development of a FPS easier, harder, or is just plain unnecessary. I am also wondering about the effects performance-wise between each networking choice.

I plan to make this a rather large FPS (10-20 players and a modifiable/generating world) if that makes any difference.

Thanks in advance.

ya im thinking the same thing. Gotta keep this thread bookmarked because i need some help with this too.

If you choose to go with ElectroServer, it’s free for up to 25 concurrent users, we would consider 25 concurrent users to be tiny rather than large. I finished doing an example Unity Avatar Chat with ElectroServer 5 recently. Nobody is shooting anybody else in my example, however we already have customers who are doing FPS games using ES5 and Unity.

Try this demo from the asset store: Photon Bootcamp Multiplayer Showcase | Network | Unity Asset Store.
(100 CCU are free.)

I realize that it is possible to do what I am asking with any type of middleware. The main question I am trying to get across is whether or not it is beneficial to do so. Either through ease of use, performance, or bandwidth.

I realize 25 is rather small. I said it would be a large game because of the deformable/infinite terrain, which would need to be synchronized.

I would not use that kind of middleware for an fps. The problem with them is that you have to host all the servers. With integrated network, you only need the master server, users can host their own servers.

Which means cheaper server cost for you.
If no info is saved in master database, then middle ware is not needed imo.

If you’re making an fps like these f2p where you get cash and stuff saved to master, then middleware would be better because that would reduce cheating. But then again, default one would work too with some coding.