Documentation for porting Godot
So let's say I want to port Godot to a new platform. There is NO documentation on how to do this. What I mean by porting is like, adding a build optio for a new platform. It's been done. Somebody's done it to Switch homebrew, 3DS homebrew, Wii homebrew, etc, but I have no Idea on how to ad my own build options.
Related to https://github.com/godotengine/godot-docs/issues/2330.
I'm not sure how many people would actually benefit from this documentation, considering that porting Godot to a new platform is a very uncommon need. Most old consoles are too slow to run Godot projects in any capacity[^1], and recent consoles are already covered by existing homebrew ports.
If anything, I'd ask the existing homebrew port developers to write this documentation :slightly_smiling_face:
[^1]: Godot 4.0 will also increase the memory requirements in the interest of improving CPU performance, making it even less viable on retro consoles.
I feel like this page does a fairly good job of explaining how console ports are handled in Godot. https://docs.godotengine.org/en/latest/tutorials/platform/consoles.html?highlight=console The general gist is it is not supported by godot officially due to godots open source nature, and consoles inherit closed source nature of their SDKs.
There are private external companies such as the following who have access to these SDKs and can port games usually for a fee.
- [Lone Wolf Technology] (http://www.lonewolftechnology.com/) offers Switch and PS4 porting and publishing of Godot games.
- [Pineapple Works] (https://pineapple.works/) offers Switch, Xbox One and Xbox Series X/S porting and publishing of Godot games.
@LeonStansfield OP is requesting a different kind of documentation here. They're asking how to port Godot to a new platform by writing the required platform code.
I think this is interesting to have, but it wouldn't be that useful for most people. Porting Godot to a new platform is a very specialized need, so it'll take a while to find someone to write this kind of documentation (if it ever happens).
Wouldn't documentation on this require access to each consoles SDK's themselves then, and therefore still not be possible as an open source project?
Wouldn't documentation on this require access to each consoles SDK's themselves then, and therefore still not be possible as an open source project?
The documentation wouldn't be about porting Godot to a specific console. It would be about describing the steps required, how to create the required platform files, and so on.
Thanks to its folder structure, Godot allows distributing platforms as standalone repositories. See https://github.com/efornara/frt for an example of this.