Unity3D propose depuis longtemps la possibilité de créer des jeux multiplayer. Il utilisait UNet, mais malheureusement, Unity a décidé d’abandonner cette solution (annoncé depuis août 2018) et de travailler sur une toute nouvelle solution.
Donc si vous utilisez les dernières versions beta d’Unity3D 2019, c’est sans surprise que tous les composants liés au multiplayer aient disparu.
Mais la question est, que pouvons-nous utiliser à la place de UNet ?
La réponse se trouve ici. Il s’agit d’un package encore en alpha de la nouvelle solution pour gérer les jeux en réseau.
Cette nouvelle solution a pour but d’améliorer les performances de vos jeux multijoueurs. Et cela en retravaillant depuis zéro l’existant et en s’appuyant sur le système de Job (multi-tâches).
Je ne vous cache pas que le multijoueur n’est pas forcément mon point fort mais je trouve ça quand même intéressant.
Installation du package multiplayer
Voici la démarche rapide pour installer le package à partir du dépôt.
Sélectionnez le dossier contenant vos projets et avec n’importe quel outil de versionning Git (SourceTree, Tortoise Git, …) ou téléchargez la dernière version et dé-zippez la.
Allez dans votre projet > Packages puis éditez le manifest.json pour ajouter cette ligne dans les dépendences
"com.unity.transport": "file:../../multiplayer/com.unity.transport",
et celle-ci :
"com.unity.mathematics": "0.0.12-preview.19"
Lancez votre projet, et vous devriez voir le package transport :

A partir de là vous pouvez utiliser le package en créant un script pour le client et un autre pour votre serveur.
Conclusion
C’est une bonne initiative de Unity3D qui je trouve, monte en puissance avec le temps en tant que moteur de jeu.
Pour l’instant il n’y a pas encore de composant comme sous UNet pour faciliter les développements. Mais cela ne devrait pas tarder à arriver dans les prochaines versions.
Normalement il y aura plus d’information sur le futur du nouveau package multijoueur le lundi 18 mars, lors de la Keynote.
Personnellement, je vais regarder pour faire quelques tests.