Commit ef6f7643 authored by Yousef Sameh's avatar Yousef Sameh

Supabase Core and deps

parent 6245cea9
fileFormatVersion: 2
guid: 996afd14b5b302ebab699f20d8741f3b
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 623b7215dadc6132bbb51732065ee9b2
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using Supabase.Gotrue;
using Supabase.Gotrue.Interfaces;
using UnityEngine;
public class SessionListener : MonoBehaviour
{
// Public Unity References
[SerializeField] private SupabaseManager SupabaseManager;
public void UnityAuthListener(IGotrueClient<User, Session> sender, Constants.AuthState newState)
{
switch (newState)
{
case Constants.AuthState.SignedIn:
Debug.Log("Signed In");
break;
case Constants.AuthState.SignedOut:
Debug.Log("Signed Out");
break;
case Constants.AuthState.UserUpdated:
Debug.Log("Signed In");
break;
case Constants.AuthState.PasswordRecovery:
Debug.Log("Password Recovery");
break;
case Constants.AuthState.TokenRefreshed:
Debug.Log("Token Refreshed");
break;
case Constants.AuthState.Shutdown:
Debug.Log("Shutdown");
break;
default:
Debug.Log("Unknown Auth State Update");
break;
}
}
}
fileFormatVersion: 2
guid: 14bbed8449713f51db869aa6dba9c6fa
\ No newline at end of file
using Cysharp.Threading.Tasks;
using UnityEngine;
public class SupabaseAuthentication : MonoBehaviour
{
[SerializeField] private SupabaseManager supabaseManager;
public bool IsLoading { private set; get; }
public async UniTask LogIn(string username, string password)
{
IsLoading = true;
await supabaseManager.Supabase()!.Auth.SignIn(username, password);
IsLoading = false;
}
public async UniTask SignUp(string username, string password)
{
IsLoading = true;
await supabaseManager.Supabase()!.Auth.SignUp(username, password);
IsLoading = false;
}
public async UniTask LogOut()
{
IsLoading = true;
await supabaseManager.Supabase()!.Auth.SignOut();
IsLoading = false;
}
}
fileFormatVersion: 2
guid: 740bc2dc1ba97be68adb58313f40de23
\ No newline at end of file
using System;
using Supabase;
using Supabase.Gotrue;
using TMPro;
using UnityEngine;
using Client = Supabase.Client;
public class SupabaseManager : MonoBehaviour
{
// Public Unity references
// public SessionListener SessionListener = null!;
public TMP_Text ErrorText = null!;
// Public in case other components are interested in network status
private readonly NetworkStatus _networkStatus = new();
// Internals
private Client? _client;
public Client? Supabase() => _client;
private async void Start()
{
SupabaseOptions options = new();
// We set an option to refresh the token automatically using a background thread.
options.AutoRefreshToken = true;
// We start setting up the client here
Client client = new(SupabaseSettings.SupabaseURL, SupabaseSettings.SupabaseAnonKey, options);
// The first thing we do is attach the debug listener
client.Auth.AddDebugListener(DebugListener!);
// Next we set up the network status listener and tell it to turn the client online/offline
_networkStatus.Client = (Supabase.Gotrue.Client)client.Auth;
// Next we set up the session persistence - without this the client will forget the session
// each time the app is restarted
client.Auth.SetPersistence(new UnitySession());
// This will be called whenever the session changes
// client.Auth.AddStateChangedListener(SessionListener.UnityAuthListener);
// Fetch the session from the persistence layer
// If there is a valid/unexpired session available this counts as a user log in
// and will send an event to the UnityAuthListener above.
client.Auth.LoadSession();
// Allow unconfirmed user sessions. If you turn this on you will have to complete the
// email verification flow before you can use the session.
client.Auth.Options.AllowUnconfirmedUserSessions = true;
// We check the network status to see if we are online or offline using a request to fetch
// the server settings from our project. Here's how we build that URL.
string url = $"{SupabaseSettings.SupabaseURL}/auth/v1/settings?apikey={SupabaseSettings.SupabaseAnonKey}";
try
{
// This will get the current network status
client.Auth.Online = await _networkStatus.StartAsync(url);
}
catch (NotSupportedException)
{
// Some platforms don't support network status checks, so we just assume we are online
client.Auth.Online = true;
}
catch (Exception e)
{
// Something else went wrong, so we assume we are offline
ErrorText.text = e.Message;
Debug.Log(e.Message, gameObject);
Debug.LogException(e, gameObject);
client.Auth.Online = false;
}
if (client.Auth.Online)
{
// Now we start up the client, which will in turn start up the background thread.
// This will attempt to refresh the session token, which in turn may send a second
// user login event to the UnityAuthListener.
await client.InitializeAsync();
// Here we fetch the server settings and log them to the console
Settings serverConfiguration = (await client.Auth.Settings())!;
Debug.Log($"Auto-confirm emails on this server: {serverConfiguration.MailerAutoConfirm}");
}
_client = client;
}
private void DebugListener(string message, Exception e)
{
ErrorText.text = message;
Debug.Log(message, gameObject);
// ReSharper disable once ConditionIsAlwaysTrueOrFalseAccordingToNullableAPIContract
if (e != null)
Debug.LogException(e, gameObject);
}
// This is called when Unity shuts down. You want to be sure to include this so that the
// background thread is terminated cleanly. Keep in mind that if you are running the app
// in the Unity Editor, if you don't call this method you will leak the background thread!
private void OnApplicationQuit()
{
if (_client != null)
{
_client?.Auth.Shutdown();
_client = null;
}
}
}
fileFormatVersion: 2
guid: 5baed90edb7a40852b66a41622c93859
\ No newline at end of file
public static class SupabaseSettings
{
public static string SupabaseURL = null!;
public static string SupabaseAnonKey = null!;
}
fileFormatVersion: 2
guid: 0364ef9f807fbc07bbc42b20cff5273f
\ No newline at end of file
using System;
using System.IO;
using Newtonsoft.Json;
using Supabase.Gotrue;
using Supabase.Gotrue.Interfaces;
using UnityEngine;
/// <summary>
/// This is a simple implementation of IGotrueSessionPersistence that uses Unity's
/// Application.persistentDataPath to store the session.
///
/// This implementation works on iOS, Android, as well as desktop platforms and the Unity Editor.
///
/// Because this implementation uses the .NET System.IO packages, it will work even if SaveSession is called
/// by the refresh background thread.
///
/// Don't use the Unity PlayerPrefs to store the session - you can only use PlayerPrefs from the main UI thread,
/// and this will break the refresh background thread.
/// </summary>
public class UnitySession : IGotrueSessionPersistence<Session>
{
private static string FilePath()
{
const string cacheFileName = "gotrue.cache";
string filePath = Path.Join(Application.persistentDataPath, cacheFileName);
return filePath;
}
public void SaveSession(Session? session)
{
if (session == null)
{
DestroySession();
return;
}
try
{
string filePath = FilePath();
string str = JsonConvert.SerializeObject(session);
using StreamWriter file = new(filePath);
file.Write(str);
file.Dispose();
}
catch (Exception e)
{
Debug.Log(e.Message);
Debug.LogException(e);
throw;
}
}
public void DestroySession()
{
string filePath = FilePath();
if (File.Exists(filePath))
{
File.Delete(filePath);
}
}
public Session? LoadSession()
{
string filePath = FilePath();
if (!File.Exists(filePath)) return null;
using StreamReader file = new(filePath);
string sessionJson = file.ReadToEnd();
if (string.IsNullOrEmpty(sessionJson))
{
return null;
}
try
{
return JsonConvert.DeserializeObject<Session>(sessionJson);
}
catch (Exception e)
{
Debug.Log(e.Message);
Debug.LogException(e);
return null;
}
}
}
fileFormatVersion: 2
guid: 06498db0501b10262914e17ff10464f7
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" enableCredentialProvider="false" />
</packageSources>
<disabledPackageSources />
<activePackageSource>
<add key="All" value="(Aggregate source)" />
</activePackageSource>
<config>
<add key="packageInstallLocation" value="CustomWithinAssets" />
<add key="repositoryPath" value="./Packages" />
<add key="PackagesConfigDirectoryPath" value="." />
<add key="slimRestore" value="true" />
<add key="PreferNetStandardOverNetFramework" value="true" />
</config>
</configuration>
\ No newline at end of file
fileFormatVersion: 2
guid: 37d6774daddcd18aa923476d0342b243
\ No newline at end of file
fileFormatVersion: 2
guid: cd6ddfe46c309f4f3a21bdb1d3b3f4f9
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: ccddc399a862677fbbc80f88718b6bda
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
The MIT License (MIT)
Copyright (c) .NET Foundation and Contributors
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
fileFormatVersion: 2
guid: 9a4775feeceb9b82781452b0bbd0bace
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
<metadata minClientVersion="2.12">
<id>Microsoft.Bcl.AsyncInterfaces</id>
<version>1.1.0</version>
<title>Microsoft.Bcl.AsyncInterfaces</title>
<authors>Microsoft</authors>
<owners>microsoft,dotnetframework</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<license type="expression">MIT</license>
<licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
<projectUrl>https://github.com/dotnet/corefx</projectUrl>
<iconUrl>http://go.microsoft.com/fwlink/?LinkID=288859</iconUrl>
<description>Provides the IAsyncEnumerable&lt;T&gt; and IAsyncDisposable interfaces and helper types for .NET Standard 2.0. This package is not required starting with .NET Standard 2.1 and .NET Core 3.0.
Commonly Used Types:
System.IAsyncDisposable
System.Collections.Generic.IAsyncEnumerable
System.Collections.Generic.IAsyncEnumerator
When using NuGet 3.x this package requires at least version 3.4.</description>
<releaseNotes>https://go.microsoft.com/fwlink/?LinkID=799421</releaseNotes>
<copyright>© Microsoft Corporation. All rights reserved.</copyright>
<serviceable>true</serviceable>
<dependencies>
<group targetFramework=".NETFramework4.6.1">
<dependency id="System.Threading.Tasks.Extensions" version="4.5.2" />
</group>
<group targetFramework=".NETCoreApp2.1" />
<group targetFramework=".NETStandard2.0">
<dependency id="System.Threading.Tasks.Extensions" version="4.5.2" />
</group>
<group targetFramework=".NETStandard2.1">
<dependency id="System.Threading.Tasks.Extensions" version="4.5.2" />
</group>
</dependencies>
<frameworkAssemblies>
<frameworkAssembly assemblyName="mscorlib" targetFramework=".NETFramework4.6.1" />
</frameworkAssemblies>
</metadata>
</package>
\ No newline at end of file
fileFormatVersion: 2
guid: bbedd08bab847ad50b11dac7b4d0fd8c
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: deae1fe111394797e9d204d68a0c5cd5
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 0d2cb12df6cef14938f3688940a58e08
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: b8509ec8decfef7e6b9b92e4d82f3dc8
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 1cb72d842affbd8568d183b56fbcc684
labels:
- NuGetForUnity
PluginImporter:
externalObjects: {}
serializedVersion: 3
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
Any:
enabled: 1
settings: {}
Editor:
enabled: 0
settings:
DefaultValueInitialized: true
WindowsStoreApps:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.Bcl.AsyncInterfaces</name>
</assembly>
<members>
</members>
</doc>
fileFormatVersion: 2
guid: 94dbbb393766a141b9d955f8c34c841a
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: f7fe2fccbe103c11096f78d7889b43e0
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 62626e55829b32c5a83f65e1171f505b
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 1e626b1d60f2d109ca65c793b46a863a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 217125cc7d95e9fecbea07d3b6ed4913
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
The MIT License (MIT)
Copyright (c) .NET Foundation and Contributors
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
fileFormatVersion: 2
guid: d8e59dd5789c08d93aa8f56db806d388
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
<metadata>
<id>Microsoft.Extensions.DependencyInjection.Abstractions</id>
<version>8.0.0</version>
<authors>Microsoft</authors>
<license type="expression">MIT</license>
<licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
<icon>Icon.png</icon>
<readme>PACKAGE.md</readme>
<projectUrl>https://dot.net/</projectUrl>
<description>Abstractions for dependency injection.
Commonly Used Types:
Microsoft.Extensions.DependencyInjection.IServiceCollection</description>
<releaseNotes>https://go.microsoft.com/fwlink/?LinkID=799421</releaseNotes>
<copyright>© Microsoft Corporation. All rights reserved.</copyright>
<serviceable>true</serviceable>
<repository type="git" url="https://github.com/dotnet/runtime" commit="5535e31a712343a63f5d7d796cd874e563e5ac14" />
<dependencies>
<group targetFramework=".NETFramework4.6.2">
<dependency id="Microsoft.Bcl.AsyncInterfaces" version="8.0.0" exclude="Build,Analyzers" />
<dependency id="System.Threading.Tasks.Extensions" version="4.5.4" exclude="Build,Analyzers" />
</group>
<group targetFramework="net6.0" />
<group targetFramework="net7.0" />
<group targetFramework="net8.0" />
<group targetFramework=".NETStandard2.0">
<dependency id="Microsoft.Bcl.AsyncInterfaces" version="8.0.0" exclude="Build,Analyzers" />
<dependency id="System.Threading.Tasks.Extensions" version="4.5.4" exclude="Build,Analyzers" />
</group>
<group targetFramework=".NETStandard2.1" />
</dependencies>
</metadata>
</package>
\ No newline at end of file
fileFormatVersion: 2
guid: 73a678f11b450d48a9ad6fea7beccadc
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
## About
Supports the lower-level abstractions for the dependency injection (DI) software design pattern which is a technique for achieving Inversion of Control (IoC) between classes and their dependencies.
## Key Features
- Interfaces for DI implementations which are provided in other packages including `Microsoft.Extensions.DependencyInjection`.
- An implementation of a service collection, which is used to add services to and later retrieve them either directly or through constructor injection.
- Interfaces, attributes and extensions methods to support various DI concepts including specifying a service's lifetime and supporting keyed services.
## How to Use
This package is typically used with an implementation of the DI abstractions, such as `Microsoft.Extensions.DependencyInjection`.
## Main Types
The main types provided by this library are:
* `Microsoft.Extensions.DependencyInjection.ActivatorUtilities`
* `Microsoft.Extensions.DependencyInjection.IServiceCollection`
* `Microsoft.Extensions.DependencyInjection.ServiceCollection`
* `Microsoft.Extensions.DependencyInjection.ServiceCollectionDescriptorExtensions`
* `Microsoft.Extensions.DependencyInjection.ServiceDescriptor`
* `Microsoft.Extensions.DependencyInjection.IServiceProviderFactory<TContainerBuilder>`
## Additional Documentation
* [Conceptual documentation](https://learn.microsoft.com/dotnet/core/extensions/dependency-injection)
* API documentation
- [ActivatorUtilities](https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection.defaultserviceproviderfactory)
- [ServiceCollection](https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection.servicecollection)
- [ServiceDescriptor](https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection.servicedescriptor)
## Related Packages
- `Microsoft.Extensions.DependencyInjection`
- `Microsoft.Extensions.Hosting`
- `Microsoft.Extensions.Options`
## Feedback & Contributing
Microsoft.Extensions.DependencyInjection.Abstractions is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime).
fileFormatVersion: 2
guid: 7e3de59e1a76d2fe4905517f7b1e76c5
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 730c9b34e87bd27cf8ec1ea9dbee8e9f
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 9ed1983c18f759ab98191816c093d378
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 75a10dc0b3508ad1e92d8c07290735e1
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
<Project InitialTargets="NETStandardCompatError_Microsoft_Extensions_DependencyInjection_Abstractions_net462">
<Target Name="NETStandardCompatError_Microsoft_Extensions_DependencyInjection_Abstractions_net462"
Condition="'$(SuppressTfmSupportBuildWarnings)' == ''">
<Warning Text="Microsoft.Extensions.DependencyInjection.Abstractions 8.0.0 doesn't support $(TargetFramework) and has not been tested with it. Consider upgrading your TargetFramework to net462 or later. You may also set &lt;SuppressTfmSupportBuildWarnings&gt;true&lt;/SuppressTfmSupportBuildWarnings&gt; in the project file to ignore this warning and attempt to run in this unsupported configuration at your own risk." />
</Target>
</Project>
fileFormatVersion: 2
guid: da3ddd2901d910fcc88f969f350db3c7
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 2c427000fc0dd23ceb9f23573860927d
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 099013ee137173340adee21a8dafcae3
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 41907b85ca312c3a99fa1557111e27c2
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 222bd6cc077818f7eb4c2578c27c39c3
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: e3e9ecd90f0370eeabe616ffddc796d5
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
<Project InitialTargets="NETStandardCompatError_Microsoft_Extensions_DependencyInjection_Abstractions_net6_0">
<Target Name="NETStandardCompatError_Microsoft_Extensions_DependencyInjection_Abstractions_net6_0"
Condition="'$(SuppressTfmSupportBuildWarnings)' == ''">
<Warning Text="Microsoft.Extensions.DependencyInjection.Abstractions 8.0.0 doesn't support $(TargetFramework) and has not been tested with it. Consider upgrading your TargetFramework to net6.0 or later. You may also set &lt;SuppressTfmSupportBuildWarnings&gt;true&lt;/SuppressTfmSupportBuildWarnings&gt; in the project file to ignore this warning and attempt to run in this unsupported configuration at your own risk." />
</Target>
</Project>
fileFormatVersion: 2
guid: 0262fb4b7f008e36e86a807962fa1918
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: cc5b22d6e590f6071aa44d8c692b42f5
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: b60e0d726383dff2aa8f0154cd24adf3
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 4fe29af9fb98359579df64b91c087667
labels:
- NuGetForUnity
PluginImporter:
externalObjects: {}
serializedVersion: 3
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
Any:
enabled: 1
settings: {}
Editor:
enabled: 0
settings:
DefaultValueInitialized: true
WindowsStoreApps:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 77edf60a4b5a4b5609440b9cfe4bb938
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: fc13dd47d1966eed8b553ea4f97c0c4f
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 183ce096c31ed44889c2554d275fb562
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 407c08793cc1836cb800288a54f66007
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
The MIT License (MIT)
Copyright (c) .NET Foundation and Contributors
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
fileFormatVersion: 2
guid: b60ce25b59ada6e6db46e5999043b72d
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
<metadata>
<id>Microsoft.Extensions.Logging.Abstractions</id>
<version>8.0.0</version>
<authors>Microsoft</authors>
<license type="expression">MIT</license>
<licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
<icon>Icon.png</icon>
<readme>PACKAGE.md</readme>
<projectUrl>https://dot.net/</projectUrl>
<description>Logging abstractions for Microsoft.Extensions.Logging.
Commonly Used Types:
Microsoft.Extensions.Logging.ILogger
Microsoft.Extensions.Logging.ILoggerFactory
Microsoft.Extensions.Logging.ILogger&lt;TCategoryName&gt;
Microsoft.Extensions.Logging.LogLevel
Microsoft.Extensions.Logging.Logger&lt;T&gt;
Microsoft.Extensions.Logging.LoggerMessage
Microsoft.Extensions.Logging.Abstractions.NullLogger</description>
<releaseNotes>https://go.microsoft.com/fwlink/?LinkID=799421</releaseNotes>
<copyright>© Microsoft Corporation. All rights reserved.</copyright>
<serviceable>true</serviceable>
<repository type="git" url="https://github.com/dotnet/runtime" commit="5535e31a712343a63f5d7d796cd874e563e5ac14" />
<dependencies>
<group targetFramework=".NETFramework4.6.2">
<dependency id="Microsoft.Extensions.DependencyInjection.Abstractions" version="8.0.0" exclude="Build,Analyzers" />
<dependency id="System.Buffers" version="4.5.1" exclude="Build,Analyzers" />
<dependency id="System.Memory" version="4.5.5" exclude="Build,Analyzers" />
</group>
<group targetFramework="net6.0">
<dependency id="Microsoft.Extensions.DependencyInjection.Abstractions" version="8.0.0" exclude="Build,Analyzers" />
</group>
<group targetFramework="net7.0">
<dependency id="Microsoft.Extensions.DependencyInjection.Abstractions" version="8.0.0" exclude="Build,Analyzers" />
</group>
<group targetFramework="net8.0">
<dependency id="Microsoft.Extensions.DependencyInjection.Abstractions" version="8.0.0" exclude="Build,Analyzers" />
</group>
<group targetFramework=".NETStandard2.0">
<dependency id="Microsoft.Extensions.DependencyInjection.Abstractions" version="8.0.0" exclude="Build,Analyzers" />
<dependency id="System.Buffers" version="4.5.1" exclude="Build,Analyzers" />
<dependency id="System.Memory" version="4.5.5" exclude="Build,Analyzers" />
</group>
</dependencies>
</metadata>
</package>
\ No newline at end of file
fileFormatVersion: 2
guid: 5bb95911065531923b7a203466802d84
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
## About
<!-- A description of the package and where one can find more documentation -->
`Microsoft.Extensions.Logging.Abstractions` provides abstractions of logging. Interfaces defined in this package are implemented by classes in [Microsoft.Extensions.Logging](https://www.nuget.org/packages/Microsoft.Extensions.Logging/) and other logging packages.
This package includes a logging source generator that produces highly efficient and optimized code for logging message methods.
## Key Features
<!-- The key features of this package -->
* Define main logging abstraction interfaces like ILogger, ILoggerFactory, ILoggerProvider, etc.
## How to Use
<!-- A compelling example on how to use this package with code, as well as any specific guidelines for when to use the package -->
#### Custom logger provider implementation example
```C#
using Microsoft.Extensions.Logging;
public sealed class ColorConsoleLogger : ILogger
{
private readonly string _name;
private readonly Func<ColorConsoleLoggerConfiguration> _getCurrentConfig;
public ColorConsoleLogger(
string name,
Func<ColorConsoleLoggerConfiguration> getCurrentConfig) =>
(_name, _getCurrentConfig) = (name, getCurrentConfig);
public IDisposable? BeginScope<TState>(TState state) where TState : notnull => default!;
public bool IsEnabled(LogLevel logLevel) =>
_getCurrentConfig().LogLevelToColorMap.ContainsKey(logLevel);
public void Log<TState>(
LogLevel logLevel,
EventId eventId,
TState state,
Exception? exception,
Func<TState, Exception?, string> formatter)
{
if (!IsEnabled(logLevel))
{
return;
}
ColorConsoleLoggerConfiguration config = _getCurrentConfig();
if (config.EventId == 0 || config.EventId == eventId.Id)
{
ConsoleColor originalColor = Console.ForegroundColor;
Console.ForegroundColor = config.LogLevelToColorMap[logLevel];
Console.WriteLine($"[{eventId.Id,2}: {logLevel,-12}]");
Console.ForegroundColor = originalColor;
Console.Write($" {_name} - ");
Console.ForegroundColor = config.LogLevelToColorMap[logLevel];
Console.Write($"{formatter(state, exception)}");
Console.ForegroundColor = originalColor;
Console.WriteLine();
}
}
}
```
#### Create logs
```csharp
// Worker class that uses logger implementation of teh interface ILogger<T>
public sealed class Worker : BackgroundService
{
private readonly ILogger<Worker> _logger;
public Worker(ILogger<Worker> logger) =>
_logger = logger;
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
while (!stoppingToken.IsCancellationRequested)
{
_logger.LogInformation("Worker running at: {time}", DateTimeOffset.UtcNow);
await Task.Delay(1_000, stoppingToken);
}
}
}
```
#### Use source generator
```csharp
public static partial class Log
{
[LoggerMessage(
EventId = 0,
Level = LogLevel.Critical,
Message = "Could not open socket to `{hostName}`")]
public static partial void CouldNotOpenSocket(this ILogger logger, string hostName);
}
public partial class InstanceLoggingExample
{
private readonly ILogger _logger;
public InstanceLoggingExample(ILogger logger)
{
_logger = logger;
}
[LoggerMessage(
EventId = 0,
Level = LogLevel.Critical,
Message = "Could not open socket to `{hostName}`")]
public partial void CouldNotOpenSocket(string hostName);
}
```
## Main Types
<!-- The main types provided in this library -->
The main types provided by this library are:
* `Microsoft.Extensions.Logging.ILogger`
* `Microsoft.Extensions.Logging.ILoggerProvider`
* `Microsoft.Extensions.Logging.ILoggerFactory`
* `Microsoft.Extensions.Logging.ILogger<TCategoryName>`
* `Microsoft.Extensions.Logging.LogLevel`
* `Microsoft.Extensions.Logging.Logger<T>`
* `Microsoft.Extensions.Logging.LoggerMessage`
* `Microsoft.Extensions.Logging.Abstractions.NullLogger`
## Additional Documentation
<!-- Links to further documentation. Remove conceptual documentation if not available for the library. -->
* [Conceptual documentation](https://learn.microsoft.com/dotnet/core/extensions/logging)
* [API documentation](https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging)
## Related Packages
<!-- The related packages associated with this package -->
[Microsoft.Extensions.Logging](https://www.nuget.org/packages/Microsoft.Extensions.Logging)
[Microsoft.Extensions.Logging.Console](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Console)
[Microsoft.Extensions.Logging.Debug](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Debug)
[Microsoft.Extensions.Logging.EventSource](https://www.nuget.org/packages/Microsoft.Extensions.Logging.EventSource)
[Microsoft.Extensions.Logging.EventLog](https://www.nuget.org/packages/Microsoft.Extensions.Logging.EventLog)
[Microsoft.Extensions.Logging.TraceSource](https://www.nuget.org/packages/Microsoft.Extensions.Logging.TraceSource)
## Feedback & Contributing
<!-- How to provide feedback on this package and contribute to it -->
Microsoft.Extensions.Logging.Abstractions is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime).
\ No newline at end of file
fileFormatVersion: 2
guid: afa7725fb698c2642a7834014bc2a08c
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 5ef64360999d17422a631082a50d7f1b
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 3f8265934ea69f2df8ba3bfaeeb2ab65
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: a70832ed01f7497cebf5d45f22fff227
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: d418dc0bbb405c4d2b50eeb420535364
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 0631e2a924c323663a66acd5d35d8b2b
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: f4f2796485b5d5f31b213106daf2602f
labels:
- NuGetForUnity
PluginImporter:
externalObjects: {}
serializedVersion: 3
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
Any:
enabled: 0
settings:
'Exclude ': 0
Exclude Android: 0
Exclude CloudRendering: 0
Exclude EmbeddedLinux: 0
Exclude GameCoreScarlett: 0
Exclude GameCoreXboxOne: 0
Exclude Kepler: 0
Exclude Linux64: 0
Exclude OSXUniversal: 0
Exclude PS4: 0
Exclude PS5: 0
Exclude QNX: 0
Exclude Switch: 0
Exclude Switch2: 0
Exclude VisionOS: 0
Exclude WebGL: 0
Exclude Win: 0
Exclude Win64: 0
Exclude WindowsStoreApps: 0
Exclude XboxOne: 0
Exclude iOS: 0
Exclude tvOS: 0
Editor:
enabled: 0
settings:
DefaultValueInitialized: true
WindowsStoreApps:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 91567e85b6290cfae860131a86e3455d
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 67648f6b809c00d109fba24330069f04
labels:
- NuGetForUnity
PluginImporter:
externalObjects: {}
serializedVersion: 3
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
Any:
enabled: 0
settings:
'Exclude ': 0
Exclude Android: 0
Exclude CloudRendering: 0
Exclude EmbeddedLinux: 0
Exclude GameCoreScarlett: 0
Exclude GameCoreXboxOne: 0
Exclude Kepler: 0
Exclude Linux64: 0
Exclude OSXUniversal: 0
Exclude PS4: 0
Exclude PS5: 0
Exclude QNX: 0
Exclude Switch: 0
Exclude Switch2: 0
Exclude VisionOS: 0
Exclude WebGL: 0
Exclude Win: 0
Exclude Win64: 0
Exclude WindowsStoreApps: 0
Exclude XboxOne: 0
Exclude iOS: 0
Exclude tvOS: 0
Editor:
enabled: 0
settings:
DefaultValueInitialized: true
WindowsStoreApps:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: c9556443592951f289e72ae4776f0d5c
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 4e1bc33cc221e304d80f73d12ded61f5
labels:
- NuGetForUnity
PluginImporter:
externalObjects: {}
serializedVersion: 3
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
Any:
enabled: 0
settings:
'Exclude ': 0
Exclude Android: 0
Exclude CloudRendering: 0
Exclude EmbeddedLinux: 0
Exclude GameCoreScarlett: 0
Exclude GameCoreXboxOne: 0
Exclude Kepler: 0
Exclude Linux64: 0
Exclude OSXUniversal: 0
Exclude PS4: 0
Exclude PS5: 0
Exclude QNX: 0
Exclude Switch: 0
Exclude Switch2: 0
Exclude VisionOS: 0
Exclude WebGL: 0
Exclude Win: 0
Exclude Win64: 0
Exclude WindowsStoreApps: 0
Exclude XboxOne: 0
Exclude iOS: 0
Exclude tvOS: 0
Editor:
enabled: 0
settings:
DefaultValueInitialized: true
WindowsStoreApps:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 547f3897b252c99cd811b8b6022b2828
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: ae44dd4e720904ccb95f67ff76b42f86
labels:
- NuGetForUnity
PluginImporter:
externalObjects: {}
serializedVersion: 3
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
Any:
enabled: 0
settings:
'Exclude ': 0
Exclude Android: 0
Exclude CloudRendering: 0
Exclude EmbeddedLinux: 0
Exclude GameCoreScarlett: 0
Exclude GameCoreXboxOne: 0
Exclude Kepler: 0
Exclude Linux64: 0
Exclude OSXUniversal: 0
Exclude PS4: 0
Exclude PS5: 0
Exclude QNX: 0
Exclude Switch: 0
Exclude Switch2: 0
Exclude VisionOS: 0
Exclude WebGL: 0
Exclude Win: 0
Exclude Win64: 0
Exclude WindowsStoreApps: 0
Exclude XboxOne: 0
Exclude iOS: 0
Exclude tvOS: 0
Editor:
enabled: 0
settings:
DefaultValueInitialized: true
WindowsStoreApps:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 788a60668cdcf0eafbb2996e8fdeacc1
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 67c3bdf48c9da6f9989d580bc074b6bf
labels:
- NuGetForUnity
PluginImporter:
externalObjects: {}
serializedVersion: 3
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
Any:
enabled: 0
settings:
'Exclude ': 0
Exclude Android: 0
Exclude CloudRendering: 0
Exclude EmbeddedLinux: 0
Exclude GameCoreScarlett: 0
Exclude GameCoreXboxOne: 0
Exclude Kepler: 0
Exclude Linux64: 0
Exclude OSXUniversal: 0
Exclude PS4: 0
Exclude PS5: 0
Exclude QNX: 0
Exclude Switch: 0
Exclude Switch2: 0
Exclude VisionOS: 0
Exclude WebGL: 0
Exclude Win: 0
Exclude Win64: 0
Exclude WindowsStoreApps: 0
Exclude XboxOne: 0
Exclude iOS: 0
Exclude tvOS: 0
Editor:
enabled: 0
settings:
DefaultValueInitialized: true
WindowsStoreApps:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: b9ce5cd627cd8a4afb21d7a3bd16f8b9
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 507ec69d61bf5cb3bbefff9e66bde990
labels:
- NuGetForUnity
PluginImporter:
externalObjects: {}
serializedVersion: 3
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
Any:
enabled: 0
settings:
'Exclude ': 0
Exclude Android: 0
Exclude CloudRendering: 0
Exclude EmbeddedLinux: 0
Exclude GameCoreScarlett: 0
Exclude GameCoreXboxOne: 0
Exclude Kepler: 0
Exclude Linux64: 0
Exclude OSXUniversal: 0
Exclude PS4: 0
Exclude PS5: 0
Exclude QNX: 0
Exclude Switch: 0
Exclude Switch2: 0
Exclude VisionOS: 0
Exclude WebGL: 0
Exclude Win: 0
Exclude Win64: 0
Exclude WindowsStoreApps: 0
Exclude XboxOne: 0
Exclude iOS: 0
Exclude tvOS: 0
Editor:
enabled: 0
settings:
DefaultValueInitialized: true
WindowsStoreApps:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: f914477bc210d73ae9d3565bf758fda4
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment