Skip to content

Rokoko/rokoko-studio-live-unreal-engine

Repository files navigation

Rokoko Studio Live Plugin for Unreal Engine

Rokoko Studio is a powerful and intuitive software for recording, visualizing and exporting motion capture.

This plugin let's you stream animation data from Rokoko Studio into Unreal Engine to preview and work with all your motion capture data easily and intuitively.

Requirements

  • Unreal Engine 5.x
  • Rokoko Studio or Rokoko Studio Legacy (starting from 1.19.0b)
  • The plugin supports both Windows, Mac and Linux

Features

  • Live stream data:
    • Up to 3 actors that can all include both body, face (52 blendshapes) and finger data at the same time.
    • Custom character data
  • Control Rokoko Studio from within Unreal Engine

Latest Release

Latest release requires Unreal Engine 5.4 and Rokoko Studio or Rokoko Studio Legacy (starting from 1.19.0b). To get access to the latest streaming features you need Rokoko Studio 2.4.5 or higher.

https://github.com/Rokoko/rokoko-studio-live-unreal-engine/releases/tag/v1.12.3-UE5.4

Table of Contents

Installation

Warning

Be advised that if you already have the plugin installed via the Unreal Engine marketplace. It is recommended that you uninstall it in the marketplace before trying to open this specific project, such that the marketplace version will not interfere with this one.

Ensure that the special Plugins folder is created in your Unreal Engine project. Download the Smartsuit.zip from the respected release and unzip it into the Plugins folder. After copying the folder you may need to restart Unreal Engine, and ensure that Show Pluging Content is toggled ON in the settings of your Content Browser.

The latest release offers Windows and MacOS support.

To take full advantage of the plugin, ensure that the official LiveLink plugin is installed as well.

Building Manually

Note that this repository is an Unreal Engine project with a custom plugin, as thus you are expected to have Unreal Engine installed. Once you have Unreal Engine installed, simply clone this project and open it in Unreal Engine.

To build the plugin run the Package command from inside the Plugin window: image

Should any compile errors arise, or any SDKs be missing, you must deal with them before retrying the Package command. If Packaging, without any local changes to the plugin, results in any compile errors related to the plugin please consider reporting it as an issue.

The latest version of the project supports Windows, Linux and MacOS support.

Important

Distribution of the plugin is reserved for Rokoko and is therefore not discussed on this page.

LZ4

For compression we use LZ4 and the latest version includes binaries build from the official 1.9.4 version.

Usage

Inside the Plugins folder of the Unreal Engine project you will find the Smartsuit folder which is the root of the actual plugin.

The plugin provides you with a Rokoko Studio Source livelink source, and once such a source has been instantiated you can stream from Rokoko Studio.

In Game Usage

It is possible to animate a character in your packaged game. The most important step is to enable the UDP messaging plugin before packaging.

First make sure it is enabled.

UDP-Plugin

Then apply the settings shown below:

UDP-Messaging

Bare in mind that 0.0.0.0 binds to the default network interface on Windows and to all network interfaces (including your LAN IP) on Linux and Mac! Make sure you are on a trusted network!

Alternatively consult the settings from Unreal Engine docs for a configuration that suits your needs!

Important

If you notice that the Unreal Engine settings do not persist across restarts, add the below to your project's Config/DefaultEngine.ini

[/Script/UdpMessaging.UdpMessagingSettings]
EnabledByDefault=True
EnableTransport=True
bAutoRepair=True
MaxSendRate=1.000000
AutoRepairAttemptLimit=10
WorkQueueSize=1024
ReliableQueuePriority=75.000000
bStopServiceWhenAppDeactivates=True
UnicastEndpoint=0.0.0.0
MulticastEndpoint=230.0.0.1:6666
MessageFormat=CborPlatformEndianness
MulticastTimeToLive=1
bShareKnownNodesWithActiveConnections=False
MaxConcurrentDeserializationTasks=8
ConnectionTimeoutPeriod=5.000000
EnableTunnel=False
TunnelUnicastEndpoint=
TunnelMulticastEndpoint=

To generate this config yourself simply click the export button shown below

export_udp_settings

and copy paste the contents of the file in the DefaultEngine.ini . Then restart your engine to confirm these settings persist.

Package your game and before you run it make sure Unreal Engine is closed otherwise neither the Editor nor your Game may have the working streamed animation.

Important

  • Make sure the name of the actor and the skeletal mesh match as in your editor.
  • If you want a more dynamic way to stream actors with different names, you'll need to add the programming yourself
  • When in doubt use the plugin widget to verify that the connection is working via the RokokoUIController
  • If you create a shipping build you may need to start your Game with ALLOW_UDP_MESSAGING_SHIPPING=1 set.

Expected results

It's suggested that at your first try you use the RokokoUIController so you may understand better the reason in case things are not working. Check the images below for some working and non-working scenarios.

Not connected / Not streaming from Rokoko Studio

not_streaming

Connected but actor name does not match

wrong_actor_name

Streaming is working

working_stream

Contributing

To contribute please create a pull request with a meaningful title, description and ping us at support@rokoko.com and/or in the official Rokoko Discord server.

Issues

For any issues please write to support@rokoko.com and considered added a Github issue for others to see in GitHub Issues.

License

Copyright (c) Rokoko Electronics ApS. All rights reserved.

Licensed under the GNU GPLv3 License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors