Search Unity

Resolved About built-in client-side prediction

Discussion in 'Multiplayer Dev Blitz Day 2022' started by echu33, Oct 27, 2022.

  1. echu33

    echu33

    Joined:
    Oct 30, 2020
    Posts:
    62
    Hello.
    As far as I know. That netcode for gameobject pacakge have no client side prediction yet.
    And I also knew this function has been tag as [Planned].

    So here I just want to share some thoughts :

    For most people I met in person & seen around the online community. and of course include myself. Without much exeperience/knowledge in networking in games. Photon's Pun2 and Mirror is probably the most popular/goto options for the past few years since it's easier to find documenet / learning resources.

    But I have seen so many times that after working on the project for weeks, people reallize that their game's online gameplay experience just plain BAD. Not because there's cheater. not because the ping is too high. It's just simply lack of client side prediciton. So people have to write their own client side prediciton from the ground up or switch to other network solution with more mature built-in prediciton implmented.

    So what do I expect from netcode for gameobject package over other solution? I hope unity put prioritize of having a client side prediction mover API similar to Unreal's ClientPredictionData higher. It doesn't need to be simplify to be like a drag & drop componenet. To be able to have a built in way/API to make prediction work can really make small size team's life easier 50 times already. If built-in works, Why do I choose third party one?

    In the end of the day. The gameplay feel are just too important. Lots of small scale project don't really bother by cheater. But player will quit the game immediately if the character has jerky control/movement.

    thats my thought, thank u.
     
    PutridEx likes this.
  2. CreativeChris

    CreativeChris

    Unity Technologies

    Joined:
    Jun 7, 2010
    Posts:
    457
    Hi @echu33

    Correct, Netcode for GameObjects does not currently support Client-side Prediction, rollback or reconciliation and we know this presents a gap in the feature list.

    Netcode for Entities solution already supports this functionality, and while we don't have specifics to share it is something we'd like to explore bringing to Netcode for GameObjects in the future.

    Appreciate your feedback on this topic.