タイトルの種類はそれをすべて言います。Unityを使用するゲームでC#をC ++に置き換えることは可能ですか?
Proエディションをお持ちの場合です。詳細については、docs.unity3d.com
—
Manual
タイトルの種類はそれをすべて言います。Unityを使用するゲームでC#をC ++に置き換えることは可能ですか?
回答:
Unity Proのライセンスをお持ちの方が作業しやすいですが、Unityの無料版でC ++を使用することは可能です。あなたがしなければならないのは、それをDLLでラップし、それをどこに置くかについて以下の指示に従ってください。
このトピックをカバーする記事を書きました:UnityとDLL:C#(管理)とC ++(非管理)
Unity 4無料の場合:
- Unityプロジェクトルートにアンマネージコードを追加します。
UnityProject
- マネージコードをPluginsフォルダーに追加します。-
UnityProject
>Plugins
- プロジェクトをビルドするときに、アンマネージコードを
BuildRoot
->Data
-> にコピーしますPlugins
Unity 4 ProおよびUnity 5の場合:
- DLLを
UnityProject
->にコピーするだけですPlugins
非管理はC ++を意味し、管理はC#を意味します
不便ではありますが可能です。それを実現するには、マネージC ++を作成する必要があります。そして、はい、マネージドC ++などがあります。マネージドとは、特にC#とアンマネージドC ++を意味するものではありません。それを実現するには、UnityEngine DLLファイルをインポートする必要があります。完了したら、(Unity Project Name)/ Pluginsフォルダーに配置します。使用するコードは次のとおりです。C ++ファイル内:
public ref class CPPUNITY {
public:
void Start() {
Debug::Log("C++ printed message");
}
};
C#ファイルで:
using UnityEngine;
public class FileName {
void Start() {
CPPUNITY.Start();
}
}
その正確なコードは機能しませんが、それは基本です。