Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

UnitySDK

From Resonite Wiki
This software is in BETA. While functional, it is still undergoing heavy development. It is missing features and will have bugs.

This is an official Resonite project. Report issues with it on GitHub

Example picture of a Unity Scene having been transferred to Resonite

The Resonite Unity SDK is a tool designed to make it possible to use the Unity Editor to create Resonite items, avatars, and worlds and transfer them into Resonite directly rather than requiring exporting packages.

It uses ResoniteLink as the interface between the Unity SDK and Resonite's DataModel. This method allows scenes to be either imported with a press of a button or real-time as edits happen, allowing in world users to see the results.

This SDK relies on conversion scripts to translate Unity assets into Resonite native assets, because of this things like direct importing of custom shaders and other unity assets is unsupported. See 'Limitations'

Installation and Setup

The Resonite Unity SDK requires Unity 2022 or newer and a project in the Built In Rendering Pipeline.

For install guide see: https://learn.unity.com/tutorial/install-the-unity-hub-and-editor

Installing the Resonite Unity SDK package is as simple as dropping the ResoniteSDK.unitypackage file into the Assets pane in your project and choosing to import all files from the package.

To update the Resonite Unity SDK, you must manually delete the ResoniteSDK folder from your project first!

Usage

Sending a scene from Unity is as simple as connecting to a Resonite session with ResoniteLink enabled, and pressing the Send Current Scene button.

Sending an avatar requires attaching a BipedAvatarDescriptor to your avatar’s root GameObject. At this point most avatars should automatically have the references be filled in and placed in the correct locations, but it is very important to ensure that the head and hand references in the scene are correctly positioned on your avatar’s head and hands. They are visible in the scene as a yellow orb for the head, and blue and red hands for the left and right hand respectively. After configuring the BipedAvatarDescriptor, pressing the Send Current Scene button will send the avatar into Resonite, ready to be equipped.

An avatar with the BipedAvatarDescriptor component attached and references in the correct location.
An example of a correctly configured avatar.

Materials will only be sent to Resonite if they are a supported material. Currently only Standard and Unlit materials are supported. You may convert an object to use these by selecting all of the object’s materials and selecting either from the material editor dropdown.

Limitations

The SDK requires specifically made converters for Unity components and shaders, so not all components or shaders will translate correctly at present. You may contribute to creating these converters on the Github repository.

While ResoniteLink supports bidirectional traffic, this SDK doesn't support this mode for the moment. Once implemented, it will allow multiple people with the editor open to collaborate along with people in world. It also won't support transferring of meshes out of the game until implementation of Hard Permissions

Contributing

While being an official project, one of the goals for this SDK is to encourage community members to improve the importation and conversion, as such contributions towards workflow and conversion as well as other aspects are very welcome. See here for more details.

Tutorials

This tutorial does not represent the currently released version of the SDK, the Avatar Setup Wizard will be included in 0.0.8.

Development

Frooxius documented the development of the SDK on his YouTube channel, it serves as a good overview.

The reference/test world below: https://go.resonite.com/record/U-Frooxius/R-019cdecf-e13a-7c9e-9dc0-eea0fe2f8108

Frooxius' relationship with Unity