GithubHelp home page GithubHelp logo

hengle / unitynuget Goto Github PK

View Code? Open in Web Editor NEW

This project forked from xoofx/unitynuget

0.0 1.0 0.0 297 KB

Provides a service to install NuGet packages into a Unity project via the Unity Package Manager

License: BSD 2-Clause "Simplified" License

C# 98.96% Dockerfile 1.04%

unitynuget's Introduction

UnityNuGet Build Status

This project provides a seamlessly integration of a curated list of NuGet packages within the Unity Package Manager.

DISCLAIMER: This is not an official service provided by Unity Technologies Inc.

In order to use this service you simply need to edit the Packages/manifest.json in your project and add the following scoped registry:

{
  "scopedRegistries": [
    {
      "name": "Unity NuGet",
      "url": "https://unitynuget-registry.azurewebsites.net",
      "scopes": [
        "org.nuget"
      ]
    }
  ],
  "dependencies": {
     "org.nuget.scriban":  "2.1.0"
  }
}

When opening the Package Manager Window, you should see a few packages coming from NuGet (with the postfix text (NuGet))

UnityEditorWithNuGet

Adding a package to the registry

This service provides only a curated list of NuGet packages

Your NuGet package needs to respect a few constraints in order to be listed in the curated list:

  • It must have non-preview versions (e.g 1.0.0 but not 1.0.0-preview.1)
  • It must provide .NETStandard2.0 assemblies as part of its package

You can send a PR to this repository to modify the registry.json file (don't forget to maintain the alphabetical order)

I recommend also to specify the lowest version of your package that has support for .NETStandard2.0 upward so that other packages depending on your package have a chance to work with.

Beware that all transitive dependencies of the package must be explicitly listed in the registry as well.

NOTE: We reserve the right to decline a package to be available through this service

Compatibility

Only compatible with Unity 2019.1 and potentially with newer version.

NOTE: This service is currently only tested with Unity 2019.1

It may not work with a more recent version of Unity

FAQ

Where is hosted this service?

On Azure through my own Azure credits coming from my MVP subscription, enjoy!

Why can't you add all NuGet packages?

The reason is that many NuGet packages are not compatible with Unity, or do not provide .NETStandard2.0 assemblies or are not relevant for being used within Unity.

Also currently the Package Manager doesn't provide a way to filter easily packages, so the UI is currently not adequate to list lots of packages.

Why does it require .NETStandard2.0?

Since 2019.1, Unity is now compatible with .NETStandard2.0 and it is the .NET profile that is preferred to be used

Having a .NETStandard2.0 for NuGet packages for Unity can ensure that the experience to add a package to your project is consistent and well supported.

How this service is working?

This project implements a simplified compatible NPM server in C# using ASP.NET Core and converts NuGet packages to Unity packages before serving them.

Every 10min, packages are updated from NuGet so that if a new version is published, from the curated list of NuGet packages, it will be available through this service.

Once converted, these packages are cached on the disk on the server.

License

This software is released under the BSD-Clause 2 license.

Author

Alexandre Mutel aka xoofx

unitynuget's People

Contributors

dmdemoura avatar giacomelli avatar keijiro avatar starikcetin avatar xoofx avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.