diff --git a/loader/include/Geode/loader/ModJsonTest.hpp b/loader/include/Geode/loader/ModJsonTest.hpp
deleted file mode 100644
index 0188baef..00000000
--- a/loader/include/Geode/loader/ModJsonTest.hpp
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "Mod.hpp"
-
-#include <matjson.hpp>
-
-namespace geode {}
\ No newline at end of file
diff --git a/loader/include/Geode/loader/Setting.hpp b/loader/include/Geode/loader/Setting.hpp
index 3b97e42e..6cd2bc94 100644
--- a/loader/include/Geode/loader/Setting.hpp
+++ b/loader/include/Geode/loader/Setting.hpp
@@ -288,6 +288,19 @@ namespace geode {
         static T get(SettingValue* setting);
         static void set(SettingValue* setting, T const& value);
     };
+
+    template<class T>
+    bool GeodeSettingValue<T>::load(matjson::Value const& json) {
+        if (!json.is<ValueType>()) return false;
+        m_value = json.as<ValueType>();
+        return true;
+    }
+
+    template<class T>
+    bool GeodeSettingValue<T>::save(matjson::Value& json) const {
+        json = m_value;
+        return true;
+    }
 }
 
 #pragma warning(pop)
diff --git a/loader/include/Geode/loader/SettingJsonTest.hpp b/loader/include/Geode/loader/SettingJsonTest.hpp
deleted file mode 100644
index f6ad183b..00000000
--- a/loader/include/Geode/loader/SettingJsonTest.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-#include "Setting.hpp"
-#include <matjson.hpp>
-
-namespace geode {
-    template<class T>
-    bool GeodeSettingValue<T>::load(matjson::Value const& json) {
-        if (!json.is<ValueType>()) return false;
-        m_value = json.as<ValueType>();
-        return true;
-    }
-
-    template<class T>
-    bool GeodeSettingValue<T>::save(matjson::Value& json) const {
-        json = m_value;
-        return true;
-    }
-}
\ No newline at end of file
diff --git a/loader/src/load.cpp b/loader/src/load.cpp
index 1ba9a99b..d323db6f 100644
--- a/loader/src/load.cpp
+++ b/loader/src/load.cpp
@@ -8,7 +8,6 @@
 #include <Geode/loader/Log.hpp>
 #include <Geode/loader/Mod.hpp>
 #include <Geode/loader/SettingEvent.hpp>
-#include <Geode/loader/ModJsonTest.hpp>
 #include <Geode/utils/JsonValidation.hpp>
 #include <loader/LogImpl.hpp>
 
diff --git a/loader/src/loader/Setting.cpp b/loader/src/loader/Setting.cpp
index 531a358f..23a90410 100644
--- a/loader/src/loader/Setting.cpp
+++ b/loader/src/loader/Setting.cpp
@@ -4,7 +4,6 @@
 #include <Geode/loader/Setting.hpp>
 #include <Geode/loader/SettingEvent.hpp>
 #include <Geode/loader/SettingNode.hpp>
-#include <Geode/loader/SettingJsonTest.hpp>
 #include <Geode/utils/general.hpp>
 #include <Geode/utils/JsonValidation.hpp>
 #include <re2/re2.h>
diff --git a/loader/test/dependency/main.cpp b/loader/test/dependency/main.cpp
index c9a898fd..2bfa5d4a 100644
--- a/loader/test/dependency/main.cpp
+++ b/loader/test/dependency/main.cpp
@@ -2,7 +2,6 @@
 #include <Geode/modify/MenuLayer.hpp>
 #include <Geode/loader/SettingNode.hpp>
 #include <Geode/loader/Dispatch.hpp>
-#include <Geode/loader/ModJsonTest.hpp>
 #include <Geode/Bindings.hpp>
 #include "main.hpp"
 
diff --git a/loader/test/main/main.cpp b/loader/test/main/main.cpp
index b4b2e686..1262dc3b 100644
--- a/loader/test/main/main.cpp
+++ b/loader/test/main/main.cpp
@@ -1,5 +1,4 @@
 #include <Geode/Loader.hpp>
-#include <Geode/loader/ModJsonTest.hpp>
 #include <Geode/loader/ModEvent.hpp>
 #include <Geode/utils/cocos.hpp>
 #include "../dependency/main.hpp"