Jump to content
This site uses cookies! Learn More

This site uses cookies!

armedunity.com uses cookies to improve user experience.

By continuing to use this site, you agree to allow us to store cookies on your computer.

geckoo

Unity Forge

Recommended Posts

Hi my dear fellows. I have tested today some projects using Forge as a network solution. I like it and final result is good enough...

So I would like to knwo how many cost their service - something more or less similar with CCU Photon system, but I didn't find anything.

Nothing is for free - have you a point of view about this netcode alternative? Who has tested Forge here. Thank you for your feedback ++

Share this post


Link to post
Share on other sites

I've used Forge since the day it dropped, and I've always recommended it to people. Now that it's free, I can't recommend anything else.

 

The low bandwidth usage that Forge offers are better than anything else I've tested: PUN, UNET, RAKNET, BOLT, TNET

 

As for running servers; I've never done any 100% authoritative game with Forge (in terms of authoritative movement, and the likes), but I've ran tests with over 20+ in one session, albeit not much was happening other than player movement.

Share this post


Link to post
Share on other sites
Please login or register to see this quote.

Interesting point of view which is supported by your experience with other solutions. I really appreciate.Thank you ++

Share this post


Link to post
Share on other sites

Salut Gekoo, I myself believe Forge is an amazing library written by a talented small team, however I don't think it is maintained anymore (the latest package release was April 14, 2017) which is why they open-sourced towards GitHub's community. Check the list of open issues (currently 40) listing bug errors and what not (I had the same experience a while back).

 

It still is however a beauty when it comes to performance (seriously!!!) with multi-threading and packet forging (where the packet header size minimal). Plus its all written in C# with no external libraries, so it is compatible with most platforms including WebGL's WebSockets.

 

One thing however is the steep learning curve, in my opinion, it took quite a while to adopt because of lack of good documentation and tutorials. I also remember having spent a lot of time debugging some really weird bugs because the parallel code was hard to understand. ( also there are certain classes and methods that I implemented in the wrong way, and I found out the hard way).

 

But as a minimalist, why use a network library with all these features when you can code one yourself :3

  • Like 1

Share this post


Link to post
Share on other sites
Please login or register to see this quote.

Salut MyIsaak. Thank you for your large and interesting explanation. I have no clue about how to code a network library, but I would like to know more. Any link?

Share this post


Link to post
Share on other sites

Well first you should get yourself familiar with the overall structure of networking (not the OSI model it's obsolete) known as Please login or register to see this link.  that has four layers with each layer that depends on it's lower layer. Focus on the Transport layer that handles TCP and UDP (UDP is faster than TCP because of ACK header removal) in order to understand the fundamentals of a network 'connection' between two computers. There are limitations in the Transport layer (e.g missing packets) that are fixed in the Application layer (e.g reliable packets) but counteract performance. As a plus, it would be good to be familiar with a couple of networking terms.

 

I would recommend implementing a UDP connection (sending bytes) between two computers:

From .NET we already have an amazing library that holds the Please login or register to see this link.  using the following in both scripts:

Please login or register to see this code.

Server:

Please login or register to see this code.

Client:

Please login or register to see this code.

But what I like about Forge is Please login or register to see this link. using Please login or register to see this link. to reduce header size and check out their thread management system, it rocks!

 

I setup a quick repo for those that like to compile C# using terminal here: Please login or register to see this link.

 

Once you're successful with a creating a network connection between two computers, then you can start writing methods and constructs that can simplify you're networking life and boost performance. Please login or register to see this link.

Share this post


Link to post
Share on other sites
Please login or register to see this quote.

Yup

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×