Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
273 commits
Select commit Hold shift + click to select a range
3b4948f
Fix address comparison such that address instances that represent the…
BellringerQuinn May 29, 2025
83e301b
Added a LocalChain because the V3 tests return this chain id frequently.
BellringerQuinn May 29, 2025
7ccb5ec
Update FixedBytesCoder and StaticBytesCoder such that they both can h…
BellringerQuinn May 29, 2025
8bce78e
Fix NumberCoder such that it can handle other types of number other t…
BellringerQuinn May 29, 2025
c586762
Fix broken test
BellringerQuinn May 29, 2025
653552c
Fix encoding runtime exceptions that occur when running Payload tests
BellringerQuinn May 29, 2025
a2dce77
Added additional unit tests to help determine why the Payload integra…
BellringerQuinn May 29, 2025
ced124a
Fix TestPackCalls and implementation
BellringerQuinn May 30, 2025
c4169b9
Fix BytesCoder - simply removing the trailing 0s can cause overflows …
BellringerQuinn May 30, 2025
d69ee91
added permission primitives and its decoding/encoding functions
andygruening Jun 2, 2025
64d262a
Added a unit test to confirm we can successfully build a TypedDataToS…
BellringerQuinn Jun 2, 2025
6024e1e
Added a unit test to confirm we can successfully build a TypedDataToS…
BellringerQuinn Jun 3, 2025
4695b82
Added a unit test to confirm we can successfully created a TypedDataT…
BellringerQuinn Jun 3, 2025
42446e1
Log a bunch of stuff to debug eip712 signing
BellringerQuinn Jun 4, 2025
dd28a8d
Fix how we handle byte[] encoding
BellringerQuinn Jun 5, 2025
9de346c
Include embedded wallet address when using list sessions
BellringerQuinn Jun 5, 2025
871466d
Add additional unit test EIP712 signing and fix how we are EIP712 enc…
BellringerQuinn Jun 5, 2025
d44d3be
Get TestGetSignedPayload to pass using nethereum
BellringerQuinn Jun 5, 2025
4919b6a
Fix our conversion of Calls payloads into a type that nethereum can u…
BellringerQuinn Jun 5, 2025
9895e81
Change how we get minimum bytes needed such that tests are now passing
BellringerQuinn Jun 9, 2025
0432540
Cleaner Calls.Encode implementation
BellringerQuinn Jun 9, 2025
755ed34
Cleanup Calls.Decode implementation
BellringerQuinn Jun 9, 2025
55aac5c
Create CallsEncoder and CallEncoder as we've done with decoding as th…
BellringerQuinn Jun 9, 2025
dbd42bf
Cleanup how we convert from our data types (TypedDataToSign + NamedTy…
BellringerQuinn Jun 9, 2025
6067f63
More cleanup
BellringerQuinn Jun 9, 2025
c148c78
Added a readme explaining how to update Nethereum if needed
BellringerQuinn Jun 9, 2025
9a1e238
Fix broken unit tests by fixing class access level
BellringerQuinn Jun 12, 2025
9aa2418
Added FindSignerLeaf and GetSigners methods
BellringerQuinn Jun 12, 2025
4ae0790
Added ability to get weight of a topology or config - adding Weight c…
BellringerQuinn Jun 12, 2025
9980b2e
Added HashConfiguration method
BellringerQuinn Jun 12, 2025
27c302b
Added ability to make topology from leaves
BellringerQuinn Jun 13, 2025
a848768
Added Topology.Encode method
BellringerQuinn Jun 13, 2025
75d3564
Merge pull request #310 from 0xsequence/Feature/primitives-payloads
andygruening Jun 16, 2025
231716a
Merge branch 'V5-EcosystemWallet' into Feature/primitives-config
andygruening Jun 16, 2025
51c16c1
added config and dev tools tests, topology decoding
andygruening Jun 17, 2025
a187fdb
signing topologies
andygruening Jun 17, 2025
771780f
update testchain, and include wallet-contracts-v3 artifacts
pkieltyka Jun 17, 2025
15ca893
Merge remote-tracking branch 'origin/testchain-update' into Feature/p…
andygruening Jun 23, 2025
b66e2b4
Merge branch 'permission-primitive' into V5-EcosystemWallet
andygruening Jun 24, 2025
4b681d9
Merge branch 'V5-EcosystemWallet' into Feature/primitives-config
andygruening Jun 24, 2025
db0ec66
removed un-implemented code
andygruening Jun 24, 2025
498f570
encoding topology, leafs and signatures
andygruening Jun 27, 2025
ea86ac2
byte array encoding changes, padLeft does not throw exceptions when t…
andygruening Jun 27, 2025
6f5b540
concat and decode signatures
andygruening Jun 29, 2025
ad52d2c
latest changes
andygruening Jun 29, 2025
c2e59c4
unit test fr encoding and decoding config
andygruening Jun 29, 2025
0c52d6b
unit test for recovering random config
andygruening Jun 29, 2025
476ccec
parsing config adjustments
andygruening Jun 29, 2025
a57eaff
fix for sapient type
andygruening Jun 29, 2025
e9da413
fixed encoding of chained signatures
andygruening Jun 30, 2025
b464b0e
fixed sapient signatures
andygruening Jun 30, 2025
939488f
started adding sessions topology and leafs
andygruening Jun 30, 2025
4b16a49
started adding session tests
andygruening Jun 30, 2025
0fe11a1
parsing sessions topology to json
andygruening Jun 30, 2025
dfb7bec
parsing session permissions
andygruening Jun 30, 2025
95f506b
parsing permissions from json, test to add explicit session
andygruening Jun 30, 2025
cce53b7
adding blacklist address
andygruening Jun 30, 2025
bc68800
encoding session call signatures
andygruening Jul 1, 2025
8ead52d
flatting and minimising sessions topology
andygruening Jul 1, 2025
a5d2e00
fixed sessions branch encoding
andygruening Jul 1, 2025
d6ed318
fixed permissions and attestation parsing
andygruening Jul 1, 2025
498782c
fixed generic encoding
andygruening Jul 1, 2025
4ab48ce
removing explicit session
andygruening Jul 1, 2025
cecf48a
remove address from blacklist
andygruening Jul 1, 2025
0f85dbf
added AddressFactory
andygruening Jul 1, 2025
401d243
test to create sequence address
andygruening Jul 1, 2025
5e0edb2
Merge branch 'Feature/primitives-sessions' into Feature/primitives-co…
andygruening Jul 1, 2025
3a2d717
added primitives readme
andygruening Jul 1, 2025
bd56844
added base data type ITopology, started adding recovery tests
andygruening Jul 1, 2025
e5d47f9
started adding recovery topology
andygruening Jul 1, 2025
6f3fcb3
added recovery branch functions
andygruening Jul 1, 2025
4d8c0a1
started adding passkeys primitives and tests
andygruening Jul 1, 2025
8c105f2
fixed passkeys
andygruening Jul 1, 2025
2fee636
added address_calculate test
andygruening Jul 1, 2025
7197840
appended primitives tdd, removed some unused namespace refs
andygruening Jul 2, 2025
5a30b41
remove comment
andygruening Jul 2, 2025
82ff683
Merge pull request #318 from 0xsequence/Feature/primitives-config
andygruening Jul 8, 2025
bf5ebf4
started adding auth flow and SequenceEcosystemWalletLogin.cs
andygruening Jul 8, 2025
4eb90fe
added basic auth flow with redirectUrl from the editor
andygruening Jul 9, 2025
60aa5fe
working v3 auth flow and recovering session from secure storage
andygruening Jul 10, 2025
b40f8da
added v3 wallet demo scene and UI
andygruening Jul 10, 2025
29feb3b
ios build fixes, removed Nethereum.Web3 dll
andygruening Jul 10, 2025
9b51b93
started adding browser interfaces
andygruening Jul 10, 2025
ffb4d77
added v3 react template
andygruening Jul 11, 2025
b8ed12a
added GetPageOrigin() and calls to sign in with passkey and mnemonic
andygruening Jul 11, 2025
3ebf38e
added SessionBuilder and SessionTemplates
andygruening Jul 15, 2025
d4b12a4
added sign message request
andygruening Jul 16, 2025
b4a84c0
adjusted demo ui, removed old data classes
andygruening Jul 16, 2025
6c66a01
demo ui adjustments
andygruening Jul 16, 2025
e2978d1
started adding ios webview plugin
andygruening Jul 16, 2025
15fd0a7
Merge branch 'master' into V5-EcosystemWallet
andygruening Jul 17, 2025
12e0116
Merge branch 'V5-EcosystemWallet' into Feature/ecosystem-wallet-auth
andygruening Jul 17, 2025
96e5d1b
v3 auth working on android, added android plugin to handle deeplinks
andygruening Jul 17, 2025
5d62c28
add additional explicit sessions
andygruening Jul 18, 2025
b494919
v3 auth working on macos
andygruening Jul 18, 2025
22a04d8
some more adjustments
andygruening Jul 18, 2025
f15ba54
switching aspect ratio to portrait
andygruening Jul 18, 2025
2bd43bf
redirect working on windows builds
andygruening Jul 21, 2025
aa8051b
Merge branch 'Feature/ecosystem-wallet-auth' into V5-EcosystemWallet
andygruening Jul 23, 2025
cf3604a
added generic HttpClient to Sequence.Utils, removed it from EmbeddedW…
andygruening Jul 24, 2025
fb7e5c8
added structure for sequence session wallets
andygruening Jul 25, 2025
d848792
added ecosytem type to connect constructor
andygruening Jul 25, 2025
0fe39c9
added GetMetaTxnReceipt functions to relayer and status for receipts
andygruening Jul 25, 2025
65ae8fe
some more changes
andygruening Jul 25, 2025
d640940
some more changes
andygruening Jul 25, 2025
c41f12f
origin in addImplicitSession request, changed SequenceSessionWallet t…
andygruening Aug 4, 2025
b6364bf
started finding signers, preparing transactions
andygruening Aug 4, 2025
7a10e9d
added v3 key machine requests to get wallet config
andygruening Aug 6, 2025
8b05e0b
Merge branch 'master' into V5-EcosystemWallet
andygruening Aug 6, 2025
c318399
converting service tree to config primitive
andygruening Aug 6, 2025
40b244e
transaction test, getting sessions topology from key machine
andygruening Aug 6, 2025
c51d9e6
started signing calls with sessionSigner
andygruening Aug 7, 2025
9649f54
testing ASWebAuthenticationSession
andygruening Aug 8, 2025
9cc6ec2
create identity signer address
andygruening Aug 8, 2025
c5a61f6
get nonce from node, test to get fee options
andygruening Aug 9, 2025
e10dbe0
get config updates from key machine, more updates
andygruening Aug 9, 2025
e7e6e8a
implicit transactions are working
andygruening Aug 9, 2025
7cf20a3
started finding permissions for explicit transaction, some log cleanup
andygruening Aug 10, 2025
873e0c3
added tests for explicitEmit
andygruening Aug 10, 2025
5285145
Merge branch 'master' into V5-EcosystemWallet
andygruening Aug 10, 2025
35fe14c
handle fee options call
andygruening Aug 11, 2025
2195492
latest changes
andygruening Aug 12, 2025
5ff98dc
added IConnect interface
andygruening Aug 12, 2025
b8f1113
started adding TDDs for authentication and transactions
andygruening Aug 12, 2025
2592bf6
deploy transaction
andygruening Aug 12, 2025
12c94d6
added service classes for transactions, signing and finding signers
andygruening Aug 12, 2025
fda7078
added transaction interfaces
andygruening Aug 12, 2025
a37501f
added IPermission interface
andygruening Aug 13, 2025
dee233a
latest changes and improvements
andygruening Aug 13, 2025
5adf121
assert for session signer length
andygruening Aug 13, 2025
bde0980
directory restructure
andygruening Aug 13, 2025
3267e1d
unity version update to 2022 LTS, v3 demo updates
andygruening Aug 13, 2025
80ecff1
demo ui updates for sending transactions
andygruening Aug 14, 2025
c2b608e
added ref
andygruening Aug 14, 2025
297a613
latest changes
andygruening Aug 14, 2025
90ddd8e
chrome tabs plugin, demo scene updates
andygruening Aug 14, 2025
c8bd95d
added relayer preserve flags
andygruening Aug 14, 2025
19409c6
fixed il2cpp stripping issues for ios
andygruening Aug 14, 2025
601ce0c
Merge branch 'master' into V5-EcosystemWallet
andygruening Aug 21, 2025
f1b4feb
changed session creation args, implicit-only not allowed for passkey …
andygruening Aug 21, 2025
8ac9046
connect interface defaults to require permissions during signin
andygruening Aug 21, 2025
f9dc54a
added request to send transaction via wallet app
andygruening Sep 4, 2025
1f6c7a6
using wallet app url from SequenceConfig
andygruening Sep 4, 2025
8c679da
Merge branch 'master' into V5-EcosystemWallet
andygruening Sep 25, 2025
311c19c
updates to new create session payload args
andygruening Sep 25, 2025
beb0bff
added rc3 extension
andygruening Sep 25, 2025
4d32767
testing guard signer
andygruening Sep 26, 2025
debc4ba
guard signer uses attestation
andygruening Sep 29, 2025
51b7428
latest updates
andygruening Oct 1, 2025
1797a9f
filter out identity signers, added callIdx
andygruening Oct 1, 2025
2433103
re-enabled storage in wallet state
andygruening Oct 1, 2025
76cd5c5
fixed null address during GetImplementation
andygruening Oct 2, 2025
0381924
use the url scheme from the config by default, generate it as a fallback
andygruening Oct 2, 2025
ad1a976
updates for increment
andygruening Oct 16, 2025
11eacf8
fixes for native token fee options
andygruening Oct 17, 2025
1863273
reverting some logs
andygruening Oct 20, 2025
2efb79a
Merge branch 'master' into V5-EcosystemWallet
andygruening Oct 23, 2025
218b190
update to unity version 2022.3.62f2
andygruening Oct 23, 2025
ac5f3d3
fixed intent sender ready state
andygruening Oct 23, 2025
459897e
fixed access key headers
andygruening Oct 23, 2025
287e3c9
added cloud project to player settings
andygruening Oct 28, 2025
fd1efd5
added debug console
andygruening Oct 28, 2025
1ee9f70
updated scene to build
andygruening Oct 29, 2025
3b0e0b5
updated cloud project id
andygruening Oct 29, 2025
1e900a6
Merge branch 'master' into Feature/build-automation
andygruening Oct 29, 2025
93281eb
temp unignored config file
andygruening Oct 29, 2025
c3543b2
create pre build script to create config file from environment variables
andygruening Nov 4, 2025
6b2e86a
added google/apple client id refs in config creator
andygruening Nov 4, 2025
188161b
unignored tmp default assets
andygruening Nov 4, 2025
c2005aa
added DidReloadScripts inside VersionSetter
andygruening Nov 4, 2025
09f6231
added unity-cloud-check workflow
andygruening Nov 4, 2025
a4050a0
removed unity-tests workflow
andygruening Nov 4, 2025
10cab7e
removed step to run unity tests
andygruening Nov 4, 2025
b12eee8
added org and project id to workflow
andygruening Nov 4, 2025
e550fc0
reverted one change from the last commit
andygruening Nov 4, 2025
855cf72
added default app icon and changed bundle id
andygruening Nov 10, 2025
4ad84c9
referenced icon in project settings
andygruening Nov 10, 2025
d5e1467
Merge branch 'master' into V5-EcosystemWallet
andygruening Nov 10, 2025
6b92a6f
ios app adjustments
andygruening Nov 10, 2025
3e60aa4
some preversev, commented api key in relayer requests
andygruening Nov 10, 2025
b8b1e18
Add production environment to test-and-build job
andygruening Nov 10, 2025
fd37491
Change environment from production to github-pages
andygruening Nov 10, 2025
2b77f62
Fix jq command to extract build number correctly
andygruening Nov 10, 2025
0ed6ca2
demo ui updates, sending valueLimit session arg as string
andygruening Nov 11, 2025
9e1834a
Added branch name retrieval in Cloud Build trigger
andygruening Nov 11, 2025
888ad81
boilerplate restructure to merge embedded/ecosystem wallet demos
andygruening Nov 11, 2025
e8961a6
changed android gradle settings
andygruening Nov 11, 2025
069d092
removed "Demo V3" scene, fully merged wallet type demos
andygruening Nov 11, 2025
38841e2
target framerate set to 60
andygruening Nov 11, 2025
a9275cc
updated project version
andygruening Nov 12, 2025
82a2800
bumped sdk version
andygruening Nov 12, 2025
3a24c50
updated demo
andygruening Nov 12, 2025
fd837c5
demo updates
andygruening Nov 12, 2025
a6fe3ce
added error log in ew adapter
andygruening Nov 12, 2025
df95bd5
updated demo
andygruening Nov 12, 2025
058ed35
added TestflightUploadPostBuildScript
andygruening Nov 14, 2025
ccad98b
updated ios upload paths
andygruening Nov 14, 2025
e8c8dcb
updated project settings and ios upload script
andygruening Nov 14, 2025
4c0e1a3
parse .p8 file content from env values
andygruening Nov 14, 2025
66dce1c
testing ls command during build
andygruening Nov 14, 2025
685bd73
changed ls logs
andygruening Nov 14, 2025
886143a
changed to xc workspace directory
andygruening Nov 14, 2025
59b29d7
another ipa find log
andygruening Nov 14, 2025
4246840
change to testflight_upload.sh shell script
andygruening Nov 14, 2025
a3e6423
added AppleEncryptionPostBuild, changed logo
andygruening Nov 14, 2025
55ac2b1
set ios/android build numbers from UBAs build number
andygruening Nov 14, 2025
dad69e1
trying BUILD_TARGET_BUILD_NUMBER
andygruening Nov 14, 2025
386f8de
trying UCB_BUILD_NUMBER
andygruening Nov 14, 2025
a8d1f9f
trying to switch back to the scene inside packages
andygruening Nov 14, 2025
0f65613
workflow to trigger cloud build whenever a pr is merged
andygruening Nov 14, 2025
cb8bcd6
test change
andygruening Nov 14, 2025
074b11d
Merge pull request #337 from 0xsequence/Feature/test
andygruening Nov 14, 2025
067270e
trigger release on branch push
andygruening Nov 14, 2025
2fccff0
removed if statement on release
andygruening Nov 14, 2025
9e88752
changed to master
andygruening Nov 14, 2025
b2d6c20
conditionally loading ingame console
andygruening Nov 14, 2025
f335b94
Merge branch 'Feature/build-automation' into V5-EcosystemWallet
andygruening Nov 14, 2025
e72ef09
position adjustments to ingame console
andygruening Nov 14, 2025
43c22e2
some more fixes
andygruening Nov 14, 2025
9606940
changed workflow to run on dispatch
andygruening Nov 17, 2025
c13ad4e
changed workflow
andygruening Nov 17, 2025
a02b59a
changed workflow
andygruening Nov 17, 2025
63323e3
changes for the android demo build
andygruening Nov 17, 2025
0cb8f90
switched to rc4 contracts
andygruening Nov 18, 2025
6b8f9ea
updated keymachine url
andygruening Nov 18, 2025
e20750b
renamed some boilerplate classes
andygruening Nov 18, 2025
2220f14
changed to new replay protection function, removed unused address pri…
andygruening Nov 19, 2025
294b001
version bump to 5.0.5
andygruening Nov 19, 2025
16403d5
sdk version bump, removed some logs
andygruening Nov 19, 2025
9fdf575
added TransactionConverter to convert embedded- to ecosystem transact…
andygruening Nov 20, 2025
bc2160d
support multiple guard signer addresses
andygruening Nov 20, 2025
db254fb
fee options window check if wallet has the required balance
andygruening Nov 25, 2025
9ffb11e
demo text update
andygruening Nov 25, 2025
238daf3
more robust message popup animation trigger
andygruening Nov 25, 2025
919a05b
merged react templates into one
andygruening Nov 25, 2025
7de53c2
changed ios safari plugin to catch if the user clicked the x button
andygruening Nov 26, 2025
00f0e40
updated webgl template
andygruening Nov 26, 2025
156c560
updated webgl template meta files
andygruening Nov 26, 2025
457a3be
send chain id as a string for signing messages
andygruening Nov 26, 2025
e19846e
optional accept-signature header in httpclient
andygruening Nov 26, 2025
cde3c09
guard signers as dict mapping
andygruening Nov 26, 2025
1436ddc
update demo folder for the latest webgl demo
andygruening Nov 26, 2025
e54c8fb
memorize guard configs
andygruening Nov 26, 2025
20c2d3a
enabled implicit session for passkeys
andygruening Nov 28, 2025
5f202f4
added rc5 contracts
andygruening Dec 1, 2025
5799ef9
version bump
andygruening Dec 3, 2025
13bcddc
switched to prod relayers
andygruening Dec 11, 2025
4a8e508
Merge branch 'master' into V5-EcosystemWallet
andygruening Dec 11, 2025
fae4d82
latest fixes
andygruening Dec 11, 2025
1d709b6
added project key to keymachine and guard requests
andygruening Dec 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
57 changes: 57 additions & 0 deletions .github/workflows/unity-cloud-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Unity Build Automation

on:
pull_request:
types: [opened, synchronize, reopened]

jobs:
test-and-build:
if: github.event_name == 'workflow_dispatch' || github.run_attempt > 1
runs-on: ubuntu-latest
environment: github-pages

strategy:
fail-fast: false
matrix:
target:
- mac-desktop
- windows-desktop
- ios
- android

steps:
- uses: actions/checkout@v3

# ✅ Step 2 — Trigger Cloud Build for this target
- name: Trigger Cloud Build
id: trigger
run: |
branch_name="${{ github.head_ref || github.ref_name }}"

build_number=$(curl -s -X POST \
-H "Authorization: Basic ${{ secrets.UNITY_API_KEY }}" \
-H "Content-Type: application/json" \
-d "{\"clean\": true, \"delay\": 0, \"commit\": null, \"headless\": true, \"branch\": \"$branch_name\"}" \
https://build-api.cloud.unity3d.com/api/v1/orgs/6872789246035/projects/5fac262b-e52e-42f7-a9d6-d4464b2ff80e/buildtargets/${{ matrix.target }}/builds \
| jq '.[0].build' )

echo "build_number=$build_number" >> $GITHUB_OUTPUT

# 📡 Step 3 — Poll Cloud Build result
- name: Poll Build Status
run: |
for i in {1..60}; do
status=$(curl -s \
-H "Authorization: Basic ${{ secrets.UNITY_API_KEY }}" \
https://build-api.cloud.unity3d.com/api/v1/orgs/6872789246035/projects/5fac262b-e52e-42f7-a9d6-d4464b2ff80e/buildtargets/${{ matrix.target }}/builds/${{ steps.trigger.outputs.build_number }} | jq -r '.buildStatus')

echo "Status: $status"

if [ "$status" = "success" ]; then exit 0; fi
if [ "$status" = "failed" ]; then exit 1; fi

sleep 60
done

echo "Build timed out"
exit 1
32 changes: 32 additions & 0 deletions .github/workflows/unity-cloud-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Unity Build Automation Release

on:
push:
branches:
- master

jobs:
run-on-merge:
runs-on: ubuntu-latest
environment: github-pages

strategy:
fail-fast: false
matrix:
target:
- ios-production

steps:
- uses: actions/checkout@v3

- name: Trigger Cloud Build
id: trigger
run: |
branch_name="${{ github.head_ref || github.ref_name }}"

build_number=$(curl -s -X POST \
-H "Authorization: Basic ${{ secrets.UNITY_API_KEY }}" \
-H "Content-Type: application/json" \
-d "{\"clean\": true, \"delay\": 0, \"commit\": null, \"headless\": true, \"branch\": \"$branch_name\"}" \
https://build-api.cloud.unity3d.com/api/v1/orgs/6872789246035/projects/5fac262b-e52e-42f7-a9d6-d4464b2ff80e/buildtargets/${{ matrix.target }}/builds \
| jq '.[0].build' )
53 changes: 0 additions & 53 deletions .github/workflows/unity-tests.yml

This file was deleted.

7 changes: 3 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@

# Plugins

/[Aa]ssets/TextMesh Pro/
/[Aa]ssets/TextMesh Pro.meta
# /[Aa]ssets/TextMesh Pro/
# /[Aa]ssets/TextMesh Pro.meta
# MemoryCaptures can get excessive in size.
# They also could contain extremely sensitive data
/[Mm]emoryCaptures/

# Package Manager formatting
/[Aa]ssets/TextMesh Pro
# /[Aa]ssets/TextMesh Pro
/[Aa]ssets/Resources
/[Aa]ssets/Resources.meta
/[Aa]ssets/Samples
Expand Down Expand Up @@ -122,5 +122,4 @@ Assets/SequenceSDK/WaaS/Tests/Resources/
# Foundry

/testchain/lib
/testchain/artifacts/*

3 changes: 3 additions & 0 deletions Assets/CloudBuild.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

100 changes: 100 additions & 0 deletions Assets/CloudBuild/testflight_upload.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
#!/bin/bash

set -e

echo "=== TestFlight Upload Script Starting ==="

# Only upload if enabled
if [ "$ENABLE_TESTFLIGHT_UPLOAD" != "TRUE" ]; then
echo "ENABLE_TESTFLIGHT_UPLOAD != TRUE, skipping upload."
exit 0
fi

# Workspace (Unity Cloud Build sets this)
WORKSPACE="${WORKSPACE:-}"

if [ -z "$WORKSPACE" ]; then
echo "ERROR: WORKSPACE environment variable is not set."
exit 1
fi

echo "Workspace: $WORKSPACE"


# ----------------------------
# Locate IPA file
# ----------------------------

IPA_DIR="$WORKSPACE/.build/last/ios-production"
IPA_PATH="$IPA_DIR/build.ipa"

echo "Looking for IPA at: $IPA_PATH"

if [ ! -f "$IPA_PATH" ]; then
echo "IPA not found directly. Searching recursively under workspace..."
IPA_PATH=$(find "$WORKSPACE" -type f -name "*.ipa" | head -n 1)
fi

if [ -z "$IPA_PATH" ]; then
echo "ERROR: No IPA file found anywhere under $WORKSPACE"
exit 1
fi

echo "Using IPA file: $IPA_PATH"


# ----------------------------
# Write the .p8 key to disk
# ----------------------------

if [ -z "$APPSTORE_CONNECT_P8" ]; then
echo "ERROR: APPSTORE_CONNECT_P8 environment variable missing."
exit 1
fi

if [ -z "$APPSTORE_CONNECT_KEY_ID" ]; then
echo "ERROR: APPSTORE_CONNECT_KEY_ID missing."
exit 1
fi

if [ -z "$APPSTORE_CONNECT_ISSUER_ID" ]; then
echo "ERROR: APPSTORE_CONNECT_ISSUER_ID missing."
exit 1
fi

# Replace literal "\n" with real newlines
P8_CONTENT=$(printf "%b" "$APPSTORE_CONNECT_P8")

KEY_DIR="$HOME/.appstoreconnect/private_keys"
KEY_PATH="$KEY_DIR/AuthKey_${APPSTORE_CONNECT_KEY_ID}.p8"

mkdir -p "$KEY_DIR"

echo "Writing App Store Connect private key to:"
echo "$KEY_PATH"

printf "%b" "$P8_CONTENT" > "$KEY_PATH"


# ----------------------------
# Upload using altool
# ----------------------------

echo "Uploading IPA to TestFlight via altool…"

UPLOAD_CMD="xcrun altool --upload-app \
-f \"$IPA_PATH\" \
-t ios \
--apiKey $APPSTORE_CONNECT_KEY_ID \
--apiIssuer $APPSTORE_CONNECT_ISSUER_ID"

echo "Running: $UPLOAD_CMD"

if eval $UPLOAD_CMD; then
echo "=== Upload IPA to Appstore Connect finished successfully ==="
else
echo "=== Upload IPA to Appstore Connect FAILED ==="
exit 1
fi

echo "=== TestFlight Upload Script Completed ==="
3 changes: 3 additions & 0 deletions Assets/CloudBuild/testflight_upload.sh.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

58 changes: 35 additions & 23 deletions Assets/Plugins/Android/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,24 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
>
<application>
<activity
android:name="com.unity3d.player.UnityPlayerActivity"
android:theme="@style/UnityThemeSelector"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="sdk-powered-by-sequence"/>
</intent-filter>
</activity>
</application>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools">
<application>
<activity android:name="com.unity3d.player.UnityPlayerActivity" android:theme="@style/UnityThemeSelector" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="comhorizongamesdemounitygame" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="sdk-powered-by-sequence" />
</intent-filter>
</activity>
</application>
<queries>
<intent>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" />
</intent>
<intent>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" />
</intent>
</queries>
</manifest>
4 changes: 1 addition & 3 deletions Assets/Plugins/Android/gradleTemplate.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,4 @@ org.gradle.parallel=true
android.enableJetifier=true
android.useAndroidX=true
unityStreamingAssets=**STREAMING_ASSETS**
**ADDITIONAL_PROPERTIES**

android.enableR8=**MINIFY_WITH_R_EIGHT**
**ADDITIONAL_PROPERTIES**
3 changes: 3 additions & 0 deletions Assets/Plugins/Android/mainTemplate.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,13 @@ apply plugin: 'com.android.library'
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.security:security-crypto:1.1.0-alpha03'
implementation 'androidx.browser:browser:1.7.0'

**DEPS**}

android {
namespace "com.unity3d.player"
ndkPath "**NDKPATH**"
compileSdkVersion **APIVERSION**
buildToolsVersion '**BUILDTOOLS**'

Expand Down
9 changes: 9 additions & 0 deletions Assets/Plugins/IngameDebugConsole.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions Assets/Plugins/IngameDebugConsole/Android.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading