-
-
Notifications
You must be signed in to change notification settings - Fork 3.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow Creating Custom AssetIO Implementations That Support Hot Reload #1414
Comments
Was struggling with this today. @zicklag did you figure out a way around it? |
No, I never made any progress with this. |
Looked at this again today. |
It is now possible to re-implement "watch for changes" support in custom This PR [0] merged a public method I have this working in my custom |
Sounds good, thank you! |
What problem does this solve or what need does it fill?
Currently, when creating your own
AssetIo
implementation, it is actually impossible to implement a custom equivalent to thefilesystem_watcher_sysem
, because that function depends onasset_server.server.asset_io
, which is a private field ofAssetServer
.In my use-case, I am creating a custom
AssetIo
implementation that allows loading assets from zip bundles, but I want to fall back completely to the default asset loader. Unfortunately, when I did this, I lost the ability to do hot reload, because the built-infilesystem_watcher_system
will only work when the currentAssetIo
implementation isFileAssetIo
.What solution would you like?
I don't have a specific idea for the implementation, but however necessary, I need a way to be able to copy the exact functionality of the current
filesystem_watcher_system
in my ownAssetIo
implementation.What alternative(s) have you considered?
Waiting on the Distil integration? 🤷♂️ But I would like to get this into my app now, so I'd hope there's at least a short-term solution would could come up with now.
Additional context
If the strategy doesn't require a ton of work, I'd be willing to try to do this, but I'm not exactly sure what the best strategy is. The obvious easy techinque would just be to make the types that are necessary to access public types instead of private, but I'm not sure that is the best long-term design. Also, with the integration with Distil comming up, I'm not sure if we need it to be a great long term solution?
Anyway, I need some directional guidance on how we want to go about this.
The text was updated successfully, but these errors were encountered: