diff --git a/unitypack/__init__.py b/unitypack/__init__.py
index <HASH>..<HASH> 100644
--- a/unitypack/__init__.py
+++ b/unitypack/__init__.py
@@ -192,7 +192,10 @@ class ObjectInfo:
 			return UnityClass(self.type_id)
 		elif self.type_id not in self.asset.typenames:
 			script = self.read()["m_Script"]
-			typename = script.resolve()["m_ClassName"]
+			try:
+				typename = script.resolve()["m_ClassName"]
+			except NotImplementedError:
+				typename = script.type.type[5:-1]  # Capture type name in PPtr<...>
 			self.asset.typenames[self.type_id] = typename
 		return self.asset.typenames[self.type_id]
Capture type name from ObjectPointers when resolve doesn't work