Try creating the property set on the Properties tab of the template (click on the "Create New Property Set" button). Add properties to the set and be sure to save the template itself when you’re finished.
When you go back to the template to edit the property set, you have to select it in the drop-down list on the Properties tab.
To get the properties in code, you need to get the property set, then get the property set’s properties. That second step gives you the equivalent of the $scriptProperties array.
<?php
$set = $modx->getObject('modPropertySet',array('name'=>'MyPropertySet'));
$props = $set->getProperties();
return print_r($props, true);
Note that you don’t need the template object to do this because property sets are independent objects. You can get the property set via the template, but it’s usually not practical because there can be multiple property sets attached to the template and you’d have to know the name of the property set you wanted anyway.
If there will only be one property set attached to the template, you could use the template’s default properties instead (also on the Properties tab -- click on the "Unlock Default Properties" button). To get those in code, you’d have to have the template object and then use $template->getProperties();
I’m pretty sure that using a property set would be faster and more efficient (and more convenient if you want to change the property values in your code).
Speaking of efficiency, it would also be slightly faster to look up the property set’s ID and use that in the getObject() call above:
$set = $modx->getObject('modPropertySet', $id);
I think you might have to look in the DB to get the ID, though. I don’t think it appears in the Manager.