ADR-26: Port signup screen to unity

More details about this document
Latest published version:
https://adr.decentraland.org/adr/ADR-26
Authors:
AjimenezDCL
Feedback:
GitHub decentraland/adr (pull requests, new issue, open issues)
Edit this documentation:
GitHub View commits View commits on githistory.xyz

Abstract

Currently our signup screen is part of the website. To ease cross platform development the screen will be ported and a part of unity-renderer.

Need

Current implementation

When a new user starts Decentraland (even as a guest). Our signup workflow get's started.

  1. Kernel requests Avatar Editor in Unity.

  2. User creates an avatar and press Done.

  3. Unity sends the avatar info upwards.

  4. Kernel dispatches events regarding the change of the signup stage and deactivate Unity's rendering.

  5. Website reacts to the stage change and displays the passport and ToS screen.

    5a. User presses Back. Events are dispatched with a [SIGNUP_COME_BACK_TO_AVATAR_EDITOR] event, kernel reacts to it and requests Unity to show the Avatar Editor again coming back to step 1.

  6. Website dispatches an event with the passport info (name and email).

  7. Kernel finishes the signup with the passport info and converges to the normal signin workflow.

Approach

The passport and ToS screens will be ported into Unity. For kernel the workflow will be almost identical while all the related code for website will be removed.

The new flow should go as this:

  1. Kernel requests Avatar Editor in Unity.
  2. User creates an avatar and press Done.
  3. Unity sends the avatar info upwards.
  4. Unity shows the passport and ToS screen.
  5. Unity sends the name and email upwards.
  6. Kernel's endpoint for unity generates the same events previously dispatches by website. The session saga reacts to them and the flow goes as the current implementation.

Benefit

Participants

License

Copyright and related rights waived via CC0-1.0. DRAFT Living