Search Unity

Question NormCore, a Unity Netcode plugin??

Discussion in 'Multiplayer' started by MrBigly, May 5, 2023.

  1. MrBigly

    MrBigly

    Joined:
    Oct 30, 2017
    Posts:
    221
    duyha_optimizer likes this.
  2. KikiSaintonge

    KikiSaintonge

    Unity Technologies

    Joined:
    Mar 24, 2022
    Posts:
    12
    It looks nice! I'd suggest investigating it's capabilities and limitations fully to understand if it fits any needs you have for a project you might be building.

    In terms of usefulness, that is subjective to what you are trying to build. Normcore seems to suggest they are primarily filling a VR and VOIP gap with projects build in Unity, and the lack of determinism in the PhysX. So in that regard it may be quite useful. I can't find any mention of server rewind, interpolation, or rollback, so if you are looking into highly-competitive multiplayer projects that require that and you don't want to write it yourself, this may not be the netcode for you. Definitely depends!
     
  3. Brandgage-1

    Brandgage-1

    Joined:
    Nov 15, 2017
    Posts:
    32
    I've used it, it's pretty nice. but it totally depends on your needs and use case.
     
  4. rdjadu

    rdjadu

    Joined:
    May 9, 2022
    Posts:
    116
    We've been using it for about a year now for a mobile app that's due out this year. So far, only at pretty limited beta test scale so can't really speak to scaling when it comes to running hundreds or thousands of rooms on their servers (we are using their hosting).

    The API is clean. Easy to use. Not a great deal of flexibility but if Normcore's model works for you, you're up and running fast and reliably. If you end up needing to, for example, transmit data that doesn't readily fit their model (e.g. collections of primitive data), then things get iffy. Writing a network sync of an Animator, for example, is super straightforward *IF* you're okay hardcoding states and parameter/triggers into the model. If you want something that can network *any* Animator, it gets tricky because you can't have collections (except for the heavy collections of models) and would have to come up with workarounds.

    The ownership model allows for some clever networking stuff but can be iffy to work with. Setting up mixed ownership can be painful.

    Documentation is decent-ish.

    No ability to customize prefab spawning and they all have to go into the Resources folder. That part is not great (////EDIT: there actually is an API hook that you can use to take over the actual spawning such that you can put the data anywhere).

    Performance so far has been stellar. We've been *impressed* by the low-latency network performance we're seeing in our mobile-to-mobile fighting game.

    The code generation part is a little annoying, but not a massive deal.

    Can't speak to cost yet because we've not run at scale yet.

    There is the option to self-host servers as well as to put server logic in rooms. We haven't yet tried either but we're happy that the options are there.

    All in all, we're very happy with Normcore so far.
     
    Last edited: Feb 26, 2024
    Holydh, duyha_optimizer and MrBigly like this.