Использование кода .NET 4.5 в Unity 5
Я работаю над игрой с использованием Unity3D версии 5. В игре должны использоваться строгие бизнес-правила, уже запрограммированные в движке С#.NET4.5. Используя Xamarin/Mono, мы надеемся сделать это пригодным для использования на окнах, Android, других...
Я попытался создать движок в dll и использовать его как управляемый плагин в Unity. Но Unity использует старую версию Mono для компиляции всей игры и отказывается использовать DLL.NET 4.5.
Мне действительно нужно использовать этот код, я посмотрел его на .NET 3.5, но это не приемлемое решение, учитывая работу, уже проделанную на движке.
Что касается android, я думаю, что использовать Xamarin для получения собственного кода Android и использовать его как родной плагин в Unity. Теперь мне нужно решение для Windows. Я изучаю способы использования кода С# в С++ для создания неуправляемой dll, но я борюсь за понимание, какой способ применим здесь между COM-взаимодействием, С++/CLI или другими методами.
Кто-нибудь знает способ включения кода из .NET 4.5 в Unity без каких-либо усилий?
Ответы
Ответ 1
Используя плагин visual studio: неуправляемый экспорт, я смог экспортировать С#.NET 4.5 в неуправляемую/родную DLL, которую я могу использовать в Unity Engine,
Это заставляет называть только простые функции, но с небольшой работой мне удалось обернуть ядро моего движка.
Ответ 2
Похоже, Unity обновляется до 4.6+ и теперь доступен в бета-версии
https://forum.unity3d.com/threads/upgraded-mono-net-in-editor-on-5-5-0b4.433541/
Ответ 3
Короткий ответ - нет.
Unity имеет "функциональность эпохи .NET 2.0/3.5", в соответствии с официальным сообщением .
Согласно тому же сообщению, будущая версия Unity будет обновлена до "современной версии .NET", без каких-либо временных рамок для этого крупного предприятия.
ПРИМЕЧАНИЕ. Этот ответ был написан в ответ на исходную версию вопроса, а именно: можно ли использовать библиотеку .NET 4.5 непосредственно в Unity.