Commit Graph

26 Commits

Author SHA1 Message Date
jeremie roy
8ec7b97714 LiveLinkHub - Add subject remapper support
Subject remappers allow you to remap bone and transform data that comes through a livelink subject.
This should remove the need for anim blueprints that use a remap asset.

#jira UE-212760 UE-220002
#rb jason.walter geoffrey.douglas

[CL 35140140 by jeremie roy in ue5-main branch]
2024-07-29 11:06:40 -04:00
zach brockway
7221b9c9b4 LiveLinkHub: When running as editor target, set project file to get desired config hierarchy.
Also fixes a mismatched INI property name.

#rb jason.walter, jeremie.roy

[CL 34876759 by zach brockway in ue5-main branch]
2024-07-17 14:09:32 -04:00
zach brockway
e89689ed5d LiveLinkHub: Follow-up fixes to CL 34680018 / CL 34681546.
Fixes a GenerateProjectFiles warning, and properly re-enables vendor plugins in the existing LiveLinkhub target.

#jira UE-214748
#rb jeremie.roy

[CL 34718035 by zach brockway in ue5-main branch]
2024-06-27 14:44:40 -04:00
zach brockway
ef9e807bf5 LiveLink Hub: Remove uses of WITH_LIVELINK_HUB preprocessor definition.
Several behaviors in common LiveLink code that were intended to be specific to LiveLink Hub were previously controlled by the WITH_LIVELINK_HUB preprocessor definition, which precluded sharing a build environment with the rest of the editor.

This CL replaces those preprocessor conditionals with appropriate config directives that are overridden in `Programs/LiveLinkHub/Config/DefaultEngine.ini`.

#jira UE-214787
#rb jason.walter, jeremie.roy

[CL 34681560 by zach brockway in ue5-main branch]
2024-06-26 13:22:44 -04:00
zach brockway
891e3deb08 LiveLink Hub: Editor target + staging.
Adds support for building a version of LiveLink Hub configured as TargetType.Editor, and support for staging it with a custom subclass of MakeCookedEditor.

By sharing a build environment with the UnrealEditor target, we will be able to create a standalone distribution of LiveLink Hub that is ABI-compatible with plugins built and packaged from the standard UE distribution. This achieves our goal of supporting dynamically loaded third-party vendor plugins.

This also reduces build and iteration times by sharing modules with UE, and once it replaces the monolithic program target, will reduce the size of the LiveLinkHub executable in the UE distribution from ~237 MB to ~1 MB.

Example staging invocation: `RunUAT MakeLiveLinkHubEditor -project=Engine\Source\Programs\LiveLinkHubEditor\LiveLinkHubEditor.uproject -build -skipcook -stage [-nodebuginfo]`.

(This CL additionally introduces support for staging the existing program target with `RunUAT BuildCookRun -project=Engine\Programs\LiveLinkHub\LiveLinkHub.uproject -build -skipcook -stage [-nodebuginfo]`; however, it requires one additional change to further restrict `OptedInModulePlatforms` in LiveLinkHub.Target.cs, currently commented out due to uncertain impact to existing build automation.)

#jira UE-214748
#rb jason.walter, jeremie.roy

[CL 34680043 by zach brockway in ue5-main branch]
2024-06-26 12:38:45 -04:00
yoan stamant
e6d36d7569 Remove references to deprecated plugin StructUtils (now part of CoreUObject)
#jira UE-216472
#rb devin.doucette

#changelist validated

[CL 34514179 by yoan stamant in ue5-main branch]
2024-06-19 17:04:50 -04:00
jeremie roy
a8d0abc8e3 LiveLinkHub - Convert LiveLinkHubClient to use LiveLinkClient's base methods
This change allows us to use the LiveLinkClient directly rather than copying the CreateSource method. The playback source factory will provide a custom ILiveLinkSource that acts as a stub.

#rb Geoffrey.Douglas
#jira UE-218372

[CL 34511843 by jeremie roy in ue5-main branch]
2024-06-19 15:59:10 -04:00
jeremie roy
36599ab771 LiveLinkHub - Experimental - Add option to tick LiveLinkHub's client outside of the game thread.
This allows the hub to process virtual subjects without being affected by hitches on the game or render thread. This change should also eventually allow us to re-use more  of the base LiveLinkClient rather than LiveLinkHubClient.

#rb jason.walter
#jira UE-217693

[CL 34476482 by jeremie roy in ue5-main branch]
2024-06-18 16:19:10 -04:00
jeremie roy
4cab3e0273 LiveLinkHub - Add livelink hub subject settings
These settings will be used to replace the subject session data and subject proxies in a subsequent CL.

#jira UE-216586
#rb jason.walter

[CL 34127359 by jeremie roy in ue5-main branch]
2024-06-05 12:02:44 -04:00
jeremie roy
1ba814e410 LiveLinkHub - Add settings to the hub. These can be accessed by the settings combo button on the top right of the app.
#rb jason.walter
#jira UE-211011

[CL 33667446 by jeremie roy in ue5-main branch]
2024-05-15 15:50:55 -04:00
jeremie roy
227b91dbd0 LiveLinkHub - Enable Rokoko plugin
#jira UE-209916
#rb jason.walter

[CL 32424788 by jeremie roy in ue5-main branch]
2024-03-21 21:36:31 -04:00
jeremie roy
3c9effe99f LiveLinkHub - Enable PoseAI, Mocopi and vicon third party plugins
#rb Alejandro.Arango
#jira UE-209916

[CL 32283017 by jeremie roy in ue5-main branch]
2024-03-15 16:07:24 -04:00
jeremie roy
f1402ec1cf LiveLinkHub - Disable third party plugins
#rb Alejandro.Arango

[CL 32235256 by jeremie roy in ue5-main branch]
2024-03-13 20:26:50 -04:00
jeremie roy
fc1e4693ea Resubmit backed out change with modifications - CL32075832
-----------------------------------------------------------------
LiveLinkHub - Stage Vicon plugin if present

Stage missing vicon dependencies in livelinkhub
Fix Optitrack plugin not working in UEFN distribution because of wrong path in LLH's staging config.

#rb Geoffrey.Douglas
#jira UE-208674

[CL 32105664 by jeremie roy in ue5-main branch]
2024-03-07 18:28:46 -05:00
jeremie roy
52201e03e4 LiveLinkHub - Fix recordings not being found when launched through a cooked editor
Added a mount point to the user content folder and added EnabledDataSources to the defaulteditor config to enable asset discovery.

#rb Geoffrey.Douglas
#jira UE-208135

[CL 32103101 by jeremie roy in ue5-main branch]
2024-03-07 17:22:43 -05:00
justin peterson
418a4dea43 [Backout] - CL32073620 - CIS UE Error
[FYI] jeremie.roy
Original CL Desc
-----------------------------------------------------------------
LiveLinkHub - Allow copying Vicon binaries outside of NotForLicensees when compiling LiveLinkHub

Note: This is currently controlled through bLegalToDistributeBinary
Stage missing vicon dependencies in livelinkhub
Fix Optitrack plugin not working in UEFN distribution because of wrong path in LLH's staging config.

#rb Geoffrey.Douglas
#jira UE-208674

[CL 32076544 by justin peterson in ue5-main branch]
2024-03-06 20:50:37 -05:00
jeremie roy
01c44b1cc8 LiveLinkHub - Allow copying Vicon binaries outside of NotForLicensees when compiling LiveLinkHub
Note: This is currently controlled through bLegalToDistributeBinary
Stage missing vicon dependencies in livelinkhub
Fix Optitrack plugin not working in UEFN distribution because of wrong path in LLH's staging config.

#rb Geoffrey.Douglas
#jira UE-208674

[CL 32073850 by jeremie roy in ue5-main branch]
2024-03-06 19:11:51 -05:00
jeremie roy
9711818383 LiveLinkHub - Fix missing content from staged UEFN distribution
- Add an option to build third party livelink plugins, can be controlled through -set:WithLiveLinkHub3rdPartyPlugins=true / false
- Allow LiveLink logs in shipping (Off by default unless bAllowLogsInShipping is enabled)
- Stage LLH's defaultengine and editor setting config, which ensures the app's output log has the right font. This also fixes LiveLinkHub mistakenly ending up in the message bus sources.
- Add missing dependencies needed for some of the plugins (ie. LiveLinkLens, LiveLinkCamera...)

#rb jason.walter
#jira UE-208134 UE-208138

[CL 31936757 by jeremie roy in ue5-main branch]
2024-03-01 00:27:39 -05:00
jeremie roy
00d2959286 AppleARKit - By default, prevent ARKit from starting its listener.
- You can override this to revert to the previous behavior by specifying -EnableLiveLinkFaceTracking on the command line.
- Modify ARKit module to not bind to its port by default unless specified by the command line
- Move ARKit server binding to its source instead of the module

This fixes an issue where starting two editors would make it impossible for one of them to use the ARKit livelink plugin since only one could bind to the ARKit port.
Moving it to the livelink source allows the user to pick which UE instance should bind the port.

#jira UE-205785
#rb jason.walter

[CL 31820784 by jeremie roy in ue5-main branch]
2024-02-26 18:09:46 -05:00
jeremie roy
2d95736912 Edigrate 31716113
LiveLinkHub - Update cookededitor staging to include livelinkhub's executable and dependencies

Since LiveLinkHub can't read cooked content, we need to stage its dependencies separately.
In order to minimize the impact of LiveLinkHub's dependencies, the assets/plugins loaded by LiveLinkHub were audited so that we only stage the content we need, which currently sits at around 30 MB. This is in addition to the livelinkhub executable which sits at 242 MB.

LiveLinkHub's staging step can be enabled by adding the -set:WithLiveLinkHub=true  flag in the horde job parameters.

More work will be done in subsequent releases to reduce LLH's executable size. We also want to allow LLH to read from cookededitor's pak file to reduce potential data duplication.

#jira UE-204936
#rb jason.walter, josh.adams

[CL 31721140 by jeremie roy in ue5-main branch]
2024-02-22 10:10:06 -05:00
jeremie roy
0f61160044 Move LiveLinkHub to its own experimental plugin
#jira UE-204917
#rb jason.walter

[CL 31130022 by jeremie roy in ue5-main branch]
2024-02-02 12:30:23 -05:00
jeremie roy
da9d328d59 LiveLink Hub
Change LiveLinkHub to use the card layout
Fix crash caused by null structdetailsview
Fix output log tab not being spawned when layout is restored
Clean up UI


#rb jason.walter
#jira UE-203919

[CL 30803792 by jeremie roy in ue5-main branch]
2024-01-23 09:56:28 -05:00
jason walter
fcfb29a3b0 Fix horde issue 416438 move LiveLinkInputDevice to optional plugin.
[CL 30658128 by jason walter in ue5-main branch]
2024-01-17 09:55:34 -05:00
jason walter
d804e8a213 Add support for a Live Link Input Device. Currently it only supports game pad devices on Win64 (mostly XInputInterface.cpp). The LiveLink device establishes a thread to poll device data and send over live link.
#jira UE-199982
#rb jeremie.roy

[CL 30643102 by jason walter in ue5-main branch]
2024-01-16 15:33:07 -05:00
jeremie roy
65c4f12936 Add livelinkhub to program allowlists
Add optional plugin dependencies to LiveLinkHub

#rb jason.walter

[CL 29786779 by jeremie roy in ue5-main branch]
2023-11-16 14:54:30 -05:00