In terms of Unity since you mention scriptable objects, a singleton is like using
[RuntimeInitializeOnLoadMethod] not to be confused as using
DontDestroyOnLoad(); (I'll come back to this) and .tres files are assets/resources such as materials, physicsmaterials, environments, etc. To make a new resource type or scriptable object, use the key word
class_name followed by it's name.
Right click in the file system tab and select new resource and the script will show up amongst all the other inbuilt resources.
A .tscn file can double up as either a scene or prefab depending on the top node of the scene. Using any node with a transform as the scene's root means it can be loaded into any other scene like a prefab; usually for maps I personally use a plain Node as the root. Because of this scenes in Godot don't use a scene manager, they essentially behave like
DontDestroyOnLoad(); until either
queue_free() (Destroy()) is called or the scene tree, which is like the game's instance itself, is told to load a specific scene using