Install Asset
Install via Godot
To maintain one source of truth, Godot Asset Library is just a mirror of the old asset library so you can download directly on Godot via the integrated asset library browser

Quick Information

A powerful Godot Engine plugin that seamlessly integrates AWS Amplify services into your game projects. This plugin enables game developers to leverage AWS cloud capabilities directly within the Godot environment, providing authentication, data storage, API access, and more with minimal configuration.
AWS Amplify for Godot Engine - Plugin
A powerful Godot Engine plugin that seamlessly integrates AWS Amplify services into your game projects. This plugin enables game developers to leverage AWS cloud capabilities directly within the Godot environment, providing authentication, data storage, API access, and more with minimal configuration.
Key Features
- Easy Integration: Simple installation process with minimal setup required
- Authentication: Complete user authentication flows with sign-up, sign-in, and account management
- Data Management: GraphQL-based data operations for game state persistence
- API Access: Simplified HTTP client for interacting with AWS resources
- UI Components: Ready-to-use authentication forms for rapid implementation
- Amplify Compatibility: Designed to work with AWS Amplify deployed resources
Documentation
For comprehensive documentation, tutorials, and examples, visit our official documentation.
Getting Started
Jump right into your Godot CI/CD pipeline with our comprehensive resources:
- Quick Setup: Follow our quickstart guides for step-by-step implementation
- Advanced Usage: Explore interactive labs for deeper integration scenarios
Installation
Plugin Versions
Version | Godot Compatibility | Download | Changelog |
---|---|---|---|
0.3.2 | 4.3+ | Download | View |
Download the Plugin
- Go to the GitHub Release Section
- Click on the latest release
- Download the source code
- Extract the plugin code
- Copy the
addons/aws-amplify
folder to the root of your Godot project
Enable the Plugin
- Open Project → Project Settings → Plugins
- Find "AWS Amplify" in the list and click the "Enable" checkbox
- The plugin automatically loads the
aws_amplify
singleton when enabled
The AWS Amplify Plugin is now ready to be used in your project!
Usage Examples
Authentication
# Sign up a new user
aws_amplify.auth.sign_up("username", "password", {
"email": "[email protected]",
"name": "Player One"
})
# Sign in an existing user
aws_amplify.auth.sign_in("username", "password")
# Sign out
aws_amplify.auth.sign_out()
Data Operations
# Query data
var operation = """
query ListItems {
listItems {
items {
id
name
description
}
}
}
"""
aws_amplify.data.query(operation, "ListItems")
# Create data with mutation
var create_operation = """
mutation CreateItem($input: CreateItemInput!) {
createItem(input: $input) {
id
name
description
}
}
"""
aws_amplify.data.mutation(create_operation, "CreateItem", {
"input": {
"name": "Magic Sword",
"description": "A powerful weapon"
}
})
Using UI Components
# Add the auth form to your scene
var auth_form = load("res://addons/aws-amplify/runtime/ui/auth_form.tscn").instantiate()
add_child(auth_form)
# Configure the form
auth_form.set_form_type("sign_in") # Options: sign_in, sign_up, confirm_sign_up, etc.
# Connect to signals
auth_form.connect("sign_in_success", Callable(self, "_on_sign_in_success"))
auth_form.connect("sign_in_error", Callable(self, "_on_sign_in_error"))
Architecture
The plugin is organized in the same way as the amplify-js client. The base class AWSAmplify
contains several modules, each implementing specific features. You can access each module from the base class directly with the global variable aws_amplify
.
Module Overview
Client Module
This module offers basic features to send HTTP requests to AWS resources.
# Send a GET request
aws_amplify.client.get_json("https://api.example.com/endpoint", [], {})
# Send a POST request with JSON body
aws_amplify.client.post_json("https://api.example.com/endpoint", [], {"key": "value"})
Authentication Module
This module provides comprehensive authentication features.
# Get user attributes
var user_attributes = aws_amplify.auth.get_user_attributes()
# Update user attributes
aws_amplify.auth.update_user_attribute("custom:level", "10")
View Authentication Module Source
Data Module
This module offers GraphQL features for data operations.
# Subscribe to real-time updates
aws_amplify.data.subscription(subscription_operation, "OnCreateItem")
API Reference
Client Module
HTTP Requests (Raw)
get_(endpoint: String, headers: Array, body: String)
post(endpoint: String, headers: Array, body: String)
put(endpoint: String, headers: Array, body: String)
delete(endpoint: String, headers: Array, body: String)
send(endpoint: String, headers: Array, method: HTTPClient.Method, body: String)
HTTP Requests (JSON)
get_json(endpoint: String, headers: Array, json_body: Dictionary)
post_json(endpoint: String, headers: Array, json_body: Dictionary)
put_json(endpoint: String, headers: Array, json_body: Dictionary)
delete_json(endpoint: String, headers: Array, body: Dictionary)
send_json(endpoint: String, headers: Array, method: HTTPClient.Method, json_body: Dictionary)
Authentication Module
Sign-Up
sign_up(username, password, options: Dictionary = {})
confirm_sign_up(username: String, confirmation_code: String, options: Dictionary = {})
resend_sign_up_code(username, options: Dictionary = {})
Sign-In
sign_in(username, password, options: Dictionary = {})
reset_password(username, options: Dictionary = {})
confirm_reset_password(username, new_password, confirmation_code, options: Dictionary = {})
update_password(old_password, new_password, options: Dictionary = {})
Sign-Out
sign_out(global: bool = false)
refresh_token(refresh_token)
User Attributes
update_user_attributes(user_attributes: Dictionary, options: Dictionary = {})
update_user_attribute(user_attribute_name: String, user_attribute_value, options: Dictionary = {})
confirm_user_attribute(attribute_name: String, confirmation_code: String, options: Dictionary = {})
send_user_attribute_confirmation_code(attribute_name: String, confirmation_code: String, options: Dictionary = {})
delete_user_attributes(user_attribute_names: Array[String])
Cached Variables Manipulation
get_token(name)
get_user_attribute(name: String, refresh_attributes = false)
get_user_attributes(refresh_attributes = false)
add_user_attributes(user_attributes: Dictionary)
remove_user_attributes(keys: Array)
refresh_user(refresh_token = false, refresh_user_attributes = false)
Authenticated HTTP Requests
- Various authenticated HTTP request methods (same signature as Client module)
Data Module
query(operation, operation_name = "MyQuery", authenticated: bool = true)
mutation(operation, operation_name = "MyMutation", authenticated: bool = true)
subscription(operation, operation_name = "MySubscription", authenticated: bool = true)
send(operation, operation_name, method: GraphQLMethod, authenticated: bool = true)
UI Components
The plugin offers sign-up, sign-in, and sign-out forms to handle various user authentication flows.
For examples of how to use these forms, check our sample repository.
Community
Join our community to get help, share ideas, and collaborate:
For technical questions and feature discussions, visit our GitHub Discussions.
Security
If you discover a potential security issue, please DO NOT create a public GitHub issue. Instead, send an email directly to [email protected]. This helps us address security vulnerabilities promptly and responsibly.
Issues
If you encounter any issues with the plugin, report a bug. If you have ideas for new features, create a feature request.
Contributing
We welcome contributions from the community! See CONTRIBUTING for more information on how to get involved.
License
This library is licensed under the MIT License. See the LICENSE file for details.
Third Party Licenses
See THIRD_PARTY_LICENSES for information about third-party components used in this project.
A powerful Godot Engine plugin that seamlessly integrates AWS Amplify services into your game projects. This plugin enables game developers to leverage AWS cloud capabilities directly within the Godot environment, providing authentication, data storage, API access, and more with minimal configuration.
Reviews
Quick Information

A powerful Godot Engine plugin that seamlessly integrates AWS Amplify services into your game projects. This plugin enables game developers to leverage AWS cloud capabilities directly within the Godot environment, providing authentication, data storage, API access, and more with minimal configuration.