Il tipo di titolo dice tutto. È possibile sostituire C # con C ++ su un gioco usando Unity?
Il tipo di titolo dice tutto. È possibile sostituire C # con C ++ su un gioco usando Unity?
Risposte:
È possibile utilizzare C ++ con la versione gratuita di Unity, sebbene sia più facile lavorare con una licenza Unity Pro. Tutto quello che devi fare è avvolgerlo in una DLL e seguire le istruzioni seguenti su dove posizionarlo.
Ho scritto un articolo che tratta questo argomento: Unity e DLL: C # (gestito) e C ++ (non gestito)
Per Unity 4 gratis:
- Aggiungi codice non gestito alla radice del progetto Unity:
UnityProject
- Aggiungi il codice gestito alla cartella Plugin:
UnityProject
->Plugins
- Quando si crea un progetto, copiare il codice non gestito in
BuildRoot
->Data
->Plugins
Per Unity 4 Pro e qualsiasi Unity 5:
- Basta copiare le DLL in
UnityProject
->Plugins
Non gestito significa C ++ e Managed significa C #
È possibile anche se scomodo. Dovresti scrivere C ++ gestito per raggiungerlo. E sì, esiste C ++ gestito. Managed non significa specificamente C # e C ++ non gestito. Per raggiungerlo dovrai importare il file DLL UnityEngine. Quando hai finito lo metti nella cartella (Unity Project Name) / Plugins. Ecco il codice che useresti: Nel file C ++:
public ref class CPPUNITY {
public:
void Start() {
Debug::Log("C++ printed message");
}
};
Nel file C #:
using UnityEngine;
public class FileName {
void Start() {
CPPUNITY.Start();
}
}
Quel codice esatto non funzionerebbe, ma questa è una base.