Skip to content

Instantly share code, notes, and snippets.

During the past days, this great article by Sam Pruden has been making the rounds around the gamedev community. While the article provides an in-depth analysis, its a bit easy to miss the point and exert the wrong conclusions from it. As such, and in many cases, users unfamiliar with Godot internals have used it points such as following:

  • Godot C# support is inefficient
  • Godot API and binding system is designed around GDScript
  • Godot is not production ready

In this brief article, I will shed a bit more light about how the Godot binding system works and some detail on the Godot

@Arakade
Arakade / Example output
Created April 22, 2017 18:32
BASH script to port a Git commit from one Git repo to another unrelated Git repo (can run with BASH on Windows)
$ GitPortPatch.sh 22b7f80c22ac1861e945ddf30e30671c46b53d6e
Getting commit message
Getting patch
Getting affected filenames
Getting current status of those files...
Checking them...
Ensuring affected files are ready for patching...
Preparing Assets/TerraVolPack/TerraVol/Scripts/Data/MeshData.cs
Preparing Assets/TerraVolPack/TerraVol/Scripts/Map/Chunk.cs
Apply patch? y/n : y
@Seneral
Seneral / ConvertSerializationVersion.cs
Last active December 2, 2017 23:03
Script to convert files serialized in 5.5 to previous unity versions based on the text format. 1. Enable force text serialization in ProjectSettings/Editor 2. Right click on the asset in the version it was serialized in and select the target version. 3. Move the created file with the _Converted suffix into the target project.
using UnityEngine;
using UnityEditor;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
public static class ConvertSerializationVersion
{
private static Regex objectIDSearch = new Regex("--- !u!(?:[0-9]{1,5}) &([0-9]*)");
@mikelovesrobots
mikelovesrobots / gist:e526809506a17b4db65b
Created March 3, 2015 21:15
Bulk Material Creator for Unity3d. Just select your textures, then select from the menu Assets > Bulk Material Creator, assign a shader and hit create. MIT License.
using UnityEngine;
using UnityEditor;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
public class BulkMaterialCreator : ScriptableWizard
{
public Shader Shader;
@lucasmeijer
lucasmeijer / gist:e7bb3a981c2b2887642d
Created January 9, 2015 09:20
Can you write a better version?
using System;
using System.Collections.Generic;
using System.Linq;
class Experiment
{
//ErrorsFor takes a hayStack, a bunch of needles, and is supposed to invoke errorMessage generator for everything
//in the haystack that matches a certain needle. As an excersice, i've been trying out all the different ways
//to write it, and evaluate for clarity, conciceness, readability by others, readability by me.
//
@MattRix
MattRix / RXSolutionFixer
Created November 24, 2014 19:33
This upgrades your csproj files to .NET 4.0 so you can use default parameters (etc) while building in MonoDevelop
using UnityEngine;
using UnityEditor;
using System.IO;
using System.Text.RegularExpressions;
using System.Collections.Generic;
using System.Collections;
using System;
class RXSolutionFixer : AssetPostprocessor
{
@Arakade
Arakade / build.gradle
Last active January 16, 2021 19:01 — forked from trashhalo/build.gradle
Updated 2014/07/05 for newer repositories syntax and missing Xalan dependency (needed on Windows)
import com.petebevin.markdown.MarkdownProcessor
import org.xhtmlrenderer.pdf.ITextRenderer
import org.ccil.cowan.tagsoup.Parser
import org.apache.xalan.xsltc.trax.SAX2DOM
import org.xml.sax.InputSource
buildscript{
repositories {
mavenCentral() // i.e. http://repo1.maven.org/maven2
maven { url "https://oss.sonatype.org/content/groups/scala-tools" }
@trashhalo
trashhalo / build.gradle
Created August 13, 2011 23:55
Gradle task converts markdown to pdf
import com.petebevin.markdown.MarkdownProcessor
import org.xhtmlrenderer.pdf.ITextRenderer
import org.ccil.cowan.tagsoup.Parser
import org.apache.xalan.xsltc.trax.SAX2DOM
import org.xml.sax.InputSource
buildscript{
repositories {
mavenCentral()
mavenRepo urls: "http://scala-tools.org/repo-releases"