Like Hinsbart said you are right in that you need to useexport(Resource)
.
However you do not need to have to use ResourceSaver
to create an initial resource file.
First you need a .gd script file that defines what your resource holds. For example,
#MyResource.gd
export(int) var some_data
export(String) var other_data
Then to use your resource, you will need to add an export(Resource)
as mentioned before.
#SomeNodeScript.gd
export(Resource) var some_resource
In the inspector, select the <null>
dropdown menu next to the export (in this example, it would appear as "Some Resource") and select "New Resource".
You should see a blank resource in the inspector, without any of your custom data fields yet. To add them, go to the script property and set it to your script, which in this example is "MyResource.gd". The inspector won't update right away, but if you refresh it by clicking on < and then >, your resource data will appear in the inspector.
You can then save this resource instance as .tres file to use elsewhere without having to select the script again.