Le titre en dit long. Est-il possible de remplacer C # par C ++ sur un jeu utilisant Unity?
Le titre en dit long. Est-il possible de remplacer C # par C ++ sur un jeu utilisant Unity?
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é)
Pour Unity 4 gratuit:
- Ajoutez du code non managé à la racine du projet Unity:
UnityProject
- Ajoutez le code managé au dossier Plugins:
UnityProject
->Plugins
- Lorsque vous générez un projet, copiez le code non managé dans
BuildRoot
->Data
->Plugins
Pour Unity 4 Pro et tout Unity 5:
- Copiez simplement les DLL dans
UnityProject
->Plugins
Unmanaged signifie C ++ et Managed signifie C #
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:
void Start() {
Debug::Log("C++ printed message");
}
};
Dans le fichier C #:
using UnityEngine;
public class FileName {
void Start() {
CPPUNITY.Start();
}
}
Ce code exact ne fonctionnerait pas mais c'est une base.