Utiliser la version de développement du Scriptable Render Pipeline

Si vous utilisez le Scriptable Render Pipeline actuellement, vous avez surement constaté que certaines fonctionnalités sont absentes ou boguées. Vous avez deux solutions, soit attendre une mise à jour via Package Manager, soit vous brancher directement sur la version de développement sur github. On ne peut pas copier/coller les sources directement dans son projet, mais pas de panique, nous allons voir comment faire. Attention tout de même, cette version n’est absolument pas recommandé pour être utilisée en production, vous savez ce que vous faites. C’est intéressant de l’utiliser en attendant qu’une mise à jour stable sorte.

Identifier la bonne branche et cloner le dépôt

La première chose à faire est d’identifier la branche à utiliser par rapport à votre version d’Unity. Par exemple en ce moment la dernière version beta d’Unity est la 2018.3b7. Si on regarde dans com.unity.render-pipelines.core/package.json, il est indiqué que la version nécessaire d’Unity est la 2019.1. Donc là, il faut aller sur l’onglet branche, et chercher la branche qui correspond à sa version. Dans mon cas c’est release/2018.3.

Ensuite rendez vous dans votre dossier où vous stockez tous vos projets Unity pour cloner le dépôt avec la commande suivante, en remplaçant release/2018.3 par la version à utiliser. Si votre version d’Unity est compatible avec la branche master, alors vous pouvez zapper la partie “release/xxxx –single-branch“.

git clone -b release/2018.3 --single-branch https://github.com/Unity-Technologies/ScriptableRenderPipeline

En clonant le dépôt dans votre dossier de travail, tous vos projets peuvent utiliser très facilement la dernière version du Lightweight ou HD Render Pipeline !

Mise à jour du manifest.json de votre projet

Ouvrez le fichier manifest.json stocké dans le dossier Packages de votre projet. Dans la section dependencies, remplacez la version des packagse du scriptable render pipeline par ce qui suit.

{
  "dependencies": {
  // D'autres packages ici
    "com.unity.render-pipelines.core": "file:../../ScriptableRenderPipeline/com.unity.render-pipelines.core",
    "com.unity.render-pipelines.lightweight": "file:../../ScriptableRenderPipeline/com.unity.render-pipelines.lightweight",
    "com.unity.shadergraph": "file:../../ScriptableRenderPipeline/com.unity.shadergraph",
  // Encore d'autres packages par là
  },
  "testables": [
    "com.unity.render-pipelines.lightweight"
  ]
}

N’oubliez pas d’ajouter la nouvelle section testables qui indique que vous utilisez un package local.

A partir de là vous pouvez relancer voter projet depuis Unity pour voir si tout est OK. Si vous avez bien respecté les chemins de fichier tout devrait être bon. Si vous utilisez le HDRP, il est possible qu’il faille relancer Unity.

Conclusion

Grâce au choix d’Unity d’avoir ouvert le code de ses nouveaux renderers, il n’est plus obligatoire d’attendre la prochaine version pour avoir une mise à jour du code. Parfois c’est pour découvrir les prochaines fonctionnalités, comme la prise en charge de la VR sur le renderer HD. Actuellement c’est surtout pour avoir des corrections de bogues. On pourrait se demander pourquoi il n’y a pas plus de mises à jour. Dans tous les cas vous êtes désormais armé pour utiliser au mieux possible ces nouveaux outils graphiques !