Godot3d 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!