Giter Club home page Giter Club logo

ignorance's Introduction

Ignorance 1.2.x Stable

PayPal

If you feel so inclined, I'd appreciate a coffee to keep me caffeinated if you use this transport.

Ignorance Transport allows you to harness reliable UDP communications over the vast seas that is the internet. Simply plug this transport into Mirror Networking and you've got the power of reliable UDP provided by the ENET C Networking Library in your project.

Ignorance now uses a custom fork of nxrighthere's ENET-CSharp repository due to his recent fallout with the Mirror team over silly things. If you want my analysis of the situation, you can find it on my blog.

Why should I use Ignorance 1.2.x over Unity LLAPI?

Unity LLAPI is old, obsolete and no longer mantained by Unity Technologies. Plus, it was held together by bandaids and bubble-gum. Ignorance aims to replace it with a stable, high performance transport system that allows you to forget about low-level networking stress and spend more time focus on making the game you want to make.

Compatiblity

Windows

  • Windows 7 onwards, x64 platform. x86 (32Bit) not supported, sorry.

MacOS

  • Anything recent that is Intel platform. PowerPC not supported.

Linux

  • Anything modern that is x86_64 platform. Ubuntu recommended, but should work on Debian, Arch, Gentoo...

Android

  • Kitkat 4.4 onwards.

iOS

  • iOS 8.0 onwards on ARMv7 all the way to the iPhone X on ARM64e.

Dependencies

  • Mirror
  • ENet-CSharp, our custom fork of NX's code. Blobs are included in the repository, no manual compile required.

Mirror Compatibility

Please use the Mirror Asset Store releases. The master branch of Mirror can also be used but please beware that it's bleeding edge and massive breakage can be expected on a bad day.

Installation

Download the Unity Package from Releases that is the latest one. Simply import the Unity Package and Unity will do the rest. Follow the instructions below.

How to use

If you haven't already, make a empty GameObject with the Mirror Network Manager. It will automatically add Telepathy as the default transport. Add a new component and look for Ignorance Transport. You will have Ignorance added as a transport, but it will not be activated. Now drag the Ignorance Transport script into the Transport field of the Network Manager inspector. If all goes well, you should see Ignorance Transport (Transport) in that field.

Bugs

Check the current open bug reports and/or report a new one here, and I also recommend you be present in the Discord so I can ask for further info and/or you can test fixes for your bug reports.

Bugs that do not have enough details will be closed with #wontfix. Details like your OS, Unity Editor version, any Ignorance errors, etc is essential for a good bug report.

Mac OS Editor Compatibility Issues

When using Ignorance inside the MacOS environment, it will run in a compatibility mode to ensure things work correctly. This is due to some Unity Editor thread managed-to-native issues that were fixed in 2018.3+.

I have questions, I want answers.

You're welcome.

Credits

  • Coffee Donators: Thank you so much.
  • vis2k and Paul: Mirror lead developers.
  • Katori: Helped kickstart the threaded version that evolved into Ignorance 2.
  • BigBoxVR: Pull requests and found a race condition that threatened stability.
  • c6burns: Words cannot describe how much help he's been. Bloody oath mate.
  • FSE_Vincenzo: Providing insight into proper usage of ENET, rebuttal, improvements, etc.
  • BigBoxVR and Martin: Pull requests.
  • To all the others who I have missed. Thanks a lot, you know who you are.
  • You too can have your name here if you send in a PR. Don't delay, get your PR in today!

Previous hall of fame:

  • Petris: Code refactoring and tidy up (you rock man!)
  • Draknith: Testing and mapping Reliable/Unreliable channels in Mirror to ENET Channels, testing.
  • shiena: Pull requests for bug fixes and oversights.
  • The folks at the Mirror discord: Memes, Courage, LOLs, drama and all-round awesome folks to chat with.

And last but not least...

  • nxrighthere: Helped debug some things in early versions of Ignorance, before going full rampage and blacklisting everyone on the Mirror team from his repos. RIP.

ignorance's People

Contributors

softwareguy avatar michalpetryka avatar gabebigboxvr avatar fingerx avatar shiena avatar timpickup avatar felipejfc avatar martindevans avatar vincenz099 avatar noblewhale avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.