Archived project to wrap the Urho3D engine for C#, allowing it to be used on any .net core (NetStandard 2.0+ ie .net6/7/8) runtime and is fully mobile supported.

EgorBo bd4035309d Urho events to C# events 10 лет назад
Nuget 74c4007c00 New icon for the project templates and the Nuget 10 лет назад
ProjectTemplates 74c4007c00 New icon for the project templates and the Nuget 10 лет назад
Samples @ f6852e01e6 9f9d8c5953 Events are no longer part of UrhoObject, instead they are associated 10 лет назад
Screenshots 7dc9275edb undo "recursive assets", add a warning if assets are empty for Android 10 лет назад
SharpieBinder 447dda1f12 Close #72 Remap typenames for XMLFile->XmlFile XMLElement->XmlElement 10 лет назад
Urho3D 0e1bff863a Add CoreData (CoreData.pak file) to the nuget package 10 лет назад
bindings bd4035309d Urho events to C# events 10 лет назад
docs 6c67f22803 Lots of new documentation, based on Urho's documentation, integrate 10 лет назад
.gitignore 3b9e604414 Update Samples submodule 10 лет назад
.gitmodules fc1c376cef Move Urho3D to xamarin/Urho3D 10 лет назад
ClassHierarchy.md f1fdc5561c Update ClassHierarchy.md 10 лет назад
MakeAndroid 053130b7b6 Remove SharpComponent 10 лет назад
MakeMac 053130b7b6 Remove SharpComponent 10 лет назад
MakeWindows 0e1bff863a Add CoreData (CoreData.pak file) to the nuget package 10 лет назад
Makefile 0e1bff863a Add CoreData (CoreData.pak file) to the nuget package 10 лет назад
MakeiOS 053130b7b6 Remove SharpComponent 10 лет назад
MaketvOS 053130b7b6 Remove SharpComponent 10 лет назад
README.md e421b24203 Rollback my changes to README.md 10 лет назад
TODO.md 74f3bb9ec6 Update TODO, add RenderPath.Clone 10 лет назад
Urho.nuspec 74c4007c00 New icon for the project templates and the Nuget 10 лет назад
Urho.sln 4394c4f181 Fix "Package" configuration 10 лет назад
UrhoSharp.png 74c4007c00 New icon for the project templates and the Nuget 10 лет назад
nuget.config 0e1bff863a Add CoreData (CoreData.pak file) to the nuget package 10 лет назад

README.md

UrhoSharp

Code to integrate with the Urho3D engine

This is designed to be a binding to the C++ API of the Urho3D engine.

For information on the binding strategy, see the document at:

https://docs.google.com/document/d/1uuPwkmnGWdlhRe0-8VqLVtYyo1Hv1cgl_ZxmjwxMiFA/edit#heading=h.ozhfa8u99ynm

How to build

In order to compile binaries for all platforms you will need both Windows and OS X environment. Please follow these steps:

1. Install:

  • XCode
  • Xamarin Studio
  • CMake (i.e. "brew install cmake")
  • Mono 64 bit (i.e. "brew install mono")
  • Command Line tools ("xcode-select --install")

2. Clone the repository including submodules

git clone [email protected]:xamarin/urho.git
git submodule update --init

3. Compile Urho.pch

The following command will download Clang 3.7.0 if you do not have it installed, and use this to scan the Urho header files:

make PchMac

4. Generate C# bindings from Urho.pch

Open SharpieBinder/SharpieBinder.sln via Xamarin Studio and change .NET runtime to 64 bit mono (installed from homebrew is usually located in "/usr/local/Cellar/4.x.x.x"). Run SharpieBinder project and make sure it generated *.cs files in /bindings/generated dir. Then execute:

make ParseEventsMac

it should generate bindings/generated/events.cpp file

5. Compile UrhoSharp for Mac (fat dylib)

make Mac

it takes 5-10 minutes.

6. Compile UrhoSharp for iOS (fat dylib: i386, armv7, arm64)

make iOS

7. Compile UrhoSharp for Android (armeabi, armeabi-v7a, x86)

make -j3 Android

-j3 means a job per ABI. Make sure you have installed Android SDK and NDK (see MakeAndroid file)

8. Compile UrhoSharp for Windows (64 bit)

Obviously you can't do it on OS X so you have to switch to Windows environment. Make sure you have installed:

  • Visual Studio 2015
  • CMake
  • Mingw
  • You have these environment variables: CMAKE_C_COMPILER, CMAKE_CXX_COMPILER. Bin folders of CMake and Mingw should be added to PATH.

SharpieBinder doesn't work on Windows yet so you will have to copy bindings/generated folder from OS X environment to Windows.

Execute:

make Windows

(you can also compile Android on Windows via "make Android") Then, open Urho.sln and compile MonoUrho.Windows project in Release configuration.

All compiled binaries could be found in the Bin/{platform} folder.

Sample

Sample code lives in https://github.com/xamarin/urho-samples and repository has them as a git submodule. Samples use Urho via nuget.

Very simple sample

Some screencasts: