Il est possible d'utiliser C ++ avec la version gratuite d'Unity, bien qu'il soit plus facile de travailler avec si vous avez une licence Unity Pro. Tout ce que vous avez à faire est de l'envelopper dans une DLL et de suivre les instructions ci-dessous pour savoir où le placer.
Cela a-t-il changé pour Unity 5 où la version gratuite contient toutes les fonctionnalités du moteur de la version pro?
GeekyMonkey
1
@GeekyMonkey Mise à jour de l'article et de la réponse.
MLM
Cela n'a aucun sens d'essayer de remplacer C # par C ++ dans le contexte Unity3D. Cette réponse peut être utile si une interface avec le code natif a été demandée.
aggsol
1
Avec la nouvelle technologie IL2C ++, il n'y a pas beaucoup de raisons d'utiliser C ++ au lieu de C #. Pour l'instant, il est limité aux plates-formes mobiles, mais attendez-vous à ce que la technologie soit bientôt disponible sur PC.
JPtheK9
1
@ user2023370 J'ai mis à jour cette partie pour rendre le langage plus clair "Unity 4 et ci-dessous", merci pour le commentaire :)
MLM
1
C'est possible mais peu pratique. Il faudrait écrire du C ++ managé pour y parvenir. Et oui, il existe une chose telle que le C ++ managé. Géré ne signifie pas spécifiquement C # et C ++ non managé. Pour y parvenir, vous devrez importer le fichier DLL UnityEngine. Lorsque vous avez terminé, vous le placez dans le dossier (Unity Project Name) / Plugins. Voici le code que vous utiliseriez: Dans le fichier C ++:
public ref class CPPUNITY {public:voidStart(){Debug::Log("C++ printed message");}};
Le runtime mono utilisé dans Unity prend-il enfin en charge les assemblages en mode mixte? Nous n'avons pas eu de chance il y a quelques années sur 4 et les assemblages de VS 2012 donc ce serait vraiment génial!
Réponses:
Il est possible d'utiliser C ++ avec la version gratuite d'Unity, bien qu'il soit plus facile de travailler avec si vous avez une licence Unity Pro. Tout ce que vous avez à faire est de l'envelopper dans une DLL et de suivre les instructions ci-dessous pour savoir où le placer.
J'ai écrit un article qui couvre ce sujet: Unity et DLL: C # (géré) et C ++ (non géré)
Unmanaged signifie C ++ et Managed signifie C #
la source
C'est possible mais peu pratique. Il faudrait écrire du C ++ managé pour y parvenir. Et oui, il existe une chose telle que le C ++ managé. Géré ne signifie pas spécifiquement C # et C ++ non managé. Pour y parvenir, vous devrez importer le fichier DLL UnityEngine. Lorsque vous avez terminé, vous le placez dans le dossier (Unity Project Name) / Plugins. Voici le code que vous utiliseriez: Dans le fichier C ++:
Dans le fichier C #:
Ce code exact ne fonctionnerait pas mais c'est une base.
la source