diff --git a/README.md b/README.md
index 9cf5a7e..c3aafe7 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,9 @@
# Godot iOS plugins
+> [!NOTE]
+>
+> iOS plugins are not editor 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.
@@ -44,12 +48,18 @@ 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.
+1. After cloning this repository, go to `godot` submodule and switch to the tag of the engine version you are working with. For example, `git checkout 4.4-stable`.
+
+2. If the version is lower than 4.4, you will need to cherry-pick the commit from [here](https://github.com/godotengine/godot/pull/97510). Depending on the version, it might cause a conflict in the file `drivers/vulkan/rendering_context_driver_vulkan.h` which you resolve by taking the changes from the cherry-picked commit for the conflicting section only.
+
+3. Install `scons` if it is not already installed (eg `brew install scons`).
+
+4. [Build Godot for iOS target](https://docs.godotengine.org/en/stable/contributing/development/compiling/compiling_for_ios.html): `scons platform=ios target=editor`
+
+5. Run the plugin creation script. This step needs to be repeated for each of the plugins you want to use. Go to the root of this repository then run `./scripts/generate_xcframework.sh 4.0`. The result will be an xcframework in bin directory.
+
+### Extra info
- Run the command below to generate an `.a` static library for chosen target:
@@ -59,19 +69,36 @@ scons target= arch= simulator= plugin
**Note:** Godot's official `debug` export templates are compiled with the `release_debug` target, *not* the `debug` target.
-## Building a `.a` library
+#### 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
+#### 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.
+
+## Adding plugins to a Godot project
+
+More detailed instructions can be found in the [official docs](https://docs.godotengine.org/en/stable/tutorials/platform/ios/ios_plugin.html#loading-and-using-an-existing-plugin).
+
+1. Build both release and debug xcframeworks of the desired plugin.
+
+2. In your Godot project, create `res://ios/plugin` and copy there the `.gdip` (from the plugin source directory in this repository) and both `*.xcframework` files for the plugin (from the `bin/` directory).
+
+3. Go to **Project > Export** and select the iOS export preset (or create one if it doesn't exist already). In the **Options** tab, scroll to **Plugins** and enable the plugin.
+
+## C\#
+
+It is possible to verify that the plugin's singleton is loaded using `Engine.HasSingleton("InAppStore")` and get access to it with `Engine.GetSingleton("InAppStore")`.
+
+The return type is always `GodotObject`. The methods which the plugin expose can be called indirectly with `Variant Call(StringName method, params Variant[] @args)` metod of `GodotObject`.
+
## Documentation
Each plugin provides a `README.md` file which contains documentation and examples.