SwiftGodotKit update #571
Replies: 1 comment
-
Ok, I resumed the work on this, details are on this issue: migueldeicaza/SwiftGodotKit#32 The main issue to keep in mind is the following. I think that doing the Mac work will require more work than I had initially anticipated (it will need to surface more methods in DisplayServerEmbedded) which is not a big deal, but it is not a straight shot either. For the sake of "How do we test SwiftGodot using the libgodot code", I think that this is a longer route than keeping the hacked-up version we have here. So I am in not a rush to do that big migration of the test suite, as I can keep doing the old hack for now. So we might be able to upgrade SwiftGodotKit and only later figure out a way of using that payload to run tests in SwiftGodot (which already had a chicken-and-egg vibe, not exactly the case, but definitely had the vibe). |
Beta Was this translation helpful? Give feedback.
-
Hello folks,
I just wanted to give folks an update on the situation with SwiftGodotKit, the companion to SwiftGodot for embedding Godot into applications.
Up until now, SwiftGodotKit allows you to embed a single Godot app into an AppKit/UIKit application, and once you run it, you transfer control to it. It has been great for me to test SwiftGodot APIs, and for those that are happy with that limit, but it is far from ideal.
There is ongoing work to make Godot fully embeddable, this is called the "libgodot" effort. This effort allows you to embed parts of Godot as independent views (on MacOS/iOS those are mapped to NSView/UIView and can be surfaced to SwiftUI Views), but the code generally applies to all Godot platforms.
Hopefully that code will be merged into Godot 4.4.
You can see the work on this module that Migeran maintains, and it contains the modified Godot, along with a sample for C++, and Swift:
https://github.com/migeran/libgodot_project/tree/libgodot_migeran_next_44
Migeran recently completed the work that I needed to do my testing on MacOS, but they completed the work just last week, and I got very busy in preparation for GodotCon, so I have not had a chance to merge this into SwiftGodotKit.
My plan is to complete my work on this when I get back from GodotCon this coming week.
That said, some folks noticed that my migueldeicaza/libgodot had some interesting named branches, but they are not as interesting as they might seem, so let me explain.
The
libgodot-4.3
branch was that lovely version that we wanted to get into Godot 4.3, but it suffered from MacOS support, so it stopped me on my tracks (one of my main drivers is to use this for the test suite in SwiftGodot).The
libgodot-4.3-old-style
branch contains a straight port of the old and limited style of libgodot to work with 4.3 - I needed this so I could run the SwiftGodot test suite against a 4.3 runtime, but it is still the old and limited set of capabilities.I am sadly very tied up this week for GodotCon, but will be back in action on the 14th, but if you are in a pinch, you could try the Migeran module for now. When I come back, I will start to merge this into proper SwiftGodotKit and provide binary runtimes for Apple platforms. But in a pinch, you can use the current snapshot from above.
Best,
Miguel.
Beta Was this translation helpful? Give feedback.
All reactions