Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon
4. September 2018

Last week we took a look at the available C++ game engines, that is, 3D game engines that you can use C++ to write game logic.  Today we are going to look at C# game engines.  We are using the same criteria as the last list, the engine must be 3D, actively under development and programmable using C# (regardless to the language used to write the actual engine).  Over time I have covered several of these engines, in which case I will add a learn more link when applicable.

C# powered game engines, in no particular order:

Unity (Learn More)

CryEngine (Learn More)

Xenko (Learn More)

WaveEngine (Learn More)

Godot (Learn More)

Banshee (Learn More)

FLAX (Learn More)

UrhoSharp (Learn More)

If you have a suggestion that didn’t make this list, please let me know below!


23. August 2018

JetBrains, the makers of popular developer tools such as IntelliJ IDEA, WebStorm, CLion and ReSharper just released an updated version of Rider, their C# IDE.  This release contains numerous bug fixes as well as several new features such as complete C# 7.3 support, being able to debug Docker containers, MacBook TouchBar support, improved unit testing, integrated spell checking and more.

Details of the release from the release blog:

  • Debugger: call stacks are now displayed in a more understandable way, thread-specific breakpoints have been introduced, and inspecting and expanding unsafe pointers is now supported.
  • Docker support has reached the debugger: It is now possible to debug ASP.NET Core apps in a local (Linux) Docker container: inspecting variables, the stack frames, threads, as well as stepping through your own or decompiled third-party code.
  • Publishing: We have added two new run configurations: Publish to IIS and Publish to custom server. Currently, only publishing of ASP.NET Core Web projects is supported.
  • Code completion: we now use ReSharper’s statistics-based scoring algorithm to provide more relevant items higher in the code completion popup. Moreover, code completion now works in scratch files, debugger watches, and the C# Interactive tool window.
  • Solution Explorer redesign: a new toolbar with Show all files, Autoscroll to/from source and File Nesting Settings icons. The Solution Explorer now includes Scratches view, handles nested files better, and gets the File System and the Folders always on top modes.
  • MacBook Touch Bar support for the IDE, new icons, dark window headers on Mac.
  • dotCover comes to Rider: Unit test coverage and continuous testing are now available out of the box. It is currently only available on Windows for now but it is the first step towards dotCover integration on all supported platforms.
  • Integrated spell checking: ReSpeller plugin was finally merged to ReSharper and now it comes out of the box. Other updates included from ReSharper 2018.2: C# 7.3 support, initial Blazor support, and more!
  • Templates editor: You can now manage, add, and modify Live/Surround/File Templates right from the Rider settings.
  • Frontend development features: TypeScript 2.9/3.0 support, improved support for React, Angular, and Vue.js.
  • VCS update: Easier resolve of merge conflicts, enhancements in VCS Log tab, favorite branches in Branch filter, Browse repository at revision action, and more!
  • Unity support: support for .asmdef and csc.rsp files, an option to disable Unity Reload Assembles in Play mode, Unity players in the Attach to Unity Process list, a fix for the invalid warning for this == null in Unity types, improved support for debugging remote players, Packages and Scratches nodes in Unity Explorer, and more!
  • F# support: File Templates now work inside F# projects, F# 4.5 features like Span support and the match! keyword come to FSharp.Compiler.Service.
  • C# Interactive: a new Reference in the C# Interactive context menu is available to reference the selected assembly or project in C# Interactive tool window, and the debugger can be attached to C# Interactive tool window.
  • Unit Testing: Discovering and running tests in SDK-styled projects is now faster, a new lock/unlock icon has been added to the Unit Test Session toolbar, Unit Testing related actions have been added into the default keymap, and more.
  • NuGet support: We added a filter, format customization, and advanced diagnostics to NuGet logs, support for AutoReferenced packages and TLS-1.2-only NuGet feeds.
  • Roslyn Analyzers: This release comes with initial support for .ruleset files and stylecop.json settings are now respected.
  • Other features: Generate GUID, “Custom tools”, the Re-run action on the Find Usages tab, and Runtime arguments for Run/Debug Configuration are just some of the new cutting-edge features we have included.

You can download a 30 day trail of Rider here.  Rider 2018.2 is available for Windows, Mac and Linux.  If you are an open source developer there are free licenses available, simply fill out the form available here.

GameDev News Programming

2. August 2018

Today saw the release of version 3.0 of the Xenko game engine.  The Xenko game engine was made by Silicon Studios in Japan, previously known as the Paradox 3D engine.  It was obviously having some issues as a product, with a few announced changes to the licensing structure and then in March rumours that it would be open sourced.  Today that exact thing happened, Xenko 3.0 was released under the MIT license and is now available on GitHub.

As part of this release, Silicon Studios are no longer going to be supporting Xenko development.  Fortunately though, this is not the end for Xenko, as one of the engine developers is currently going to be supporting the engine full time, at least in the short term.  He has started a Patreon account in an attempt to raise the funding required to continue supporting the game engine going forward.

Details from the announcement:

You read that right. Xenko 3.0 is out now, released under the permissive MIT license.

From now on, you can use and modify Xenko completely free — whether you’re a professional, a student, or just looking for a new hobby. This includes both the runtime and editor.

Main focus for this release was on the open-source transition, but Xenko 3.0 also includes some new features, such as a switch to the new C# project system, video, hair and skin rendering. Read the full release notes here.

Silicon Studio no longer supports Xenko, but members of the Xenko team will continue to work on it independently as part of the community. More specifically, I will personally work on it fulltime for the next few months to see if it picks up some steam as a community project. Kudos to Silicon Studio for starting and supporting the project so far! Turning the project open-source and community-driven is a fantastic achievement.

While the majority of the 3.0 release was targeting at moving to open source, there were a few additional features including video playback support and hair rendering.  Additionally the SiliconStudio namespaces were removed, so if you are an existing Xenko developer, you will have to do some refactoring. 

If you are interested in learning more about the Xenko game engine, be sure to check out our Closer Look review, as well as our much older Tutorial Series.   You can see hands-on with the engine in this video and see what it is capable of in the 2017 demo reel.

GameDev News

1. August 2018

Wave Engine 2.5.0 “Orca” was just released.  Wave Engine is a free to use C# powered cross platform game engine I previously featured in the Closer Look game engine series.  This release includes several nice new improvements including Bullet 3D physics support, ARKit/ARCore support, gltf file support and much more.

Details of the release:

- Added ARMobile (ARKit and ARCore) support.
- Added Bullet Physics 3D integration.
- Added new Model asset workflow.
- Added GLTF support.
- Added Morphing support.
- Added new Animation3D component.
- Added Mixed Reality support.
- Added Render Layers integration in Visual Editor.
- Added support for Rasterizer, Blend and DepthStencil state descriptions.
- Added Line Mesh components.
- Added the possibility of disabling protobuf serialization.
- Optimized Transform 3D.
- Improved Visual Editor performance.
- Added convert from prefab to entity.
- Added Copy entity path as entity option in Visual Editor.

- Fixed Drag and drop issues with entities in Visual Editor.
- Fixed Linux Gamepad support and crash.
- Fixed Camera.Unproject incoherences.
- Fixed xCode 9 template support.
- Fixed multicomponents on prefabs.
- Fixed internal memory leak with Vertex Buffers.
- Fixed WaitGameAction memory leak.
- Fixed problems with large Tilemaps.
- Fixed RenderPropertyAsFInput with converters.
- Fixed Blending problems with Noesis Panels.
- Fixed new material creation issues.
- Fixed PerfabInstance delete issues.
- Fixed cubemap reflection issues.
- Fixed OpenGL issue when rendering Opaque and Alpha layers in the same scene.
- Fixed minimum iOS template version.

You can read a great deal more about the release right here.  For more details be sure to watch the video below.

GameDev News

21. December 2017

With the release of C# support in Godot people are naturally going to want to use Visual Studio Code for their development.  This guide is going to walk step by step through the process.  It’s important to note that debugging is currently not supported.

Before continuing it is assumed that you are running Godot 3 Beta for Mono (or newer).  Also be sure to have a most recent version of Visual Studio Code installed.

If you haven’t already, be sure to install the C# extension in Visual Studio.


Next in Godot, let’s configured Visual Studio Code as our external editor.  Select Editor –> Editor Settings


Select Mono->Editor, then drop down External Editor and select Visual Studio Code.


Now when you edit a CS file in Godot, it will automatically open in Visual Studio Code.  Assuming you did the C# extension, you should get full intellisene, code completion, etc.

You now have two options, you can simply edit your code save it, then run from within Godot.  Or you can run directly from the terminal within VS Code.  In the terminal ( Ctrl + ‘ ) enter first the path to your Godot executable, as well as the scene you wish to run.  In my case:

D:\dev\Godot_v3.0-beta1_mono_win64\Godot_v3.0-beta1_mono_win64.exe Node.tscn

This should then execute your scene.

Of course, doing this over and over is going to get old quick, so why don’t we define it instead as a Task.  In Visual Studio Code select Tasks->Configure Task:


Next select Open tasks.json file


Now enter the following:

    // See
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
            "label": "run Godot",
            "type": "shell",
            "command": "D:\\dev\\Godot_v3.0-beta1_mono_win64\\Godot_v3.0-beta1_mono_win64.exe Node.tscn",
            "problemMatcher": []

Be sure of course to set the path to your directory in the command setting.  Also notice the slashes are escaped using double slashes \\.  You can now run this via the palette.  Ctrl + Shift + P then enter Run Task


You should now have your newly created task available:


Again, doing this over and over again also gets old, so lets define a hotkey.  Choose File->Preferences->Keyboard Short Cuts.  Click the keybindings.json link:


Now enter

// Place your key bindings in this file to overwrite the defaults
		"key": "ctrl+G",
		"command": "workbench.action.tasks.runTask",
		"args": "run Godot"

This will cause your scene to run when you hit the Ctrl + G hotkey.


AppGameKit Studio

See More Tutorials on!

Month List