Es ist möglich, C ++ mit der kostenlosen Version von Unity zu verwenden, obwohl es einfacher ist, damit zu arbeiten, wenn Sie eine Unity Pro-Lizenz haben. Alles, was Sie tun müssen, ist, es in eine DLL zu packen und den Anweisungen unten zu folgen, um es zu platzieren.
Hat sich dies für Unity 5 geändert, wo die kostenlose Version alle Engine-Funktionen der Pro-Version enthält?
GeekyMonkey
1
@GeekyMonkey Artikel und Antwort aktualisiert.
MLM
Es macht keinen Sinn, C # im Unity3D-Kontext durch C ++ zu ersetzen. Diese Antwort ist möglicherweise hilfreich, wenn Sie nach einer Schnittstelle mit systemeigenem Code gefragt wurden.
Aggsol
1
Mit der neuen IL2C ++ - Technologie gibt es nicht viele Gründe, C ++ anstelle von C # zu verwenden. Im Moment ist es auf mobile Plattformen beschränkt, aber es wird erwartet, dass die Technologie bald auf dem PC verfügbar sein wird.
JPtheK9
1
@ user2023370 Ich habe diesen Teil aktualisiert, um die Sprache klarer zu machen "Unity 4 und darunter", danke für den Kommentar :)
MLM
1
Es ist zwar unpraktisch möglich. Sie müssten verwaltetes C ++ schreiben, um dies zu erreichen. Und ja, es gibt so etwas wie verwaltetes C ++. Verwaltet bedeutet nicht speziell C # und nicht verwaltetes C ++. Um dies zu erreichen, müssen Sie die UnityEngine-DLL-Datei importieren. Wenn Sie fertig sind, legen Sie es im Ordner (Unity Project Name) / Plugins ab. Hier ist der Code, den Sie verwenden würden: In der C ++ - Datei:
public ref class CPPUNITY {public:voidStart(){Debug::Log("C++ printed message");}};
Unterstützt die in Unity verwendete Mono-Laufzeitumgebung nun auch Assemblys im gemischten Modus? Wir hatten vor einigen Jahren noch kein Glück mit 4 und Baugruppen von VS 2012, also wäre das wirklich großartig!
Antworten:
Es ist möglich, C ++ mit der kostenlosen Version von Unity zu verwenden, obwohl es einfacher ist, damit zu arbeiten, wenn Sie eine Unity Pro-Lizenz haben. Alles, was Sie tun müssen, ist, es in eine DLL zu packen und den Anweisungen unten zu folgen, um es zu platzieren.
Ich habe einen Artikel zu diesem Thema geschrieben: Unity und DLLs: C # (verwaltet) und C ++ (nicht verwaltet)
Nicht verwaltet bedeutet C ++ und verwaltet bedeutet C #
quelle
Es ist zwar unpraktisch möglich. Sie müssten verwaltetes C ++ schreiben, um dies zu erreichen. Und ja, es gibt so etwas wie verwaltetes C ++. Verwaltet bedeutet nicht speziell C # und nicht verwaltetes C ++. Um dies zu erreichen, müssen Sie die UnityEngine-DLL-Datei importieren. Wenn Sie fertig sind, legen Sie es im Ordner (Unity Project Name) / Plugins ab. Hier ist der Code, den Sie verwenden würden: In der C ++ - Datei:
In der C # -Datei:
Dieser genaue Code würde nicht funktionieren, aber das ist eine Basis.
quelle