Search Issue Tracker

Postponed means that the issue was either a feature request or something that requires major refactoring on our side. Since that makes the issue not actionable in the close future we choose to close it as Postponed and add it on our internal roadmaps and technical debt pages instead.

Postponed

Votes

0

Found in

2017.2.0f3

Issue ID

1010345

Regression

No

Collab: User can lose updated game object variable values when updating if script attached to object cannot compile

Collab

-

DESCRIPTION:
This is a complex problem to explain, so please see the repro steps.

REPRO:

Machine 1: Create a collab-enabled project.
Machine 1: Create a scene. Spawn a cube. Create a new C-sharp script and attach it to the cube. Save and push updates to collab.
Machine 2: Download the project from the cloud.
Machine 1: Open the C-sharp script from earlier. Add new public variable fields.
Machine 1: Select the cube. In the inspector, add non-default values for the variables and save.
Machine 1: Edit the C-sharp script so that it fails to compile, and save.
Machine 1: Push updates to collab
Machine 2: Pull update from collab
Machine 1: Fix C# compilation issue, push new update to collab
Machine 2: Pull new update from collab
Machine 2: Inspect the cube and look at the variable fields
RESULTS:
The variables for the cube on Machine 2 have been re-set to default even though the local machine made no changes. If Machine 2 saves and then pushes their scene, the original values on Machine 1 will be overwritten with the new values.

There are some additional weird things you can do in this scenario as well. For example, you can change a variable's type (without changing its name) on Machine 1, assign a new value to that variable (example: switching int to string), then cause that script to fail to compile, push the updates, pull the updates on Machine 2, and then have Machine 2 try to load up the variable data using the wrong type. I haven't seen any crashes with this yet, but data is lost there as well as the importer seems to do some kind of value conversion to fit the type on Machine 2.

  1. Resolution Note:

    Is being handled as a feature request to support prerequisites before allowing a check in.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.