Hi !
I'm currently in the process of porting a game that uses AdventureCreator to the Switch but it seems that AssetBundles are required (can't talk specifically why because of the NDA).
Can that be a problem for the way AdventureCreator works ? Or is it ok?
Thanks.
It looks like you're new here. If you want to get involved, click one of these buttons!
Comments
Welcome to the community, @Faenrir.
AC has built-in asset bundle support for speech audio and lipysnc files. Referencing other assets would involve the use of custom scripts. What specifically are you looking to move to a bundle?
Everything that would be loaded from files (for instance, all the stuff that goes into the .resource files). That way we load them at start and then from memory instead of loading from files at each scene change.
Trying to figure out if AssetBundles can be used and if that doesn't require weeks of changes in the project because the deadline for release is approaching fast xD.
If we need to change every interaction in the whole game, it might be a big issue.
So not necessarily all asset files - just those in Resources folders?
The first thing you can do is uncheck Spawn PersistentEngine prefab from Resources? in the Settings Manager, which causes the PersistentEngine to be generated from scratch at runtime - as opposed to loaded from Resources.
How many Resources assets are you actually dealing with, and of what type? Aside from speech audio, which can be moved out, AC mainly uses Resources files when it needs to store references to asset files in save-game files.
However, if this is less about asset bundles, and more about not relying on Resources, a built-in option is to rely on Addressables, which AC does support for both speech files, and assets referenced by save games.
This is a recent feature, however, so you'll need to be up-to-date with your AC version. See the Manual's "Saving asset references" chapter for more details on this topic.
Thanks, i'll check all that out
Need to discuss it with the game's dev, i'm just handling the port.
For a list of available built-in performance tips, see the Manual's "Performance and optimisation" chapter.
Hey
Coming back to this since everything else works fully for the port.
Been testing some stuff out about Asset Bundles since i need to be able to load them from memory.
However, it seems ActionLists can't be saved that way.
So i'm trying to test the ActionList Assets but when i create one, i can't use it in the interactions for hotspots.
For instance, i'm trying to replace an existing actionlist with a newly created one (assets>Create>AdventureCreator>ActionList in which i pasted the contents...but can't put it in the Interaction field of the "Use interactions" for the hotspot.
Is there any special way of linking those together ?
Thanks.
(The goal would be to be able to just store a scene container prefab containing everything inside the assetbundle for each scene)
I managed to use the ActionList Asset (i needed to set the interactions to Assets instead of In Scene) and it works.
However i have a new issue:
The texts need to be gathered again since they are in a different actionlist. Which means if i do it this way, i'm going to need to place all the translations again for every text in every actionlist in the game.
Is there any other way to handle this ?
Thanks.
If you go to a scene-based ActionList's cog menu (top right of the component Inspector) and choose Convert to ActionList asset, it'll automatically copy its Actions an asset file.
However, doing so will also clear any translation ID data. But if you open up ActionListAsset.cs, and temporarily comment out line 463:
Then that should prevent IDs from being reset.
Oh that's great. Thanks !!
Can't seem to load the actionlist assets from assetbundles...
Tells me the object i want to instantiate is null
ActionList assets aren't GameObjects - they don't get instantiated in the scene.