Skip to content

squidypal/Godouni

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82,696 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Godouni

GodouniLogo

Pronounced "Go-doe-you-knee"

A Godot fork that brings Unity-style workflows to Godot engine.

Screenshot 2026-03-23 194109 Screenshot 2026-03-23 224452 Screenshot 2026-03-23 224248 image Screenshot 2026-03-23 224521

Why?

Just for shits and giggles

Godouni adds a GameObject + Component workflow on top of Godot's node system, making the engine feel more familiar to developers coming from Unity without changing any existing Godot functionality.

Important Note

When downloading new versions you may need to clear your NuGet cache:

dotnet nuget locals all --clear

In order to use the engine in C# you must either run the included IMPORTANT_SETUP.bat or run this command:

@echo off
dotnet nuget add source "%~dp0GodotSharp\Tools\nupkgs" --name "Local Godot SDK"
echo Done! You can now open Godot.
pause

Avoid using old projects on new verisons.

What's Different?

GameObject Node

A new GameObject (3D) and GameObject2D node type. They act as containers whose children are treated as Components.

Component Inspector

When you select a GameObject, the inspector shows a dedicated Components panel:

  • Lists all child nodes as components with their icons and names
  • Fold/unfold each component to show or hide its properties
  • Nested display - components that are auto-organized under other components show up indented to reflect the hierarchy
  • Delete button on each component to remove it
  • "Add Component" button opens the node picker to attach new components
  • "Add Script" button lets you attach a script file as a component

Auto-Organizing Components

When you add components, they automatically arrange themselves into the correct Godot hierarchy:

  • CollisionShape3D / CollisionPolygon3D — auto-nests under the first physics body (RigidBody3D, StaticBody3D, CharacterBody3D, Area3D)
  • MeshInstance3D — auto-nests under the first physics body
  • VehicleWheel3D — auto-nests under VehicleBody3D
  • CollisionShape2D / CollisionPolygon2D — auto-nests under the first 2D physics body
  • Sprite2D — auto-nests under the first 2D physics body

It also works in reverse, when you add a physics body to a GameObject that already has loose collision shapes or meshes, those existing components get reparented under the new body automatically.

Hierarchy Warnings

The inspector shows yellow warnings when components need attention:

  • Physics body has no collision shape
  • Collision shape is loose (not under a physics body)
  • VehicleWheel3D without a VehicleBody3D

Right-Click Create Menu

Right-clicking in the scene tree gives you Unity-style quick create options:

  • Create Empty — empty GameObject
  • Create Empty 2D — empty GameObject2D
  • 3D Object — Cube, Sphere, Capsule, Cylinder, Plane, Quad (creates a GameObject with a MeshInstance3D and primitive mesh already attached)
  • Light — Directional Light, Point Light, Spot Light
  • Camera — GameObject with Camera3D
  • Audio Source — GameObject with AudioStreamPlayer3D
  • Particle System — GameObject with CPUParticles3D

How It Works

Under the hood, components are just regular Godot nodes, children of the GameObject. The inspector provides a Unity-like UI layer on top of Godot's existing parent/child system. Everything is fully compatible with standard Godot features like signals, scenes, and GDScript.

GameObject (selected in scene tree)
  +-- RigidBody3D           <-- component
  |     +-- MeshInstance3D   <-- auto-organized under the body
  |     +-- CollisionShape3D <-- auto-organized under the body
  +-- MyScript               <-- script component

What's planned?

Don't expect this to be maintained along side actual Godot but I would like to add web build support when that is added officially to .net Godot.

Coding Utility

The GameObject system allows you to attatch multiple scripts to a GameObject, in reality this is adding these scripts as children of the GameObject node. To make this system easier to use, when you need to access the GameObject the scripts are "attatched" to:

C#

gameObject;

GDScript

get_game_object()

These will all return the GameObject's node.

Building

C# Version

scons platform=windows target=editor module_mono_enabled=yes -j12

To use the Coding Utility you'll need to build the GodotSharp assemblies seperately:

python modules/mono/build_scripts/build_assemblies.py --godot-output-dir=bin

After that clear your NuGet cache:

dotnet nuget locals all --clear

GDScript Version:

scons platform=windows target=editor -j$(nproc)

Replace windows with linuxbsd or macos as needed. See the Godot docs for full build instructions.

License

Same as Godot Engine — MIT License.

About

The Godot game engine but built to navigate similar to unity - just for fun

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • C++ 85.9%
  • C# 3.2%
  • C 3.0%
  • Java 2.7%
  • GLSL 1.7%
  • Objective-C++ 1.1%
  • Other 2.4%