Platform-Specific Development for Terrain3D/Godot Plug-Ins in general

This is a more technical game dev engineering question. I’m currently playing around with the visionOS XR module currently under development by a team from Apple. It’s still quite limited, but I’ve been having fun figuring out ways around some of those restrictions.

I tried to create a full terrain setup with Terrain3D in the visionOS setup, however, that specific plug-in has not been configured to work with Apple Vision Pro devices as of yet. I was planning to post an enhancement request issue on their GitHub, but this is pretty far outside my area of expertise, and a friend advised I post some questions here first. The planned issue would be a blind shot in the dark, and want to know a bit more about what I’m asking first. So, some questions:

  1. How difficult is it to adapt Godot plug-ins to work on a new device? Is this a 20-minute-fix thing, or a multi-week development effort?
  2. If this is a large-effort task that would likely need my personal contribution to become available in a decently timely manner, where could I learn more about this topic? Are there tutorials or instruction manuals that people know about for learning about device-specific platform development for Godot?

Any thoughts on what knowledge base is required to work on something like this? It’s a little niche of a request, so my online searches haven’t brought anything useful up so far.

I believe you’re making an incorrect assumption here. If a plugin works with Godot, it will work when the game is exported. If it’s not working when you export the game, the Apple dev team is where you need to file the enhancement request/bug. Also, based on the link you posted they will value your feedback.

Got it - thank you for your reply!

I realized I should have included some more of the documentation research on the topic - I mostly came to that conclusion after reviewing the Supported Platforms documentation, but reading it again it specifically says what is supported in Godot as opposed to the plug-in (implying it’s more a summary of Godot compatibilities). Further, scrolling down and reading more carefully the iOS and macOS problems (and the Build from Source instructions), Terrain3D may just have some problems with Apple devices in general? I was able to run my program with a CSGBox floor on the vision pro, but Terrain3D nodes seem to throw a wrench into the works somewhere.

Altogether, I think I’ll still make the GitHub issue, but reference this documentation for clarification. If it still doesn’t work out, I’ll likely shelf this specific objective and address it once the visionOS development is a little more fleshed out. Though again, if people have any learning resources for how to build platform binaries, I would appreciate that as well.

1 Like

Just noting, the exact problem was actually that godot-cpp, a C++ godot binding repository that addons like Terrain3D rely on, has not been set up for visionOS as of yet. I managed to do some dev to get that working, though I’ll refrain from making a PR on the topic until the visionos module on the main godot repository is a little more fleshed out.

1 Like

Glad you got it working!

1 Like