diff --git a/GameController/build.gradle b/GameController/build.gradle
index 4ba0d7d..12e8b7a 100644
--- a/GameController/build.gradle
+++ b/GameController/build.gradle
@@ -19,12 +19,12 @@
 }
 
 android {
-    compileSdkVersion 30
-    ndkVersion '22.0.7026061'
+    compileSdkVersion 28
+    ndkVersion '20.0.55.94570'
 
     defaultConfig {
         minSdkVersion 16
-        targetSdkVersion 30
+        targetSdkVersion 28
         versionCode 1
         versionName "1.0"
 
@@ -81,6 +81,11 @@
 
 def get_properties() {
     Properties properties = new Properties()
-    properties.load(new File(rootDir.absolutePath + '/local.properties').newDataInputStream())
+    if (project.rootProject.file('local.properties').exists()) {
+        properties.load(project.rootProject.file('local.properties').newDataInputStream())
+    }
+    else {
+        properties.setProperty('sdk.dir', System.getenv("ANDROID_HOME"))
+    }
     return properties
 }
\ No newline at end of file
diff --git a/GameController/src/main/cpp/CMakeLists.txt b/GameController/src/main/cpp/CMakeLists.txt
index affcf70..f7a93af 100644
--- a/GameController/src/main/cpp/CMakeLists.txt
+++ b/GameController/src/main/cpp/CMakeLists.txt
@@ -14,7 +14,7 @@
 # limitations under the License.
 #
 
-cmake_minimum_required(VERSION 3.6)
+cmake_minimum_required(VERSION 3.4.1)
 
 project(paddleboat)
 
diff --git a/build.bat b/build.bat
index 51cfac1..d460ab0 100755
--- a/build.bat
+++ b/build.bat
@@ -1,4 +1,7 @@
 set ANDROID_HOME=C:\win_build_extras\sdk
+set ANDROID_NDK_HOME=C:\win_build_extras\ndk\r21
+set BUILDBOT_SCRIPT=true
+set BUILDBOT_CMAKE="%CD%\..\prebuilts\cmake\windows-x86"
 
 if not defined DIST_DIR set DIST_DIR="%CD%\..\package"
 
diff --git a/build.gradle b/build.gradle
index 86fd4cb..dd7cd69 100644
--- a/build.gradle
+++ b/build.gradle
@@ -36,6 +36,22 @@
     }
 }
 
+// The following is needed for sub-projects that have their own gradle script and that are
+// not using the general swappy/tuningfork multi-ndk build logic below and in buildSrc.
+def buildScript = System.getenv("BUILDBOT_SCRIPT")
+if (buildScript) {
+    Properties properties = new Properties()
+
+    if (project.rootProject.file('local.properties').exists()) {
+        properties.load(project.rootProject.file('local.properties').newDataInputStream())
+    }
+    properties.setProperty('sdk.dir', System.getenv("ANDROID_HOME"))
+    properties.setProperty('ndk.dir', System.getenv("ANDROID_NDK_HOME"))
+    properties.setProperty('cmake.dir', System.getenv("BUILDBOT_CMAKE"))
+
+    properties.store(project.rootProject.file('local.properties').newDataOutputStream(), '')
+}
+
 def swappyNativeLibrary = new NativeLibrary('swappy')
         .setAarLibrary("games-frame-pacing", "1.7.0-rc01")
         .addSampleAndroidProject(
@@ -98,12 +114,17 @@
 
 def gameActivityLibrary = new AndroidArchiveLibrary('game_activity', "GameActivity")
         .setAarLibrary("games-activity", "1.0.0-alpha01")
+        // This can be removed after migrating to prefabPublishing:
         .setPrefabFolderName("prefab-src")
 
 def gameInputLibrary = new AndroidArchiveLibrary('game_input', "GameInput")
         .setAarLibrary("games-text-input", "1.0.0-alpha01")
+        // This can be removed after migrating to prefabPublishing:
         .setPrefabFolderName("prefab-src")
 
+def gameControllerLibrary = new AndroidArchiveLibrary('game_controller', "GameController")
+        .setAarLibrary("games-controller", "1.0.0-alpha01")
+
 def protobufInstallDir() {
     return new File("$projectDir/third_party/protobuf-3.0.0/install/"
             + osFolderName(ExternalToolName.PROTOBUF)).getPath()
@@ -177,6 +198,7 @@
         oboeNativeLibrary,
         gameActivityLibrary,
         gameInputLibrary,
+        gameControllerLibrary,
 ]
 
 def getBuildPath() {
diff --git a/build.sh b/build.sh
index 745662e..6d8d229 100755
--- a/build.sh
+++ b/build.sh
@@ -13,6 +13,8 @@
 # Set up the environment
 export ANDROID_HOME=$(pwd)/../prebuilts/sdk
 export ANDROID_NDK_HOME=$(pwd)/../prebuilts/ndk/r20
+export BUILDBOT_SCRIPT=true
+export BUILDBOT_CMAKE=$(pwd)/../prebuilts/cmake/linux-x86
 cp -Rf samples/sdk_licenses ../prebuilts/sdk/licenses
 
 # Use the distribution path given to the script by the build bot in DIST_DIR. Otherwise,
@@ -28,13 +30,14 @@
 if [[ $1 == "full" ]]
 then
     package_name=fullsdk
-    ./gradlew packageZip -Plibraries=swappy,tuningfork,oboe,game_activity,game_input -PincludeSampleSources -PincludeSampleArtifacts -PdistPath="$dist_dir" -PpackageName=$package_name
+    ./gradlew packageZip -Plibraries=swappy,tuningfork,oboe,game_activity,game_input,game_controller -PincludeSampleSources -PincludeSampleArtifacts -PdistPath="$dist_dir" -PpackageName=$package_name
     ./gradlew packageMavenZip -Plibraries=swappy -PdistPath="$dist_dir" -PpackageName=$package_name
     ./gradlew packageMavenZip -Plibraries=tuningfork -PdistPath="$dist_dir" -PpackageName=$package_name
     ./gradlew packageMavenZip -Plibraries=oboe -PdistPath="$dist_dir" -PpackageName=$package_name
     ./gradlew packageMavenZip -Plibraries=game_activity -PdistPath="$dist_dir" -PpackageName=$package_name
     ./gradlew packageMavenZip -Plibraries=game_input -PdistPath="$dist_dir" -PpackageName=$package_name
-    ./gradlew jetpadJson -Plibraries=swappy,tuningfork,game_activity,game_input -PdistPath="$dist_dir" -PpackageName=$package_name
+    ./gradlew packageMavenZip -Plibraries=game_controller -PdistPath="$dist_dir" -PpackageName=$package_name
+    ./gradlew jetpadJson -Plibraries=swappy,tuningfork,game_activity,game_input,game_controller -PdistPath="$dist_dir" -PpackageName=$package_name
 elif [[ $1 == "samples" ]]
 then
     package_name=gamesdk
@@ -42,13 +45,14 @@
     ./gradlew packageMavenZip -Plibraries=swappy -PdistPath="$dist_dir"
 else
     package_name=gamesdk
-    ./gradlew packageZip -Plibraries=swappy,tuningfork,oboe,game_activity,game_input -PincludeSampleSources -PdistPath="$dist_dir"
+    ./gradlew packageZip -Plibraries=swappy,tuningfork,oboe,game_activity,game_input,game_controller -PincludeSampleSources -PdistPath="$dist_dir"
     ./gradlew packageMavenZip -Plibraries=swappy -PdistPath="$dist_dir" -PpackageName=$package_name
     ./gradlew packageMavenZip -Plibraries=tuningfork -PdistPath="$dist_dir" -PpackageName=$package_name
     ./gradlew packageMavenZip -Plibraries=oboe -PdistPath="$dist_dir" -PpackageName=$package_name
     ./gradlew packageMavenZip -Plibraries=game_activity -PdistPath="$dist_dir" -PpackageName=$package_name
     ./gradlew packageMavenZip -Plibraries=game_input -PdistPath="$dist_dir" -PpackageName=$package_name
-    ./gradlew jetpadJson -Plibraries=swappy,tuningfork,game_activity,game_input -PdistPath="$dist_dir" -PpackageName=$package_name
+    ./gradlew packageMavenZip -Plibraries=game_controller -PdistPath="$dist_dir" -PpackageName=$package_name
+    ./gradlew jetpadJson -Plibraries=swappy,tuningfork,game_activity,game_input,game_controller -PdistPath="$dist_dir" -PpackageName=$package_name
 fi
 
 # Calculate hash of the zip file
diff --git a/buildSrc/src/main/java/com/google/androidgamesdk/Toolchain.kt b/buildSrc/src/main/java/com/google/androidgamesdk/Toolchain.kt
index 56d3999..19877ff 100644
--- a/buildSrc/src/main/java/com/google/androidgamesdk/Toolchain.kt
+++ b/buildSrc/src/main/java/com/google/androidgamesdk/Toolchain.kt
@@ -42,7 +42,7 @@
     protected fun getNdkVersionFromPropertiesFile(): String {
         val file = File(getAndroidNDKPath(), "source.properties")
         if (!file.exists()) {
-            println("Warning: can't get NDK version from source.properties")
+            println("Warning: can't get NDK version from " + getAndroidNDKPath()+ "/source.properties")
             return "UNKNOWN"
         } else {
             val props = loadPropertiesFromFile(file)
diff --git a/settings.gradle b/settings.gradle
index f1c22cc..6a76246 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,6 +1,7 @@
 rootProject.name = 'androidgamesdk'
 include ':GameActivity'
 include ':GameInput'
+include ':GameController'
 include ':extras'
 project(':extras').projectDir= new File('src/extras')
 include 'extras:aar'
diff --git a/src/maven/games-controller.pom b/src/maven/games-controller.pom
new file mode 100644
index 0000000..48e51ef
--- /dev/null
+++ b/src/maven/games-controller.pom
@@ -0,0 +1,17 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+                      http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>androidx.games</groupId>
+  <artifactId>games-controller</artifactId>
+  <version>@aarVersion@</version>
+  <packaging>aar</packaging>
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+</project>
