diff --git a/lib/roblox_emulator/src/runner/instance/instance.rs b/lib/roblox_emulator/src/runner/instance/instance.rs
index 256641a..49d964b 100644
--- a/lib/roblox_emulator/src/runner/instance/instance.rs
+++ b/lib/roblox_emulator/src/runner/instance/instance.rs
@@ -342,6 +342,10 @@ impl mlua::UserData for Instance{
 						let typed_value:crate::runner::color_sequence::ColorSequence=*value.as_userdata().ok_or_else(||mlua::Error::runtime("Expected ColorSequence"))?.borrow()?;
 						rbx_types::Variant::ColorSequence(typed_value.into())
 					},
+					rbx_reflection::DataType::Value(rbx_types::VariantType::ContentId)=>{
+						let typed_value=value.as_str().ok_or_else(||mlua::Error::runtime("Expected string"))?.to_owned();
+						rbx_types::Variant::ContentId(typed_value.into())
+					},
 					other=>return Err(mlua::Error::runtime(format!("Unimplemented property type: {other:?}"))),
 				};
 				// the index is known to be a real property at this point