C# games in Godot, 2022 edition

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • godex

    Godex is a Godot Engine ECS library.

    There is an ECS port for Godot named Godex, but it isn't hugely mature:

    https://github.com/GodotECS/godex

    I haven't used it, though I've been curious about it. As far as better options for ECS game engines go, I'd go with Bevy (personally), but you'll have to learn Rust (which I'm a proponent of anyway).

    https://bevyengine.org/learn/book/introduction/

    But both of these are still in "Beta", if that's even the proper term for their development cycle, at this point. They work, technically, but they could use some help, to my understanding.

  • GoDotTest

    C# test runner for Godot. Run tests from the command line, collect code coverage, and debug tests.

    I believe I can address the first two points for you:

    > Scalable text support a la TextMeshPro (sdf-based rendering)

    Someone in our Discord recently found a way to scale their project UI correctly according to screen DPI, not sure if that solves your problem or not. Their project is also open source: https://github.com/derkork/openscad-graph-editor

    > - the in-editor console is horrible. it frequently tells me "output overflow, print less text!". wtf?

    That can be solved by upping the debugger output limit in your project. (https://github.com/chickensoft-games/go_dot_test/blob/1fb342...)

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • MonoGame

    One framework for creating powerful cross-platform games.

  • openscad-graph-editor

    OpenSCAD Graph Editor

    I believe I can address the first two points for you:

    > Scalable text support a la TextMeshPro (sdf-based rendering)

    Someone in our Discord recently found a way to scale their project UI correctly according to screen DPI, not sure if that solves your problem or not. Their project is also open source: https://github.com/derkork/openscad-graph-editor

    > - the in-editor console is horrible. it frequently tells me "output overflow, print less text!". wtf?

    That can be solved by upping the debugger output limit in your project. (https://github.com/chickensoft-games/go_dot_test/blob/1fb342...)

  • Godot

    Godot Engine – Multi-platform 2D and 3D game engine

    Yep. Similar numbers of assets, similar sizes of assets, etc. Things that would cause Unity to keel over and die were virtually instantaneous in Godot.

    Actually, there was one issue where saving was taking like 2 seconds in Godot instead of being instantaneous. I reported it and it was solved in the next point version. https://github.com/godotengine/godot/pull/49570

  • GodotSwift

    Discontinued Swift bindings for the Godot Game Engine

  • godot-swift

    swift language support for the godot game engine

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • FNA

    FNA - Accuracy-focused XNA4 reimplementation for open platforms

  • godot-jvm

    Godot Kotlin JVM Module

    You obviously know this since you linked a Swift bindings project, but for others reading who may not be aware: Godot officially supports multiple languages ("GDScript, C#, VisualScript, and C++ and C via its GDNative technology"[1]), but other languages are supported by the community.

    In particular, a sibling comment mentions Kotlin. The docs[2] link to a project that adds Kotlin bindings https://github.com/utopia-rise/godot-kotlin-jvm

    [1]https://docs.godotengine.org/en/stable/getting_started/step_...

  • swift

    The Swift Programming Language

    Yes, I know C# reasonably well. I use it in Unity for game development, where it is the only option.

    C# is better than many alternatives, but Swift is simply a better language in every regard.

    C#'s GC is a constant issue for games, and it makes using things like LINQ nearly impossible since it does so much allocation. Swift is designed around automatic reference counting instead. C#'s structs work weirdly and are hard to use.

    Swift is so much more ergonomic. C# has added a few nice things lately, but it's much more verbose than Swift.

    Swift is also more focused on performance, and is always AOT compiled.

    Unity has had to come up with some insane things to get C# to work across platforms – they have their own .NET IL to C++ compiler (https://docs.unity3d.com/Manual/IL2CPP.html) that doesn't always work right. They also have a SECOND custom C# compiler for high-performance programming (https://docs.unity3d.com/Packages/[email protected]/manual...).

    I'm also very excited about Swift 6's upcoming opt-in Rust-like lower-level memory management which should help a ton for performance-critical code. (https://github.com/apple/swift/blob/main/docs/OwnershipManif...)

  • Stride Game Engine

    Stride Game Engine (formerly Xenko)

  • defold

    Defold is a completely free to use game engine for development of desktop, mobile and web games.

    Maybe that's typical in gaming situations, but it has a weird license: https://github.com/defold/defold/blob/1.3.4/LICENSE.txt ("the Defold License version 1.0")

  • godot-docs

    Godot Engine official documentation

  • bevy

    A refreshingly simple data-driven game engine built in Rust

    Godot uses a similar object oriented approach as Unity. For ECS, you might keep an eye on Bevy[1]. It’s still not mature but its team has been making progress. Even Unity and Unreal had to start somewhere.

    [1] https://bevyengine.org/

  • Retro3DGraphicsCollection

    a compilation of commercially usable game ready retro style 3d graphic assets

    I absolutely understand the upsides of the assets store. Although not as expansive as the asset store, there are lots of either free or extremely affordable; many of them with CC0 licenses or licenses that make them extremely easy to just use them. I wouldn't have been able to make my first game in Godot Puck Fantasy (available here: <https://www.lowkeyart.com/puckfantasy>) without them!

    I would encourage you to try some of these! You'd be surprised how far you can get by using these, with and without modification.

    These are my favorite resources, in order of preference.

    - <https://www.kenney.nl/> is by far the best one and most expansive one. Everything he creates is CC0. A lot of great free assets available on his site. He also has a "Kenney Game Assets All-in-1" which can be bought on itch.io for $19.95. It has all assets he's ever made, neatly organized, and ready to use. All CC0. This also includes some music. The music and sound assets are much more limited than the 2D and 3D assets, but it's there, and it's solid.

    - <https://kaylousberg.com/game-assets> has some fantastic assets also available for free, and has more available for a pretty affordable Patreon tier. Also has a CC0 license for the free assets. Mostly a specific style, which is great for consistency, but a bit more limited than the wide variety of Kenney; but I don't doubt that with time they'll build an equally strong library of assets.

    - <https://quaternius.com/> has many free great assets. Also CC0. Has a high variety of styles and settings. Also has a very affordable Patreon to get easy access to everything they produce.

    - <https://github.com/Miziziziz/Retro3DGraphicsCollection> is a general place linking to more assets that should be usable.

    Separately from this, itch.io has a section for game assets that has a pretty wide variety.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts