E.g. voice samples could be loaded separately for each scene, and cleared automatically when the scene is removed. To achieve that, a new node type could be introduced, which would be added to each gameplay scene and would hold all voice samples. Global goat_voice would then find that node and read voices from it. This would, however, require a different default voice setting.
For inventory we could add all inventory items to Inventory scene, and then enable them when certain conditions occur. We should confirm first if loading all inventory items at once wouldn't slow down the program too much.
EDIT: this could also solve the problem with orphaned resources.
This goes along perfectly with the main screen plugin: there can be a separate GOAT tab for e.g. managing the inventory, with a 3D preview of each item.
E.g. voice samples could be loaded separately for each scene, and cleared automatically when the scene is removed. To achieve that, a new node type could be introduced, which would be added to each gameplay scene and would hold all voice samples. Global
goat_voice
would then find that node and read voices from it. This would, however, require a different default voice setting.For inventory we could add all inventory items to Inventory scene, and then enable them when certain conditions occur. We should confirm first if loading all inventory items at once wouldn't slow down the program too much.
EDIT: this could also solve the problem with orphaned resources.