diff --git a/addons/godotsteam/godotsteam.gdextension b/addons/godotsteam/godotsteam.gdextension
new file mode 100644
index 0000000..5917bed
--- /dev/null
+++ b/addons/godotsteam/godotsteam.gdextension
@@ -0,0 +1,22 @@
+[configuration]
+entry_symbol = "godotsteam_init"
+compatibility_minimum = "4.4"
+
+[libraries]
+macos.debug = "res://addons/godotsteam/osx/libgodotsteam.macos.template_debug.framework"
+macos.release = "res://addons/godotsteam/osx/libgodotsteam.macos.template_release.framework"
+windows.debug.x86_64 = "res://addons/godotsteam/win64/libgodotsteam.windows.template_debug.x86_64.dll"
+windows.debug.x86_32 = "res://addons/godotsteam/win32/libgodotsteam.windows.template_debug.x86_32.dll"
+windows.release.x86_64 = "res://addons/godotsteam/win64/libgodotsteam.windows.template_release.x86_64.dll"
+windows.release.x86_32 = "res://addons/godotsteam/win32/libgodotsteam.windows.template_release.x86_32.dll"
+linux.debug.x86_64 = "res://addons/godotsteam/linux64/libgodotsteam.linux.template_debug.x86_64.so"
+linux.debug.x86_32 = "res://addons/godotsteam/linux32/libgodotsteam.linux.template_debug.x86_32.so"
+linux.release.x86_64 = "res://addons/godotsteam/linux64/libgodotsteam.linux.template_release.x86_64.so"
+linux.release.x86_32 = "res://addons/godotsteam/linux32/libgodotsteam.linux.template_release.x86_32.so"
+
+[dependencies]
+macos.universal = { "res://addons/godotsteam/osx/libsteam_api.dylib": "" }
+windows.x86_64 = { "res://addons/godotsteam/win64/steam_api64.dll": "" }
+windows.x86_32 = { "res://addons/godotsteam/win32/steam_api.dll": "" }
+linux.x86_64 = { "res://addons/godotsteam/linux64/libsteam_api.so": "" }
+linux.x86_32 = { "res://addons/godotsteam/linux32/libsteam_api.so": "" }
diff --git a/addons/godotsteam/godotsteam.gdextension.uid b/addons/godotsteam/godotsteam.gdextension.uid
new file mode 100644
index 0000000..8869f04
--- /dev/null
+++ b/addons/godotsteam/godotsteam.gdextension.uid
@@ -0,0 +1 @@
+uid://cbt61wgh4qe5l
diff --git a/addons/godotsteam/linux32/libgodotsteam.linux.template_debug.x86_32.so b/addons/godotsteam/linux32/libgodotsteam.linux.template_debug.x86_32.so
new file mode 100644
index 0000000..00be7c5
Binary files /dev/null and b/addons/godotsteam/linux32/libgodotsteam.linux.template_debug.x86_32.so differ
diff --git a/addons/godotsteam/linux32/libgodotsteam.linux.template_release.x86_32.so b/addons/godotsteam/linux32/libgodotsteam.linux.template_release.x86_32.so
new file mode 100644
index 0000000..658694b
Binary files /dev/null and b/addons/godotsteam/linux32/libgodotsteam.linux.template_release.x86_32.so differ
diff --git a/addons/godotsteam/linux32/libsteam_api.so b/addons/godotsteam/linux32/libsteam_api.so
new file mode 100644
index 0000000..2d9e8a7
Binary files /dev/null and b/addons/godotsteam/linux32/libsteam_api.so differ
diff --git a/addons/godotsteam/linux64/libgodotsteam.linux.template_debug.x86_64.so b/addons/godotsteam/linux64/libgodotsteam.linux.template_debug.x86_64.so
new file mode 100644
index 0000000..045b00d
Binary files /dev/null and b/addons/godotsteam/linux64/libgodotsteam.linux.template_debug.x86_64.so differ
diff --git a/addons/godotsteam/linux64/libgodotsteam.linux.template_release.x86_64.so b/addons/godotsteam/linux64/libgodotsteam.linux.template_release.x86_64.so
new file mode 100644
index 0000000..b273ec7
Binary files /dev/null and b/addons/godotsteam/linux64/libgodotsteam.linux.template_release.x86_64.so differ
diff --git a/addons/godotsteam/linux64/libsteam_api.so b/addons/godotsteam/linux64/libsteam_api.so
new file mode 100644
index 0000000..8783570
Binary files /dev/null and b/addons/godotsteam/linux64/libsteam_api.so differ
diff --git a/addons/godotsteam/osx/libgodotsteam.macos.template_debug.framework/Resources/Info.plist b/addons/godotsteam/osx/libgodotsteam.macos.template_debug.framework/Resources/Info.plist
new file mode 100644
index 0000000..68caf2b
--- /dev/null
+++ b/addons/godotsteam/osx/libgodotsteam.macos.template_debug.framework/Resources/Info.plist
@@ -0,0 +1,26 @@
+
+
+
+
+ CFBundleExecutable
+ libgodotsteam.debug
+ CFBundleIdentifier
+ org.godotsteam.godotsteam
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ libgodotsteam.debug
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 4.15
+ CFBundleSupportedPlatforms
+
+ MacOSX
+
+ CFBundleVersion
+ 4.15
+ LSMinimumSystemVersion
+ 10.12
+
+
\ No newline at end of file
diff --git a/addons/godotsteam/osx/libgodotsteam.macos.template_debug.framework/libgodotsteam.macos.template_debug b/addons/godotsteam/osx/libgodotsteam.macos.template_debug.framework/libgodotsteam.macos.template_debug
new file mode 100644
index 0000000..8a8b2b7
Binary files /dev/null and b/addons/godotsteam/osx/libgodotsteam.macos.template_debug.framework/libgodotsteam.macos.template_debug differ
diff --git a/addons/godotsteam/osx/libgodotsteam.macos.template_debug.framework/libsteam_api.dylib b/addons/godotsteam/osx/libgodotsteam.macos.template_debug.framework/libsteam_api.dylib
new file mode 100644
index 0000000..c493b2b
Binary files /dev/null and b/addons/godotsteam/osx/libgodotsteam.macos.template_debug.framework/libsteam_api.dylib differ
diff --git a/addons/godotsteam/osx/libgodotsteam.macos.template_release.framework/Resources/Info.plist b/addons/godotsteam/osx/libgodotsteam.macos.template_release.framework/Resources/Info.plist
new file mode 100644
index 0000000..e3e8dac
--- /dev/null
+++ b/addons/godotsteam/osx/libgodotsteam.macos.template_release.framework/Resources/Info.plist
@@ -0,0 +1,26 @@
+
+
+
+
+ CFBundleExecutable
+ libgodotsteam
+ CFBundleIdentifier
+ org.godotsteam.godotsteam
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ libgodotsteam
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 4.15
+ CFBundleSupportedPlatforms
+
+ MacOSX
+
+ CFBundleVersion
+ 4.15
+ LSMinimumSystemVersion
+ 10.12
+
+
\ No newline at end of file
diff --git a/addons/godotsteam/osx/libgodotsteam.macos.template_release.framework/libgodotsteam.macos.template_release b/addons/godotsteam/osx/libgodotsteam.macos.template_release.framework/libgodotsteam.macos.template_release
new file mode 100644
index 0000000..ce91b3e
Binary files /dev/null and b/addons/godotsteam/osx/libgodotsteam.macos.template_release.framework/libgodotsteam.macos.template_release differ
diff --git a/addons/godotsteam/osx/libgodotsteam.macos.template_release.framework/libsteam_api.dylib b/addons/godotsteam/osx/libgodotsteam.macos.template_release.framework/libsteam_api.dylib
new file mode 100644
index 0000000..c493b2b
Binary files /dev/null and b/addons/godotsteam/osx/libgodotsteam.macos.template_release.framework/libsteam_api.dylib differ
diff --git a/addons/godotsteam/osx/libsteam_api.dylib b/addons/godotsteam/osx/libsteam_api.dylib
new file mode 100644
index 0000000..c493b2b
Binary files /dev/null and b/addons/godotsteam/osx/libsteam_api.dylib differ
diff --git a/addons/godotsteam/win32/libgodotsteam.windows.template_debug.x86_32.dll b/addons/godotsteam/win32/libgodotsteam.windows.template_debug.x86_32.dll
new file mode 100644
index 0000000..cebcc9b
Binary files /dev/null and b/addons/godotsteam/win32/libgodotsteam.windows.template_debug.x86_32.dll differ
diff --git a/addons/godotsteam/win32/libgodotsteam.windows.template_release.x86_32.dll b/addons/godotsteam/win32/libgodotsteam.windows.template_release.x86_32.dll
new file mode 100644
index 0000000..21c3a1e
Binary files /dev/null and b/addons/godotsteam/win32/libgodotsteam.windows.template_release.x86_32.dll differ
diff --git a/addons/godotsteam/win32/steam_api.dll b/addons/godotsteam/win32/steam_api.dll
new file mode 100644
index 0000000..2372ab1
Binary files /dev/null and b/addons/godotsteam/win32/steam_api.dll differ
diff --git a/addons/godotsteam/win64/libgodotsteam.windows.template_debug.x86_64.dll b/addons/godotsteam/win64/libgodotsteam.windows.template_debug.x86_64.dll
new file mode 100644
index 0000000..3d02848
Binary files /dev/null and b/addons/godotsteam/win64/libgodotsteam.windows.template_debug.x86_64.dll differ
diff --git a/addons/godotsteam/win64/libgodotsteam.windows.template_release.x86_64.dll b/addons/godotsteam/win64/libgodotsteam.windows.template_release.x86_64.dll
new file mode 100644
index 0000000..6bb49b3
Binary files /dev/null and b/addons/godotsteam/win64/libgodotsteam.windows.template_release.x86_64.dll differ
diff --git a/addons/godotsteam/win64/steam_api64.dll b/addons/godotsteam/win64/steam_api64.dll
new file mode 100644
index 0000000..6d11825
Binary files /dev/null and b/addons/godotsteam/win64/steam_api64.dll differ
diff --git a/autoloads/steam_controller_input.gd.uid b/autoloads/steam_controller_input.gd.uid
new file mode 100644
index 0000000..b89d7ec
--- /dev/null
+++ b/autoloads/steam_controller_input.gd.uid
@@ -0,0 +1 @@
+uid://ctb7ehok6dme3
diff --git a/objects/steam_integration.tscn b/objects/steam_integration.tscn
new file mode 100644
index 0000000..2cd65ec
--- /dev/null
+++ b/objects/steam_integration.tscn
@@ -0,0 +1,6 @@
+[gd_scene load_steps=2 format=3 uid="uid://cyvcg2re4qifd"]
+
+[ext_resource type="Script" uid="uid://f4y8evisxgnc" path="res://scripts/steam_integration.gd" id="1_ds8p3"]
+
+[node name="SteamIntegration" type="Node"]
+script = ExtResource("1_ds8p3")