Use outside of unity #302
Comments
Will look into setting up the solution so that it can be built outside of Unity, I made these changes and thanks for bringing this up. |
I'm trying out Forge for a non-Unity server a Unity client, but am getting more and more confused the further I progress. Alloy was "released in 2020", implying this is the latest version, yet it is located on After following the Alloy instructions, I'm getting errors due to code importing For the Unity client, I see the tags in this repository haven't been updated since 2017, which I'm guessing is version 2.0 still and not Alloy. The instructions tell me I can install from the asset store, which has a more recent version from 2019; great, but... is this Alloy or 2.0? Looking at the code, it's different from the Alloy code I extracted for the server on If this sounds angry or insulting, it is not my intention; I'm just confused: is Alloy ready for production or not, if so, is it available on the asset store already, and should I be using it outside Unity? (Also, importing folders into projects is unfortunate, since now all of the Forge code is cluttering my Git and I cannot easily update to new bugfix versions using a package manager.) |
These videos are a year old, but is looks to me like Alloy is meant to play a little different roll than ForgeNetworkingRemastered: https://www.youtube.com/watch?v=qsJZ4Tc-_tc&list=PLm1w78-UUlMI2oX8tlXFnBAT8oj06GMgN As far as updating the code in unity, just clone the latest then copy over to your unity project. This is helpful incase you need to modify any of the FNR code. This way you can diff the new code with any change you made. I've only been using it for a day and we need to modify the MultiplayerMenu code. |
@JacobChrist Thanks for the information. I'm also wondering: is it even possible to use Forge for an external server without Unity when you want to work with the "networked objects"? I've spent the better of two days now puzzling together information from the docs and fighting with actual data synchronization and RPCs not being properly sent over the network. All complete examples appear to have the server as Unity project, where I'm looking for an external non-Unity server with Unity clients communicating through it. Most of the questions that arise from this are left as an exercise to the reader. What does a stand-alone non-Unity server need to do beyond
The docs nicely explain how everything works, but most of it is about having the server inside a Unity project, where instantiation of the same contracts and such is possible. I'm struggling to get my RPC requests delivered to even the same client with A more extreme case would be where the TCP server end is written in Node.JS or something not related to Forge. Is such a thing possible? |
(Disclaimer:) I haven't gotten everything working yet and cannot confirm that "everything will work", but I can answer some of my own questions now, which will hopefully help someone and may provide a jump start for others reading this. :
I'm still calling I've also not yet gotten RPCs to work. This appears to be due to the server buffering them indefinitely because EDIT: RPCs work now. The server was indeed buffering them indefinitely because they were not "registered" yet. I solved this by listening to Note that this also implies that you must register the same RPCs on the server as on the client, and on the client they are registered in the mono behavior, which you cannot use on the server, so you must mimic the same RPCs and their order. |
Version Number and Operating System(s):
git clone from master
Windows 10
Expected behavior:
I wanted to use Forge Networking Remastered outside of a Unity project (as mentioned in the readme).
Actual behavior:
Since the decision to move away from building ddls and moving most of the files to another place it seems that you can not use it without unity any longer.
If I'm wrong please give a short explanation on how to do so because I wan't able to find any documentation about that topic.
Steps to reproduce:
[Optional] Discord Username:
The text was updated successfully, but these errors were encountered: