9 unstable releases (3 breaking)
0.4.3 | Mar 20, 2024 |
---|---|
0.4.2 | Mar 13, 2024 |
0.4.0 | Feb 26, 2024 |
0.3.1 | Feb 5, 2024 |
0.1.0 | Oct 26, 2023 |
#644 in Game dev
143 downloads per month
Used in bevy_serialization_urdf
1MB
2K
SLoC
bevy_serialization_extras
A library for bevy which contains wrappers/systems for managing serialization in bevy with moonshine-save
for a more "hands off" serialization workflow
Features
- Out of the box serialization Through
plugins
for components
// Component <-> WrapperComponent
.add_plugins(SerializeComponentFor::<AsyncCollider, ColliderFlag>::default())
// AssetHandle <-> WrapperComponent
.add_plugins(SerializeAssetFor::<StandardMaterial, MaterialFlag>::default())
// WrapperComponent -> AssetHandle
.add_plugins(DeserializeAssetFrom::<GeometryFlag, Mesh>::default())
// Query -> Component,
.add_plugins(SerializeQueryFor::<Linkage, ImpulseJoint, JointFlag>::default())
- Serialization of groups of enities that compose an asset into their singular asset equivillent, and vice-versa
See: https://github.com/rydb/bevy_serialization_urdf
//Query <-> Asset
.add_plugins(SerializeManyAsOneFor::<LinkQuery, Urdf>::default())
-
Allows edititing unserializable(non-reflect) implementing components through the wrappers that convert to them
E.G: Edit Rapier's
ImpulseJoint
throughJointFlag
-
type registration for wrappers through
ManagedTypeRegistration
trait -
A visualization util to list serializable/unserializable components(W.I.P)
Usage
For implementations of plugin trait bounds, see /Wrappers
TODO
- Add a mechanism for updating from old save versions to new save versions as to not break old save files.
Dependencies
~52–91MB
~1.5M SLoC