spatialos / gdk-for-unity-fps-starter-project Goto Github PK
View Code? Open in Web Editor NEWSpatialOS GDK for Unity FPS Starter Project
Home Page: https://gdk.improbable.io/spatialos-gdk-unity
License: MIT License
SpatialOS GDK for Unity FPS Starter Project
Home Page: https://gdk.improbable.io/spatialos-gdk-unity
License: MIT License
Below are the steps I followed:
Please note that I am a beginner and there is a high likelihood that I have made a mistake somewhere. I am very unfamiliar with many of the tools I used and could easily have made a mistake while attempting to use one such tool. Thank you in advance for all your help and feel free to ask for any more information you may need.
Setup script threw an unexpected warning
scripts/shell/setup.sh: line 23: realpath: command not found
This script will create the following directory:
*** If such a directory already exists it will be deleted. ***
Are you ready to proceed? (y/n)
Suggest adding the following to the instructions
brew install coreutils
MacOS
Describe your issue.
am trying to run this demo, but failed.
In Get started: 2 - Open the FPS Starter Project, I open FPS-SimulatedPlayerCoordinator, I can not found FPS-Start_Large object in the Unity Hierarchy window & if I bake the file the navmesh disappears. When building the whole project this does not give me a way in the workers to add simulated players.
Expect to find FPS-Start_Large in the Hierarchy window.
can not found FPS-Start_Large object in the Unity Hierarchy window.
Windows 10 & unity 3.9f1
Affects: Release v0.1.4 and up
Internal Ticket: UTY-1592
Running the FPS Starter Project in the Unity Editor with the current platform set as Android leads to the walls being slightly transparent.
It renders correctly when running in the Emulator or an Android device.
Editor.log
Editor-prev.log
symbol_upload.log
upm.log
We are accepting issues and we want your feedback.
Describe your issue.
Trying the spatialos FPS started pack on Unity, follwed the set-up stage,
when I open the project on the unity version 2019 3.15f1, I got about 166 errors almost all Are saying "The type or namespace name 'Worker' does not exist in the namespace 'Improbable' (are you missing an assembly reference"
Affects: Release v0.2.4 and up (may affect earlier versions as well)
Internal Ticket: UTY-2130
After following the health packs tutorial, shooting the health pickups results in an stack trace like the following:
ArgumentException: A component with type:Component has not been added to the entity.
Unity.Entities.EntityComponentStore.AssertEntityHasComponent (Unity.Entities.Entity entity, Unity.Entities.ComponentType componentType) (at Library/PackageCache/[email protected]/Unity.Entities/EntityComponentStore.cs:488)
Unity.Entities.EntityComponentStore.AssertEntityHasComponent (Unity.Entities.Entity entity, System.Int32 componentType) (at Library/PackageCache/[email protected]/Unity.Entities/EntityComponentStore.cs:494)
Unity.Entities.ComponentDataFromEntity`1[T].get_Item (Unity.Entities.Entity entity) (at Library/PackageCache/[email protected]/Unity.Entities/Iterators/ComponentDataFromEntity.cs:116)
Improbable.Gdk.Guns.ServerShootingSystem.OnUpdate () (at Packages/com.improbable.gdk.guns/Systems/ServerShootingSystem.cs:44)
Don't shoot the health pickups. 😛
We are accepting issues and we want your feedback.
Describe your issue.
On opening of the unity worker in Unity Editor 2018.2.8f1 there is this error:
Kernel 'KMainTopRight' not found UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
I think it should not be there.
This error makes it unable to build or do a Local Launch.
Trying to do a Local Launch in unity with the GDK
Windows 10 Home, Unity 2018.2.8f1
I just a newbie to SpatialOS, was following the instructions to setup the Spatial Environment and GDK (Unity). Then I encountered few problems as described below:
I followed the instructions to setup the environment for SpatialOS. Everything is fine at the beginning, but Unity crashed during the project loading (I have sent the report to Unity), then once I re-open the project again, it prompted “Can’t find the Spatial CLI and the donet dependency”, Therefore, I tried to re-installed the dependency.
But the SpatialOS Installer (mac.20180830.170931) failed this time, both in installer and terminal. I have done the screen shot for the mac installer but I did for the terminal
I manually install the CLI by brew and Launcher by SpatialOS.Launcher.mac.1.6.2.pkg separately, and it works this time.
Don’t know whether is a problem with the installer or my environment
After setup the environment, I clone the project, and open it in Unity (2018.3.11f1),
I remove the project, retry the instructions, this problem still occurred 3 times. But I got things solved out at the 4th
I forgot to screenshot the log once the problem occurred, but I remember I have seen the log “Google storage API failed” (or something like this) once I use the “spatial diagnose” in terminal.
I think this because I’m using proxy (I’m in China), the internet connection to access Google API has been block by the firewall, therefore the installation process has failed.
I have change my proxy and internet setting to force all internet access to go though proxy, after that, the installation process has succeeded.
Sorry I forgot the keep the log file.
I try launch the deployment after everything has done, but the deployment has failed due to donet runtime error. The SpatialOS Console has open in browser anyway before the error message display in Unity Log.
Two workers look like working properly in Spatial OS as the screenshot below, able to use the launcher to launch the game and play
Launch of my_deployment failed. Code: CannotParseOutput Message: Unable to parse the standard error. Raw standard error: Unhandled Exception: System.AggregateException: One or more errors occurred. (A task was canceled.) ---> System.Threading.Tasks.TaskCanceledException: A task was canceled. --- End of inner exception stack trace --- at System.Threading.Tasks.Task
1.GetResultCore(Boolean waitCompletionNotification) at Improbable.Gdk.DeploymentLauncher.Commands.Create.UploadSnapshot(SnapshotServiceClient client, String snapshotPath, String projectName, String deploymentName) in /Users/CMY/Downloads/gdk-for-unity/workers/unity/Packages/com.improbable.gdk.deploymentlauncher/.DeploymentLauncher/Commands/Create.cs:line 184 at Improbable.Gdk.DeploymentLauncher.Commands.Create.CreateDeploymentInternal[TOptions](TOptions options, Func2 getLaunchConfigJson) in /Users/CMY/Downloads/gdk-for-unity/workers/unity/Packages/com.improbable.gdk.deploymentlauncher/.DeploymentLauncher/Commands/Create.cs:line 49 at Improbable.Gdk.DeploymentLauncher.Commands.Create.CreateDeployment(Create options) in /Users/CMY/Downloads/gdk-for-unity/workers/unity/Packages/com.improbable.gdk.deploymentlauncher/.DeploymentLauncher/Commands/Create.cs:line 19 at Improbable.Gdk.DeploymentLauncher.Program.<>c.<Main>b__2_1(Create createOptions) in /Users/CMY/Downloads/gdk-for-unity/workers/unity/Packages/com.improbable.gdk.deploymentlauncher/.DeploymentLauncher/Program.cs:line 22 at Improbable.Gdk.DeploymentLauncher.Program.Main(String[] args) in /Users/CMY/Downloads/gdk-for-unity/workers/unity/Packages/com.improbable.gdk.deploymentlauncher/.DeploymentLauncher/Program.cs:line 17 UnityEngine.Debug:LogError(Object) Improbable.Gdk.DeploymentLauncher.DeploymentLauncherWindow:Update() (at /Users/CMY/Downloads/gdk-for-unity/workers/unity/Packages/com.improbable.gdk.deploymentlauncher/DeploymentLauncherWindow.cs:116) UnityEditor.EditorApplication:Internal_CallUpdateFunctions()
Launch of my_deployment_sim1 failed. Code: UnknownGrpcError Message: Grpc.Core.RpcException: Status(StatusCode=ResourceExhausted, Detail="couldn't schedule deployment creation; Couldn't launch deployment because your project (beta_eight_cup_619) doesn't have enough quota for it. Quota required: (18). Quota left: (10). Quota is a limit on the compute resources that your SpatialOS project can use. Try stopping any other deployments you have running then launching this one again. If you need a higher quota, get in touch.") at Grpc.Core.Internal.AsyncCall`2.UnaryCall(TRequest msg) at Grpc.Core.DefaultCallInvoker.BlockingUnaryCall[TRequest,TResponse](Method`2 method, String host, CallOptions options, TRequest request) at Grpc.Core.Internal.InterceptingCallInvoker.BlockingUnaryCall[TRequest,TResponse](Method`2 method, String host, CallOptions options, TRequest request) at Improbable.SpatialOS.Deployment.V1Alpha1.DeploymentService.DeploymentServiceClient.CreateDeployment(CreateDeploymentRequest request, CallOptions options) at Google.Api.Gax.Grpc.ApiCall.<>c__DisplayClass0_0`2.<Create>b__1(TRequest req, CallSettings cs) in C:\Users\jon\Test\Projects\gax-dotnet\releasebuild\src\Google.Api.Gax.Grpc\ApiCall.cs:line 27 at Google.Api.Gax.Grpc.ApiCallRetryExtensions.<>c__DisplayClass1_0`2.<WithRetry>b__0(TRequest request, CallSettings callSettings) in C:\Users\jon\Test\Projects\gax-dotnet\releasebuild\src\Google.Api.Gax.Grpc\ApiCallRetryExtensions.cs:line 79 at Improbable.SpatialOS.Deployment.V1Alpha1.DeploymentServiceClientImpl.CreateDeployment(CreateDeploymentRequest request, CallSettings callSettings) at Improbable.Gdk.DeploymentLauncher.Commands.Create.CreateDeploymentInternal[TOptions](TOptions options, Func`2 getLaunchConfigJson) in /Users/CMY/Downloads/gdk-for-unity/workers/unity/Packages/com.improbable.gdk.deploymentlauncher/.DeploymentLauncher/Commands/Create.cs:line 68 at Improbable.Gdk.DeploymentLauncher.Commands.Create.CreateSimulatedPlayerDeployment(CreateSimulated options) in /Users/CMY/Downloads/gdk-for-unity/workers/unity/Packages/com.improbable.gdk.deploymentlauncher/.DeploymentLauncher/Commands/Create.cs:line 24 at Improbable.Gdk.DeploymentLauncher.Program.<>c.<Main>b__2_0(CreateSimulated createOptions) in /Users/CMY/Downloads/gdk-for-unity/workers/unity/Packages/com.improbable.gdk.deploymentlauncher/.DeploymentLauncher/Program.cs:line 21 at Improbable.Gdk.DeploymentLauncher.Program.Main(String[] args) in /Users/CMY/Downloads/gdk-for-unity/workers/unity/Packages/com.improbable.gdk.deploymentlauncher/.DeploymentLauncher/Program.cs:line 17 UnityEngine.Debug:LogError(Object) Improbable.Gdk.DeploymentLauncher.DeploymentLauncherWindow:Update() (at /Users/CMY/Downloads/gdk-for-unity/workers/unity/Packages/com.improbable.gdk.deploymentlauncher/DeploymentLauncherWindow.cs:116) UnityEditor.EditorApplication:Internal_CallUpdateFunctions()
I reinstalled the donet runtime and update to 2.2.5 and the problem solved.
Think you should noice people the runtime version. As I use the 2.2.204 before.
System: macOS Mojave 10.14.5
Unity: 2018.3.11f1
Donet: Core 2.2 Runtime (v2.2.5)
I have finally got everything done, the game runs perfect. Just let you guys know the problem that I encountered during the setup 🙂
Affects: Release v0.1.4 and up
Building a worker in the FPS Starter Project for Linux throws errors when compiling the Hidden/PostProcessing/FinalPass
shader.
This error is harmless and the build still succeeds.
We are accepting issues and we want your feedback.
When attempting to open FPS-SimulatedPlayerCoordinator it will not open. The open option is grey. So I cannot rebake the navmesh.
I expected the ability to open the FPS-SimulatedPlayerCoordinator in the Hierarchy.
Hierarchy only contains an Untitled Scene. Dragging and Dropping, Double-Clicking, or Right-Click > Open does nothing for FPS-SimulatedPlayerCoordinator. It does not move to the Hierarchy.
Also Right-clicking Source_Shaders and selecting Reimport does appear to process but nothing happens. No icons change, and warnings go away. It doesn't appear to be having any effect.
Unknown
Setup the Unity FPS Starter
`C:\Users\SeeingBlue>spatial diagnose
Running basic diagnostics suite
Network Access Checks
Google Storage APIs Reachable: PASSED
Spatial Website Reachable: PASSED
Spatial Auth Server Reachable: PASSED
Spatial Maven Reachable: PASSED
Spatial API Reachable: PASSED
Spatial Secure Customer Proxy Reachable: PASSED
Can Bind to Local Port: PASSED
Spatial Proxy Reachable: PASSED
Spatial Website TLS and GRPCTLS Ports Reachable: PASSED
Spatial Auth TLS and GRPCTLS Ports Reachable: PASSED
Spatial Maven TLS and GRPCTLS Ports Reachable: PASSED
Spatial API TLS and GRPCTLS Ports Reachable: PASSED
Spatial Deployments Reachable: PASSED
Spatial Logs Reachable: PASSED
Spatial Monitoring Proxy Reachable: PASSED
Spatial Locator Reachable: PASSED
Maven Central Repo Reachable: PASSED
Sonatype OSS Repo Reachable: PASSED
All checks successful`
OS: 'Windows 10 (10.0.0) 64bit' Language: 'en' Physical Memory: 16229 MB
I updated both SpatialOS and Unity today. I was having the same issue with the previous versions too.
Previous Unity Version: 2018.2.14
Current Unity Version: 2018.2.16
I attached the editor.log too
Editor.log
We are accepting issues and we want your feedback.
Hi developers,
I am trying to run this demo, but failed.
In Get started: 2 - Open the FPS Starter Project, when I try to fix the second bug, I can not found FPS-Start_Large object in the Unity Hierarchy window. And I tried to add FPS-Start_Large object to the scene and bake it, it really take huge hours. Is there anything wrong?
Expect to find FPS-Start_Large in the Hierarchy window.
gdk-for-unity 0.1.1
gdk-for-unity-fps-starter-project 0.1.1
unity 2018.2.8f1
Workaround specified in the getting started guide throws an error.
The workaround would be correct.
When clicking Reimport in the context menu of Assets/Fps/Art/Materials/Source_Shaders:
Shader error in 'FPS/LowHealthVignette': failed to open source file: 'PostProcessing/Shaders/StdLib.hlsl' at line 8 (on metal)
Compiling Vertex program
Platform defines: UNITY_ENABLE_REFLECTION_BUFFERS UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BOX_PROJECTION UNITY_SPECCUBE_BLENDING UNITY_ENABLE_DETAIL_NORMALMAP SHADER_API_DESKTOP UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_LIGHTMAP_FULL_HDR
JohnMayer:gdk-for-unity-fps-starter-project johnmayer$ spatial diagnose
Visiting url: https://auth.improbable.io/auth/v1/authorize?client_id=improbable_cli_client_go&redirect_uri=http%3A%2F%2Flocalhost%3A12000%2Fauthcode&response_type=code&scope=%5B%2A%5D%3A%2A
Retrieved information for package type 'sdk-toolbelt' with name 'mac' and version '14.0-b6143-48ac8-WORKER-SNAPSHOT'
Transferred 17.7MiB/ 17.7MiB [====================] 100% [2.9MiB/s]
Successfully downloaded package type 'sdk-toolbelt' with name 'mac' and version '14.0-b6143-48ac8-WORKER-SNAPSHOT' to '/Users/johnmayer/.improbable/bin/plugins/sdk/14.0-b6143-48ac8-WORKER-SNAPSHOT/sdk'
Mono
[SUCCESS + WARNING]
- Installed at '/Library/Frameworks/Mono.framework/Versions/Current/Commands/mono'.
- Warning: Your installed Mono version (5.10.1) is more recent than the latest version SpatialOS is tested against (4.4.2). It should work fine, but you may find issues.
[WARNING]
Your installed Mono version (5.10.1) is more recent than the latest version SpatialOS is tested against (4.4.2). It should work fine, but you may find issues.
Network access
[SUCCESS]
- All checks passed
- Installed at '/usr/local/bin/spatial'.
Project's SpatialOS SDK
[SUCCESS]
- Found version 14.0-b6143-48ac8-WORKER-SNAPSHOT.
Spatial CLI SDK plugin
[SUCCESS]
- Installed at '/Users/johnmayer/.improbable/bin/plugins/sdk/14.0-b6143-48ac8-WORKER-SNAPSHOT/sdk'.
- Found version 14.0.
Spatial CLI tool
[SUCCESS]
- Installed at '/usr/local/bin/spatial'.
- Found version 20181011.94442.
Results
Found 1 warning(s) while running diagnostics.
'spatial diagnose' succeeded (11.2s)
OS - Mac 10.13.6
Unity - 2018.2.8f1
Affects: Release v0.1.4 and up
Internal Ticket: UTY-1648
The FPS Starter Project does not run on the iOS Simulator due to an incompatibility between the Metal Graphics API used by the project and the iOS Simulator.
Run the project on a physical device running iOS
I've read the new-movement
code roughly, nice work @mattyoung-improbable! and here's my naive feedback on it
CommandFrameSystem + client-prediction
would be better. i'll give some reasons why:
CharacterController
is actually part of phyiscs, such as doing RigidBody/projectile physics along with CharacterController movement, unity now can have multiple physics scenes & manully simulation step, it would be easy to fulfill gameplay based on physics if we extend the movement system. also the bug above is essentially making wrong assumption about how CharacterController
behave.PidController
is doing.We are accepting issues and we want your feedback.
Describe your issue.
Seems like it can find the correct reference. Am i missing something? I am following the tutorial directly.
Assets\Fps\Resources\Prefabs\UnityClient\HealthPickupClientVisibility.cs(26,65): error CS0234: The type or namespace name 'Update' does not exist in the namespace 'Fps.HealthPickup' (are you missing an assembly reference?)
Assets\Fps\Resources\Prefabs\UnityGameLogic\HealthPickupServerBehaviour.cs(9,17): error CS0103: The name 'WorkerUtils' does not exist in the current context
I expect the code to build.
Affects: Release v0.2.0 and up
Internal Ticket: UTY-1968
When quitting a standalone client, the process may hang (seemingly forever).
Force quit the application via the Task Manager or the Activity Monitor.
I run "spatial.exe worker build" successfully, but the binary not generated. Why? Dose this project on be compiled in Unity IDE?
executed below in gdk-for-unity-fps-starter-project root directory.
$ ../spatial.exe diagnose
Microsoft Visual C++ (MSVC) Redistributable
[SUCCESS]
- Found version 14.15.26706.
Network access
[SUCCESS]
- All checks passed
- Installed at 'D:\spatial\spatial.exe'.
Project's SpatialOS SDK
[SUCCESS]
- Found version 14.0-b6143-48ac8-WORKER-SNAPSHOT.
Spatial CLI SDK plugin
[SUCCESS]
- Installed at 'C:\Users\sywnff\AppData\Local\.improbable\bin\plugins\sdk\14.0-b6143-48ac8-WORKER-SNAPSHOT\sdk.exe'.
- Found version 14.0.
Spatial CLI tool
[SUCCESS]
- Installed at 'D:\spatial\spatial.exe'.
- Found version 20181024.91945.
Results
All diagnostic checks passed successfully.
'spatial diagnose' succeeded (23.8s)
$ ../spatial.exe worker build UnityGameLogic --log_level=debug
Looking for a 'spatial' configuration file at 'C:\Users\sywnff\AppData\Local\.improbable\spatial\config.pb.json'
Read 'spatial' configuration: use_new_command_structure:true enable_plugins:true .
Detected legacy project structure at D:\spatial\gdk-for-unity-fps-starter-project
Enabling plugins for supported SDK version '14.0-b6143-48ac8-WORKER-SNAPSHOT'
using local event logger
starting wrapper services endpoint
health-check message from wrapper service received
wrapper service started successfully in 7.0004ms after 1 attempt(s)
Importing the SDK plugin for project SDK version '14.0-b6143-48ac8-WORKER-SNAPSHOT'.
Retrieved the plugin commands from cache.
Adding new command: 'build'.
Adding new command: 'clean'.
Adding new command: 'codegen'.
Adding new command: 'diagnose'.
Adding new command: 'exec'.
Adding new command: 'file'.
Not changing existing command as imported command does not have an implementation: 'local'.
Not changing existing command as imported command does not have an implementation: 'worker'.
Adding new command: 'launch'.
Adding aliases to 'package' command: worker_package
Adding new command: 'clean'.
Adding new command: 'unpack'.
Adding new command: 'unpack-to'.
Adding new command: 'prepare-for-run'.
Not changing existing command as imported command does not have an implementation: 'project'.
Not changing existing command as imported command does not have an implementation: 'history'.
Not changing existing command as imported command does not have an implementation: 'snapshot'.
Adding new command: 'convert'.
Adding new command: 'schema'.
Adding new command: 'setup'.
Adding new command: 'worker'.
Executing command: [C:\Users\sywnff\AppData\Local\.improbable\bin\plugins\sdk\14.0-b6143-48ac8-WORKER-SNAPSHOT\sdk.exe worker build --wrapper_service_port 1443 -- UnityGameLogic].
Found project root at D:\spatial\gdk-for-unity-fps-starter-project
Running within a SpatialOS project, using the default input paths '[D:\spatial\gdk-for-unity-fps-starter-project\schema D:\spatial\gdk-for-unity-fps-starter-project\build\dependencies\schema\standard_library]'
Executing '[C:\Users\sywnff\AppData\Local\.improbable\bin\plugins\sdk\14.0-b6143-48ac8-WORKER-SNAPSHOT\sdk.exe worker build --wrapper_service_port 1443 -- UnityGameLogic]' in 'D:\spatial\gdk-for-unity-fps-starter-project'
checking cache location at 'C:\Users\sywnff\AppData\Local\.improbable\cache\worker_package\14.0-b6143-48ac8-WORKER-SNAPSHOT\schema\standard_library.zip'
package was found in the cache
Skipping extraction of [C:\Users\sywnff\AppData\Local\Temp\schema-extraction575020523\standard_library.zip] to D:\spatial\gdk-for-unity-fps-starter-project\build\dependencies\schema\standard_library. Nothing has changed.
Found version '14.0-b6143-48ac8-WORKER-SNAPSHOT' in project descriptor in directory D:\spatial\gdk-for-unity-fps-starter-project
Building worker assemblies.
Generating bridge settings for UnityGameLogic.
Generating managed worker configuration for UnityGameLogic.
Building schema descriptor.
Found version '14.0-b6143-48ac8-WORKER-SNAPSHOT' in project descriptor in directory D:\spatial\gdk-for-unity-fps-starter-project
checking cache location at 'C:\Users\sywnff\AppData\Local\.improbable\cache\worker_package\14.0-b6143-48ac8-WORKER-SNAPSHOT\tools\schema_compiler-x86_64-win32.zip'
package was found in the cache
checking cache location at 'C:\Users\sywnff\AppData\Local\.improbable\cache\worker_package\14.0-b6143-48ac8-WORKER-SNAPSHOT\tools\schema_compiler-x86_64-win32.zip'
package was found in the cache
C:\Users\sywnff\AppData\Local\Temp\improbable_extracted_packages\b2b9c4944218ccb443a5ca6c85202d46\schema_compiler.exe: No outputs specified, validating schema only.
No changes detected, skipping code generation.
Found version '14.0-b6143-48ac8-WORKER-SNAPSHOT' in project descriptor in directory D:\spatial\gdk-for-unity-fps-starter-project
Running task 'build' for 'UnityGameLogic'
[1/1] > build ** Run ci/build-gamelogic.sh instead **
In '', echo [No-op.]
No-op.
[1/1] < build ** Run ci/build-gamelogic.sh instead ** (30ms)
succeeded (30ms)
'spatial worker build' succeeded (0.1s)
event uploader is done
wrapper services endpoint shut down gracefully
$ ls build/assembly/
schema/ UnityGameLogic/
Windows7, X86_64
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.