Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/godot-sdk-integrations/godot-ios-plugins
https://github.com/godot-sdk-integrations/godot-ios-plugins
godot godot-plugin
Last synced: 2 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/godot-sdk-integrations/godot-ios-plugins
- Owner: godot-sdk-integrations
- License: mit
- Created: 2021-01-17T15:52:21.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2025-01-15T13:37:45.000Z (20 days ago)
- Last Synced: 2025-01-26T02:07:21.416Z (9 days ago)
- Topics: godot, godot-plugin
- Language: Objective-C++
- Homepage:
- Size: 89.8 KB
- Stars: 148
- Watchers: 20
- Forks: 54
- Open Issues: 32
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# Godot iOS plugins
[`master` branch](https://github.com/godotengine/godot-ios-plugins/tree/master) is the current development branch and can introduce breaking changes to plugin's public interface.
[`3.3` branch](https://github.com/godotengine/godot-ios-plugins/tree/3.3)'s aim is to provide same public interface as it was before the switch to new iOS plugin system.**Note:** iOS plugins are only effective on iOS (either on a physical device or
in the Xcode simulator). Their singletons will *not* be available when running
the project from the editor, so you need to export your project to test your changes.## Instructions
- Clone this repository and its submodules:
```bash
git clone --recursive https://github.com/godotengine/godot-ios-plugins.git
```You might have to the update `godot` submodule in case you require latest (unreleased) Godot changes. To do this, run:
```bash
cd godot
git fetch
git checkout origin/
```- Alternatively, you can use pre-extracted Godot headers that will be provided
with release tag on the [Releases page](https://github.com/godotengine/godot-ios-plugins/releases).
To do this, clone this repository without submodules:```bash
git clone https://github.com/godotengine/godot-ios-plugins.git
```Then place the extracted Godot headers in the `godot/` directory.
If you choose this option, you can skip next the step which generates Godot headers.- To generate Godot headers, you need to run the compilation command inside the `godot` submodule directory:
### For Godot 3.x:
```bash
scons platform=iphone target=debug
```### For Godot 4.x:
```bash
scons platform=ios target=debug
```You don't have to wait for full engine compilation, as header files are generated first.
Once the actual compilation starts, you can stop this command by pressing Ctrl + C.- Run the command below to generate an `.a` static library for chosen target:
```bash
scons target= arch= simulator= plugin= version=<3.x|4.0>
```**Note:** Godot's official `debug` export templates are compiled with the `release_debug` target, *not* the `debug` target.
## Building a `.a` library
- Run `./scripts/generate_static_library.sh `
to generate `fat` static library with specific configuration.
- The result `.a` binary will be stored in the `bin/` folder.## Building a `.xcframework` library
- Run `./scripts/generate_xcframework.sh `
to generate `xcframework` with specific configuration.
`xcframework` allows plugin to support both `arm64` device and `arm64` simulator.
- The result `.xcframework` will be stored in the `bin/` folder as well as intermidiate `.a` binaries.## Documentation
Each plugin provides a `README.md` file which contains documentation and examples.