|
2 | 2 |
|
3 | 3 | ## Unreleased
|
4 | 4 |
|
| 5 | +## `0.2.0` - 2019-03-18 |
| 6 | + |
5 | 7 | ### Breaking Changes
|
6 | 8 |
|
7 | 9 | - Changed the format of the BuildConfiguration asset. Please recreate, or copy it from `workers/unity/Playground/Assets/Config/BuildConfiguration.asset`.
|
8 |
| -- Command request and responses are no longer constructed from that static methods `CreateRequest` and `CreateResponse`. Instead they are have constructors that take the same arguments. |
| 10 | +- Command request and responses are no longer constructed from static methods `CreateRequest` and `CreateResponse`. Instead, they are constructors that take the same arguments. |
9 | 11 | - The `Require` attribute has moved from the `Improbable.Gdk.GameObjectRepresentation` namespace to the `Improbable.Gdk.Subscriptions` namespace.
|
10 | 12 | - The generated Readers have been renamed from `{COMPONENT_NAME}.Requirable.Reader` to `{COMPONENT_NAME}Reader`.
|
11 | 13 | - The Reader callback events' names have changed.
|
|
15 | 17 | - The Writer send method names have changed.
|
16 | 18 | - `Send{EVENT_NAME}` is now `Send{EVENT_NAME}Event`.
|
17 | 19 | - `Send` is now `SendUpdate`.
|
18 |
| -- The generated command senders in Monobehaviours have also changed. |
19 |
| - - `{COMPONENT_NAME}.Requirable.CommandRequestSender` and `{COMPONENT_NAME}.Requirable.CommandResponseHandler` have been combined and is now called `{COMPONENT_NAME}CommandSender`. |
| 20 | + - The generated command senders in MonoBehaviours have also changed. |
| 21 | + - `{COMPONENT_NAME}.Requirable.CommandRequestSender` and `{COMPONENT_NAME}.Requirable.CommandResponseHandler` have been combined and are now called `{COMPONENT_NAME}CommandSender`. |
20 | 22 | - `{COMPONENT_NAME}.Requirable.CommandRequestHandler` is now called `{COMPONENT_NAME}CommandReceiver`.
|
21 |
| -- When creating game objects, the `IEntityGameObjectCreator.OnEntityCreated` signature has changed from `GameObject OnEntityCreated(SpatialOSEntity entity)` to `void OnEntityCreated(SpatialOSEntity entity, EntityGameObjectLinker linker)`. |
| 23 | +- When creating GameObjects, the `IEntityGameObjectCreator.OnEntityCreated` signature has changed from `GameObject OnEntityCreated(SpatialOSEntity entity)` to `void OnEntityCreated(SpatialOSEntity entity, EntityGameObjectLinker linker)`. |
22 | 24 | - The signature of `IEntityGameObjectCreator.OnEntityCreated` has changed from `void OnEntityRemoved(EntityId entityId, GameObject linkedGameObject)` to `void OnEntityRemoved(EntityId entityId)`.
|
23 |
| - - All linked `GameObject` instances will still be unlinked before this is called, however it is now the user's responsibility to track if a `GameObject` was created when the entity was added. |
24 |
| - - You should now call `linker.LinkGameObjectToSpatialOSEntity()` to link the `GameObject` to the SpatiaOS entity. |
25 |
| - - You should also pass in a list of `ComponentType` to `LinkGameObjectToSpatialOSEntity` which you wish to be copied from the `GameObject` to the ECS entity associated with the `GameObject`. |
26 |
| - - Note that for the Transform Synchronization feature module to work correctly, there must be a linked `Transform` `GameObject` component. `Rigidbody` should also be added if one is present on the `GameObject`. |
27 |
| - - There is no limit on the number of `GameObject` instances that can be linked to a SpatialOS entity. However the same component type can not be added more than once. |
28 |
| - - Deleting a linked `GameObject` will unlink it from the SpatialOS entity automatically. |
| 25 | + - All linked `GameObject` instances are still unlinked before this is called, however it is now your responsibility to track if a `GameObject` was created when the entity was added. |
| 26 | + - You should now call `linker.LinkGameObjectToSpatialOSEntity()` to link the `GameObject` to the SpatialOS entity. |
| 27 | + - You should also pass-in a list of `ComponentType` to `LinkGameObjectToSpatialOSEntity` which you wish to be copied from the `GameObject` to the ECS entity associated with the `GameObject`. |
| 28 | + - Note that for the Transform Synchronization feature module to work correctly, you need to set up a linked Transform Component on your GameObject. You also need to link any Rigidbody Component on your GameObject. |
| 29 | + - There is no limit on the number of GameObject instances that you can link to a SpatialOS entity. However, you cannot add a component type to a linked GameObject instance more than once. |
| 30 | + - Deleting a linked GameObject unlinks it from the SpatialOS entity automatically. |
29 | 31 | - `SpatialOSComponent` has been renamed to `LinkedEntityComponent`.
|
30 | 32 | - The field `SpatialEntityId` on the `LinkedEntityComponent` has been renamed to `EntityId`.
|
31 | 33 | - The field `Entity` has been removed.
|
|
37 | 39 | - Note that generated types that implement `ISpatialComponentData` are not marked as `Serializable`.
|
38 | 40 | - Added the `DynamicConverter` class for converting a `ISpatialComponentSnapshot` to an `ISpatialComponentUpdate`.
|
39 | 41 | - Added a generated ECS shared component called `{COMPONENT_NAME}.ComponentAuthority` for each SpatialOS component.
|
40 |
| - - This component contains a single bool which denotes whether you have authority over that component. |
41 |
| - - It will not tell you about soft-handover (`AuthorityLossImminent`). |
42 |
| -- You may now `[Require]` `EntityId`, `Entity`, `World`, `ILogDispatcher`, and `WorldCommandSender` in Monobehaviours. |
| 42 | + - This component contains a single boolean which denotes whether a server-worker instance has write access authority over that component. |
| 43 | + - The component does not tell you about soft-handover (`AuthorityLossImminent`). |
| 44 | +- You may now `[Require]` an `EntityId`, `Entity`, `World`, `ILogDispatcher`, and `WorldCommandSender` in MonoBehaviours. |
43 | 45 | - Added constructors for all generated component snapshot types.
|
44 | 46 | - Added the ability to send arbitrary serialized data in a player creation request.
|
45 | 47 | - Replaced `Vector3f` position in `CreatePlayerRequestType` with a `bytes` field for sending arbitrary serialized data.
|
|
51 | 53 |
|
52 | 54 | - Upgraded the Worker SDK version to `13.6.2`.
|
53 | 55 | - Improved the UX of the BuildConfiguration inspector.
|
54 |
| -- Improved the UX of the GDK Tools Configuration window. |
55 |
| -- Deleting a `GameObject` now automatically unlinks it from its ECS entity. Note that the ECS entity and the SpatialOS entity are _not_ also deleted. |
| 56 | +- Improved the UX of the GDK’s Tools Configuration window. |
| 57 | +- Deleting a GameObject now automatically unlinks it from its ECS entity. Note that the ECS entity and the SpatialOS entity are _not_ also deleted. |
56 | 58 | - Changed the format of the BuildConfiguration asset. Please recreate, or copy it from `workers/unity/Playground/Assets/Config/BuildConfiguration.asset`.
|
57 | 59 | - Building workers will not change the active build target anymore. The build target will be set back to whatever was set before starting the build process.
|
58 | 60 |
|
59 | 61 | ### Fixed
|
60 | 62 |
|
61 |
| -- Fixed a bug where running `SpatialOS -> Generate code` would always regenerate code, even if no files had changed. |
62 |
| -- Fixed a bug where building all workers in our sample projects would fail, if you have Android build support installed, but didn't set the path to the Android SDK. |
63 |
| -- Fixed a bug where some prefabs would not be processed correctly, causing NullReferenceExceptions in OnEnable. |
| 63 | +- Fixed a bug where, from the SpatialOS menu in the Unity Editor, running **SpatialOS ** > **Generate code** would always regenerate code, even if no files had changed. |
| 64 | +- Fixed a bug where building all workers in our sample projects would fail if you have Android build support installed but didn't set the path to the Android SDK. |
| 65 | + - Fixed a bug where some prefabs would not be processed correctly, causing `NullReferenceExceptions` in `OnEnable`. |
64 | 66 |
|
65 | 67 | ### Internal
|
66 | 68 |
|
|
69 | 71 | - Exposed annotations in the code generator model.
|
70 | 72 | - Added a `MockConnectionHandler` implementation for testing code which requires the world to be populated with SpatialOS entities.
|
71 | 73 | - Added tests for `StandardSubscriptionManagers` and `AggregateSubscription`.
|
72 |
| -- Re-added tests for Reader/Writer injection criteria and Monobehaviour enabling. |
| 74 | + - Re-added tests for Reader/Writer injection criteria and MonoBehaviour enabling. |
73 | 75 | - Reactive components have been isolated and can be disabled.
|
74 | 76 | - Subscriptions API has been added, this allows you to subscribe anything for which a manager has been defined.
|
75 |
| - - This now backs the `Require` API in Monobehaviours |
76 |
| -- Low level APIs have been changed significantly. |
| 77 | + - This now backs the `Require` API in MonoBehaviours. |
| 78 | +- Low-level APIs have been changed significantly. |
77 | 79 | - Added a View separate from the Unity ECS.
|
78 | 80 | - Removed unnecessary `KcpNetworkParameters` overrides in `MobileWorkerConnector` where it matched the default values.
|
79 | 81 |
|
| 82 | + |
80 | 83 | ## `0.1.5` - 2019-02-18
|
81 | 84 |
|
82 | 85 | ### Changed
|
|
0 commit comments