Skip to content

[ID-3859] feat: Passport prefab #539

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

Open
wants to merge 20 commits into
base: main
Choose a base branch
from
Open

Conversation

CodeSchwert
Copy link
Collaborator

@CodeSchwert CodeSchwert commented Aug 5, 2025

Summary

ID-3859

  • Add a Passport Prefab and example UI controller.
  • Prefab and samples can be imported from the Unity Package Manager alongside the other SDK samples.
  • Detailed README on how to use the Prefab.
image image

Customer Impact

Added

  • Passport Prefab with headless login support

Things worth calling out

Other things to consider:

  • Sample app is updated with new SDK changes
  • Updated public documentation with new SDK changes (Immutable X and Immutable zkEVM)
  • Sample game is updated with new SDK changes
  • Replied to GitHub issues

Copy link
Collaborator

@nattb8 nattb8 left a comment

Choose a reason for hiding this comment

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

Can we add this prefab to the sample app too? So customers can see a working example of how it's configured?

@CodeSchwert CodeSchwert force-pushed the feat/passport-prefab branch from 44577e2 to 5ff7369 Compare August 12, 2025 02:55
@CodeSchwert
Copy link
Collaborator Author

Can we add this prefab to the sample app too? So customers can see a working example of how it's configured?

Is that out of scope for this epic?

high_quality

@CodeSchwert CodeSchwert force-pushed the feat/passport-prefab branch from 5973acf to a57cd86 Compare August 12, 2025 12:02
@nattb8
Copy link
Collaborator

nattb8 commented Aug 12, 2025

Can we add this prefab to the sample app too? So customers can see a working example of how it's configured?

Is that out of scope for this epic?

Generally we add what goes into the SDK into the sample app too as we often get customers to reference the sample app. I thought it would be a simple addition since it's a prefab.

@CodeSchwert CodeSchwert force-pushed the feat/passport-prefab branch 2 times, most recently from a57cd86 to 98a00b3 Compare August 13, 2025 03:14
var cmdPath = GetGameExecutablePath(".cmd");
if (File.Exists(cmdPath))
Copy link
Collaborator

Choose a reason for hiding this comment

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

If this is removed, when will it be cleaned up?

"com.cysharp.unitask": "2.3.1",
"com.unity.modules.unitywebrequest": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0",
"com.unity.modules.androidjni": "1.0.0"
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why do we need the android jni library?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Unity added those when I started the sample app, so I guess it does need them?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Do we need all this?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I figure it's better to have more info than not enough...

- Add browser process isolation workaround for Unity Passport authentication
- Configure protocol associations and browser permissions programmatically
- Handle both full login flows and cached session scenarios
- Fix MailSlurp API URL configuration for OTP retrieval
- Implement controlled logout process to prevent app crashes
- Increase AltDriver timeouts for CI stability
- Change concurrency group from per-platform to shared 'ui-tests-email-inbox'
- Ensures macOS and Windows tests run sequentially to avoid MailSlurp race conditions
- Prevents OTP emails being consumed by wrong test when tests run in parallel
@CodeSchwert CodeSchwert force-pushed the feat/passport-prefab branch from d30a1e4 to 5e5b616 Compare August 18, 2025 03:05
- Move PassportManager.cs and PassportUIBuilder.cs to Samples folder
- Remove Unity.Modules.UI and Unity.TextMeshPro dependencies from core SDK
- Create separate assembly definition for samples with UI dependencies
- Core SDK is now UI-agnostic while preserving drag-and-drop prefab experience
- Developers can use provided UI samples or build their own UI
- Add cancel-in-progress: false to ui-tests-email-inbox concurrency group
- Allows queued tests to complete rather than being canceled by new runs
- Improves CI resource utilization and debugging experience
- Maintains existing protection against MailSlurp OTP race conditions
@CodeSchwert CodeSchwert force-pushed the feat/passport-prefab branch from c38fb47 to fe27997 Compare August 18, 2025 07:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants