Skip to content

specklesystems/speckle-unity

Repository files navigation


Speckle | Unity

Twitter Follow Community forum users website docs

Speckle is the first AEC data hub that connects with your favorite AEC tools. Speckle exists to overcome the challenges of working in a fragmented industry where communication, creative workflows, and the exchange of data are often hindered by siloed software and processes. It is here to make the industry better.

Speckle Connector for Unity

Warning

This is a legacy repo! A new next generation connector will be coming soon. In the meantime, check out our active next generation repos here 👇
speckle-sharp-connectors: our .NET next generation connectors and desktop UI
speckle-sharp-sdk: our .NET SDK, Tests, and Objects

Introduction

This repo holds Speckle's Unity Connector package + a sample project (Speckle playground).

The package offers several Unity Components to send and receive data from Speckle, and allows developers to easily develop their own components and features. It has a simple UI, and is missing some of the comforts present in other connectors. The connector uses our Speckle .NET SDK.

unity

Checkout our dedicated Tutorials and Docs.

If you are enjoying using Speckle, don't forget to ⭐ our GitHub repositories, and join our community forum where you can post any questions, suggestions, and discuss exciting projects!

Notice

We officially support Unity 2021.3 or newer.

Features:

  • Receive Speckle Objects at Editor or Runtime
  • Send Speckle Objects at Editor or Runtime
  • Material override/substitution
  • Automatic receiving changes

Currently tested on Windows, Linux, and MacOS.

Android will work with some signficant limitations, and other platforms likly work with similar limitations.

Sample Project

This repo holds a simple sample project (Speckle Playground), containing an example GUI (UnityUI) for fetching stream/branch data, and sending/receiving geometry to/from Speckle.

Simply download this repo or clone with git, and open in Unity 2021.3 or newer.

git clone https://github.com/specklesystems/speckle-unity.git

Installation (Package)

To install the connector into your own Unity project (rather than using the sample project), open the Package Manager (Windows -> Package Manager) and select Add Package from git URL. (requires git installed)

Paste in the following URL

https://github.com/specklesystems/speckle-unity.git?path=/Packages/systems.speckle.speckle-unity

We encourage everyone interested to hack / contribute / debug / give feedback to this project.

Requirements

  • Unity 2021 or greater
  • Have created an account on app.speckle.systems (or your own server)
  • Installed Speckle Manager (recommended, otherwise you'll need to implement your own authentication system in Unity)

Dependencies

All dependencies to Speckle Core have been included; compiled in systems.speckle.speckle-unity package.

Contributing

Please make sure you read the contribution guidelines for an overview of the best practices we try to follow.

License

Unless otherwise described, the code in this repository is licensed under the Apache-2.0 License. Please note that some modules, extensions or code herein might be otherwise licensed. This is indicated either in the root of the containing folder under a different license file, or in the respective file's header. If you have any questions, don't hesitate to get in touch with us via email.