Didimo provides a cloud-based automated service that enables the generation of digital humans from a simple selfie, we call these didimos.
Utilising this code library and tools, you can easily integrate digital humans into your existing software and enable your users to easily generate and load digital doubles of themselves directly into your experience, all at runtime.
All you need to get up and running after download is included in this README.
Following your decision to download this repo - our goal is to make it as easy and smooth as possible to get you building software. Your didimos can be imported into the project by simple drag-and-drop at edit time, or they can be loaded into the scene at runtime. No matter which approach you need, we've got you covered.
This SDK has been built to work with Unity 2020.3.x LTS (from Unity 2020.3.12 onwards).
-
This project MUST be placed at
Assets/Didimo
, in your Unity project. The didimos will not render if you don't do this. -
The Newtonsoft Json package is required. We recommend adding it this way:
2.1 Open the Package Manager
2.2 Click the
+
button, selectAdd package from git URL...
2.3 Enter
com.unity.nuget.newtonsoft-json
and press add. -
Install the package Universal RP through Unity's Package Manager and follow instructions in Configuration section
-
Restart Unity
-
Go to Project Settings → Graphics, and select
UniversalRP-HighQuality
as the render pipeline asset. -
Go to Project Settings → Quality, and select
UniversalRP-HighQuality
as the render pipeline asset, for your desired quality level. -
Go to Project Settings → Player → Other Settings → Rendering. Set the colour space to linear.
-
Create an empty
csc.rsp
file in theAssets
folder, with the following contents: to add the compression assemblies required when unzipping a didimo package:
-r:System.IO.Compression.dll
-r:System.IO.Compression.FileSystem.dll
-
Open the
MeetADidimo
scene. -
TextMeshPro will be automatically installed by Unity at this point if it wasn't already, by prompting you to Import TMP Essentials, which is required for the examples.
-
You should now be able to press play and see the included talking didimos. If you do not, then please regenerate didimos See Known Import Issues and Support for further assistance.
-
Its now possible to generate a new didimo via the didimo API directly from Unity. Simply Create an account Then see Generating a didimo.
This project contains a single folder, the Didimo
folder. Within it, there are the following modules:
- Core - Everything core to the SDK, including loading didimos where it handles animations, materials, speech, etc.
- Mobile - Add the ability of bi-directional communication between Unity and native Android or iOS applications.
- Networking - Allows for immediate interaction with the Didimo API.
- Oculus - Example integration with Oculus quest.
- submodules - Contains the GLTFUtility repository, that allows for loading gltf files.
Every module may contain an Examples
folder, where example assets and scenes of said module can be found. To reduce
clutter, any Examples
folder can be removed. Any module other than Core
and submodules
can also be deleted.
- Code Examples
- Set up tools / authentication
- Importing tools (edit/runtime)
- Cloud API Tools
- Integrations with other platforms such as AWS Polly and ARKit
- Animation tools
- Hair library and 'Fitting Service'
- Idle Animation Library
Be sure to check out the Digital Human Specifications, best practices and the SDK Guide on our Developer Portal.
-
If you wish to build for Oculus, install the package Oculus Integration
1.1 Add the
Oculus Integration
package to your account through Unity's Asset Store1.2 Download and install the
Oculus Integration
package, through Unity's Package Manager. It should be listedunder
Packages: My Assets
. Refresh the Package Manager if required1.3 Follow the instructions to update Oculus and restart Unity
You may be asked to update a number of Oculus related tools and restart Unity BEFORE the plugin will be installed. If
you restart - check to see if the plugin still needs to be installed. A successful install will result in an Oculus
folder in the Assets folder.
Didimo has tested this against version 32.0 which was published on the 30th August 2021.
-
If you wish to capture and record face movements using ARKit, install the package Live Capture from Unity.
2.1 Open Unity's Package Manager
2.2 Under the
+
button, selectAdd package from git URL...
2.3 Enter
[email protected]
and pressAdd
Additionally, you will need the companion app Unity Face Capture installed on an iPhone or iPad that supports ARKit face tracking.
Warning: This package is marked as preview and therefore the installation process may be subject to changes.
- We cannot control the order with which Unity imports assets. If the .glTF files of your didimos get imported before any of its dependencies, then the didimo will fail to import.
- If you open the
MeetADidimo
scene and don't see any didimos, go to Didimo → Didimo Manager, and click theReimport didimos
button. - The SDK folders
Core
,Networking
, etc., must be in/Assets/Didimo/
, otherwise the didimos will fail to render.
Further detail is explained in the Developer Portal - "Getting Started" docs related to software creation are:
Thank you for contributing and trying our product! For bug reports, use github's issue tracker.
For pull requests:
- Fork the repository to your GitHub account
- Clone the repository to your machine
- Create a new branch with a short descriptive name
- Commit your code changes
- Open a pull request, with a detailed description of your changes
- We will test your changes internally, and if everything goes well, we will include them in our next release
This SDK uses the Didimo Source Code License. Read our Privacy page for more information on our license and privacy policies.
Detailed documentation can be read on our Developer Portal and
- Feature Request: [email protected]
- Technical Support: [email protected]
- Service Uptime Checker: https://status.didimo.co/