# Objective - To address problems outlined in https://github.com/bevyengine/bevy/issues/5245 ## Solution - Introduce `reflect(skip_serializing)` on top of `reflect(ignore)` which disables automatic serialisation to scenes, but does not disable reflection of the field. --- ## Changelog - Adds: - `bevy_reflect::serde::type_data` module - `SerializationData` structure for describing which fields are to be/not to be ignored, automatically registers as type_data for struct-based types - the `skip_serialization` flag for `#[reflect(...)]` - Removes: - ability to ignore Enum variants in serialization, since that didn't work anyway ## Migration Guide - Change `#[reflect(ignore)]` to `#[reflect(skip_serializing)]` where disabling reflection is not the intended effect. - Remove ignore/skip attributes from enum variants as these won't do anything anymore
		
			
				
	
	
		
			21 lines
		
	
	
		
			535 B
		
	
	
	
		
			TOML
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			535 B
		
	
	
	
		
			TOML
		
	
	
	
	
	
[package]
 | 
						|
name = "bevy_reflect_derive"
 | 
						|
version = "0.9.0-dev"
 | 
						|
edition = "2021"
 | 
						|
description = "Derive implementations for bevy_reflect"
 | 
						|
homepage = "https://bevyengine.org"
 | 
						|
repository = "https://github.com/bevyengine/bevy"
 | 
						|
license = "MIT OR Apache-2.0"
 | 
						|
keywords = ["bevy"]
 | 
						|
 | 
						|
[lib]
 | 
						|
proc-macro = true
 | 
						|
 | 
						|
[dependencies]
 | 
						|
bevy_macro_utils = { path = "../../bevy_macro_utils", version = "0.9.0-dev" }
 | 
						|
 | 
						|
syn = { version = "1.0", features = ["full"] }
 | 
						|
proc-macro2 = "1.0"
 | 
						|
quote = "1.0"
 | 
						|
uuid = { version = "1.1", features = ["v4"] }
 | 
						|
bit-set = "0.5.2"  |