bevy_mod_scripting icon indicating copy to clipboard operation
bevy_mod_scripting copied to clipboard

ScriptComponent only uses the path of the asset path not its source.

Open shanecelis opened this issue 10 months ago • 2 comments

This issue is based on the staging branch and PR #183. I'm noticing the following things:

  1. I can load a script using an asset path, e.g., "nano9://main.lua" using AssetServer. (This uses an additional source like this example.)
  2. Then to make it run, I have to use only the path "main.lua" on ScriptComponent, which is ambiguous.

Is it expected to reference the script in ScriptComponent and load it? If it's expected that I must load and retain a Handle<ScriptAsset> it would be nice if ScriptId could be an asset path Cow<'static, str> or a Handle<ScriptAsset>.

shanecelis avatar Jan 29 '25 10:01 shanecelis

Generally yes script ID's are supposed to be asset paths, however they are derived from the asset path itself without the source. I can change this behaviour so path mappers can have access to the source as well, this way you could set a custom AssetPathToScriptIdMapper which will retain source information in the path

makspll avatar Jan 31 '25 17:01 makspll

I am weary of including the source in these ID's by default as it could be confusing

makspll avatar Jan 31 '25 17:01 makspll