Bonjour, Bonsoir
Je travailles sur plusieurs projets en même temps, et sur mon projet principal, j'ai créé des outils, fonctions, ect... divers qui me sont utiles dans pleins de situations (par exemple, un système de palette de couleur).
Je cherche donc à réutiliser ces Scripts et Assets dans mes autres projets.
Je sais que je pourrais simplement copier-coller le Dossier les contenant, seulement je le modifie/améliore en permanence, parfois depuis le Projet 'principal', parfois depuis mes autres projets.
Je cherche donc à synchroniser le dossier, mais je ne sais pas vraiment comment m'y prendre. Pour l'instant j'utilise un logiciel externe qui permet de synchroniser deux dossiers automatiquement, mais c'est rapidement limité, notamment pour en synchroniser plus de 2 (dans plus de 2 projets donc).
Comment est-ce que je pourrais m'y prendre ? Je pensais utiliser le système de Package d'Unity, qui serait la solution parfaite : le dossier est stocké dans le 'cloud' Unity, je peux l'update n'importe quand depuis n'importe quel projet et tout resterait synchronisé.
Mais je ne sais pas du tout comment m'y prendre...
Des idées ? Merci d'avance.
[Résolu] Synchroniser des Assets entre différents projets.
- TheParadox
- Messages : 84
- Inscription : 12 Juil 2017 19:54
- Localisation : France
[Résolu] Synchroniser des Assets entre différents projets.
Dernière édition par TheParadox le 18 Août 2020 15:11, édité 1 fois.
Une seule chose est sûre : rien n'est certain, car cette phrase est un mensonge.
- boubouk50
- ModoGenereux
- Messages : 6220
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Synchroniser des Assets entre différents projets.
Simplement exporter/importer ton dossier dans un unitypackage devrait l'updater il me semble, sans passer par le package manager, je veux dire. (import custom package)
Fais un test, exporte un package, importe-le dans ton 2nd projet. Modifie le 1e, exporte et importe de nouveau, il devrait te donner la liste des assets qui ont été modifiés.
Je crois qu'il se base sur les GUIDs des assets contenus dans les métadonnées. Il ne faut donc pas toucher à ceux-ci (changement de nom, de place, etc) pour que ce soit efficace.
Sinon, et là, je n'y connais rien, c'est de passer par le package manager, mais c'est peut-être compliqué pour pas grand chose.
Fais un test, exporte un package, importe-le dans ton 2nd projet. Modifie le 1e, exporte et importe de nouveau, il devrait te donner la liste des assets qui ont été modifiés.
Je crois qu'il se base sur les GUIDs des assets contenus dans les métadonnées. Il ne faut donc pas toucher à ceux-ci (changement de nom, de place, etc) pour que ce soit efficace.
Sinon, et là, je n'y connais rien, c'est de passer par le package manager, mais c'est peut-être compliqué pour pas grand chose.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: Synchroniser des Assets entre différents projets.
Au contraire, je dirais que si tu veux synchroniser plus simplement, utilise le package manager !
Créer un dossier qui contient tes scripts/assets/données, et ajoute un fichier que tu remplis avec les infos ici : https://docs.unity3d.com/Manual/upm-manifestPkg.html
Une fois que tu as fait ça, tu peux "importer" ton package dans tes différents projets via package manager : https://docs.unity3d.com/Manual/upm-ui-local.html
Comme c'est un package "local", tu peux le modifier depuis n'importe quel projet qui l'utilise, et comme tous tes projets référencent le même package, les changements seront instantanés.
Créer un dossier qui contient tes scripts/assets/données, et ajoute un fichier
Code : Tout sélectionner
package.json
Une fois que tu as fait ça, tu peux "importer" ton package dans tes différents projets via package manager : https://docs.unity3d.com/Manual/upm-ui-local.html
Comme c'est un package "local", tu peux le modifier depuis n'importe quel projet qui l'utilise, et comme tous tes projets référencent le même package, les changements seront instantanés.
- TheParadox
- Messages : 84
- Inscription : 12 Juil 2017 19:54
- Localisation : France
Re: Synchroniser des Assets entre différents projets.
Merci ! C'est exactement ce que je recherchais
Par contre, une fois le package importé, j'ai l'impression que les scripts ne sont pas accessibles...
Quand j'ouvre un script avec visual studio, les classes contenues dans mon package "n'existent" pas...
J'ai essayé de l'intégrer avec le mot clé "using", au début du script, mais l'auto-complétion ne me propose rien en rapport avec mon package...
Qu'est ce que j'ai loupé durant l'importation ? D'ailleurs, quand le package s'importe, il est ajouté au dossier "packages" de mon projet, mais pas au dossier "Assets" (alors qu'avec certains autres packs, certains dossier s'ajoutent aux assets automatiquement")...
Par contre, une fois le package importé, j'ai l'impression que les scripts ne sont pas accessibles...
Quand j'ouvre un script avec visual studio, les classes contenues dans mon package "n'existent" pas...
J'ai essayé de l'intégrer avec le mot clé "using", au début du script, mais l'auto-complétion ne me propose rien en rapport avec mon package...
Qu'est ce que j'ai loupé durant l'importation ? D'ailleurs, quand le package s'importe, il est ajouté au dossier "packages" de mon projet, mais pas au dossier "Assets" (alors qu'avec certains autres packs, certains dossier s'ajoutent aux assets automatiquement")...
Une seule chose est sûre : rien n'est certain, car cette phrase est un mensonge.
Re: Synchroniser des Assets entre différents projets.
Normalement, du as acces au code des packages dans VS, mais tu dois peut être activer "Generate all .csproj files" dans https://docs.unity3d.com/Manual/Prefere ... rnal-Tools
Et sinon, quand un package est importé via package manager, oui il n'apparait pas dans "Assets", mais bien dans "Packages", c'est le comportement normal, à la différence des .unitypackage qui sont plus des zip que tu importe dans le projet.
Et sinon, quand un package est importé via package manager, oui il n'apparait pas dans "Assets", mais bien dans "Packages", c'est le comportement normal, à la différence des .unitypackage qui sont plus des zip que tu importe dans le projet.
- TheParadox
- Messages : 84
- Inscription : 12 Juil 2017 19:54
- Localisation : France
Re: Synchroniser des Assets entre différents projets.
J'ai trouvé !
https://forum.unity.com/threads/plugins ... ge.730328/
En fait, il faut créer un fichier ".asmdef" à la racine du package (au même endroit que le .package).
Donc, pour un package "MyPackage", à sa racine (donc dans le dossier "MyPackage", au même endroit que le .package), il faut créer un ficher nommé :
Ensuite, le package se ré-importe, et ça fonctionne, les scripts sont accessibles depuis le projet.
https://forum.unity.com/threads/plugins ... ge.730328/
En fait, il faut créer un fichier ".asmdef" à la racine du package (au même endroit que le .package).
Donc, pour un package "MyPackage", à sa racine (donc dans le dossier "MyPackage", au même endroit que le .package), il faut créer un ficher nommé :
- "unity.MyPackage.asmdef" ,
Code : Tout sélectionner
{
"name": "unity.MyPackage",
"references": [],
"includePlatforms": [],
"excludePlatforms": []
}
Une seule chose est sûre : rien n'est certain, car cette phrase est un mensonge.