Skip to content

Commit bf5519b

Browse files
committed
Allow specifying an override for using the asset processor.
1 parent 7ba5baf commit bf5519b

File tree

1 file changed

+15
-9
lines changed

1 file changed

+15
-9
lines changed

crates/bevy_asset/src/lib.rs

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,12 @@ pub struct AssetPlugin {
247247
/// Most use cases should leave this set to [`None`] and enable a specific watcher feature such as `file_watcher` to enable
248248
/// watching for dev-scenarios.
249249
pub watch_for_changes_override: Option<bool>,
250+
/// If set, will override the default "use asset processor" setting. By default "use asset
251+
/// processor" will be `false` unless the `asset_processor` cargo feature is set.
252+
///
253+
/// Most use cases should leave this set to [`None`] and enable the `asset_processor` cargo
254+
/// feature.
255+
pub use_asset_processor_override: Option<bool>,
250256
/// The [`AssetMode`] to use for this server.
251257
pub mode: AssetMode,
252258
/// How/If asset meta files should be checked.
@@ -332,6 +338,7 @@ impl Default for AssetPlugin {
332338
file_path: Self::DEFAULT_UNPROCESSED_FILE_PATH.to_string(),
333339
processed_file_path: Self::DEFAULT_PROCESSED_FILE_PATH.to_string(),
334340
watch_for_changes_override: None,
341+
use_asset_processor_override: None,
335342
meta_check: AssetMetaCheck::default(),
336343
unapproved_path_mode: UnapprovedPathMode::default(),
337344
}
@@ -360,10 +367,9 @@ impl Plugin for AssetPlugin {
360367
embedded.register_source(&mut sources);
361368
}
362369
{
363-
let mut watch = cfg!(feature = "watch");
364-
if let Some(watch_override) = self.watch_for_changes_override {
365-
watch = watch_override;
366-
}
370+
let watch = self
371+
.watch_for_changes_override
372+
.unwrap_or(cfg!(feature = "watch"));
367373
match self.mode {
368374
AssetMode::Unprocessed => {
369375
let mut builders = app.world_mut().resource_mut::<AssetSourceBuilders>();
@@ -378,8 +384,10 @@ impl Plugin for AssetPlugin {
378384
));
379385
}
380386
AssetMode::Processed => {
381-
#[cfg(feature = "asset_processor")]
382-
{
387+
let use_asset_processor = self
388+
.use_asset_processor_override
389+
.unwrap_or(cfg!(feature = "asset_processor"));
390+
if use_asset_processor {
383391
let mut builders = app.world_mut().resource_mut::<AssetSourceBuilders>();
384392
let processor = AssetProcessor::new(&mut builders);
385393
let mut sources = builders.build_sources(false, watch);
@@ -395,9 +403,7 @@ impl Plugin for AssetPlugin {
395403
))
396404
.insert_resource(processor)
397405
.add_systems(bevy_app::Startup, AssetProcessor::start);
398-
}
399-
#[cfg(not(feature = "asset_processor"))]
400-
{
406+
} else {
401407
let mut builders = app.world_mut().resource_mut::<AssetSourceBuilders>();
402408
let sources = builders.build_sources(false, watch);
403409
app.insert_resource(AssetServer::new_with_meta_check(

0 commit comments

Comments
 (0)