Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FIX: Fixed ArgumentNullException: Value cannot be null. during the migration of Project-wide Input Actions (ISXB-1105) #2037

Merged
merged 3 commits into from
Oct 24, 2024

Conversation

bmalrat
Copy link
Collaborator

@bmalrat bmalrat commented Oct 23, 2024

Description

During the project migration from a pre 1.8.0 you can get an exception and lost your data.

The bug is due to a bug in the editor that fail to deserialize custom ScriptatableObject during the first re-import.

  • Added back the migration code
  • Added a workarround to detect the deserialize bug, restore the asset and postpone an import.
  • Added a loop that deserialize all sub assets, due to an other bug to ensure that no user data are lost
  • Changed the migration rule to add less overhead on the import process.

Testing status & QA

Tested with the issue projects

Overall Product Risks

Please rate the potential complexity and halo effect from low to high for the reviewers. Note down potential risks to specific Editor branches if any.

  • Complexity:
  • Halo Effect:

Comments to reviewers

changes without the revert
6056972

Checklist

Before review:

  • Changelog entry added.
    • Explains the change in Changed, Fixed, Added sections.
    • For API change contains an example snippet and/or migration example.
    • JIRA ticket linked, example (case %%). If it is a private issue, just add the case ID without a link.
    • Jira port for the next release set as "Resolved".
  • Tests added/changed, if applicable.
    • Functional tests Area_CanDoX, Area_CanDoX_EvenIfYIsTheCase, Area_WhenIDoX_AndYHappens_ThisIsTheResult.
    • Performance tests.
    • Integration tests.
  • Docs for new/changed API's.
    • Xmldoc cross references are set correctly.
    • Added explanation how the API works.
    • Usage code examples added.
    • The manual is updated, if needed.

During merge:

  • Commit message for squash-merge is prefixed with one of the list:
    • NEW: ___.
    • FIX: ___.
    • DOCS: ___.
    • CHANGE: ___.
    • RELEASE: 1.1.0-preview.3.

After merge:

  • Create forward/backward port if needed. If you are blocked from creating a forward port now please add a task to ISX-1444.

Copy link
Collaborator

@ekcoh ekcoh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, but @AlexTyrer should review this.

@ekcoh ekcoh requested a review from AlexTyrer October 24, 2024 05:21
@ekcoh
Copy link
Collaborator

ekcoh commented Oct 24, 2024

Seems like there are conflicts and some test failure that might need attention?

Copy link
Collaborator

@AlexTyrer AlexTyrer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes look good - nice check [ ... && importedAssets.Contains(kAssetPathInputManager) ] to avoid cost on domain reload.

@bmalrat bmalrat merged commit 0034736 into develop Oct 24, 2024
77 checks passed
@bmalrat bmalrat deleted the isxb-1105-fix-for-projectwideaction-migration branch October 24, 2024 14:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants