Skip to main content

🇬🇧 they/them it/its 🇩🇪 es/ihm

Godot3d Omnibuilder Container

Title Image for the 3d omnibuilder container.

Tired of fussing around dependencies with the godot-ci container? Tired of C# feeling like a second class citizen? Take heart! the 3d Omnibuilder is here to help!

Omnibuilder is a highly opinionated container build for supporting 3d projects C# on Godot 4.x rather than taking the route of providing a minimal experience. The idea is to include every 3d import plugin, pre-pathed in editor or project settings out of the box so that you can build and release your games with confidence!

Omnibuilder packages in:

  • dotnet sdk
  • blender
  • FBX2glTF
  • an optional semver-respecting version stamping script
  • and probably more!

Links:

How to use? #

You can find full up-to-date examples in the README on github.

A simple build for a single platform looks like this:

name: Export Project
on:
  push:
    branches: [ "main" ]
env:
  EXPORT_NAME: cool_godot_game # change this to whatever you like
jobs:
  build_project_linux:
    name: Build Project (Linux)
    runs-on: ubuntu-latest
    container:
      image: witchpixels/godot4-omnibuilder3d:latest-4.1.3
    steps:
      - name: Checkout
        uses: actions/checkout@v2
        with:
          lfs: true

      - name: Fix paths for Github # this is not needed if you are using gitlab
        run: setup_github_paths.sh

      - name: Import assets
        run: godot -v -e --quit --headless

      - name: Linux Build
        run: |
          mkdir -v -p build/linux
          godot --headless -v --export-release "Linux/X11" build/linux/$EXPORT_NAME.x86_64

      - name: Upload Artifact
        uses: actions/upload-artifact@v1
        with:
          name: $-linux
          path: build/linux

This will give you a linux executable zipped up in your build artifacts.

But it can do MORE! #

The container is built upon Barichello's godot-ci container so you'll have butler installed for uploading easily to itch.io as a followup pipeline step!

What if I need another tool or plugin that is not included? #

Let me know! The bet way is to hit me up on Mastodon @[email protected] or if you must on Twitter.

Or Feel free to fork the repository and add what you need, along with an object the needs to be imported using it into the test project test scene, and edit the container setup script and make a pull request.

The end goal here is a seamless out-of-the-box experience!