Steps to Reproduce

follow the official document to deploy a Pixel streaming application

start the application with all the necessary param (including -AllowPixelStreamingCommands )

modify the app.js in the signalingwebServer to add the following codes in "kickbutton.onclick" event for test:

let descriptor =

{     ConsoleCommand: 'stat fps' }

;

emitCommand(descriptor);

then click the "kick button" when you succeeded connecting to the app in your browser.

 

expected: the running app show fps info in the viewport, but actually it doesn't. In its log it says

Warning: failed to run command = {"ConsoleCommand": "stat fps"}

 

Debug: after reading the source codes it looks like there is a typo error in \Engine\Plugins\Media\PixelStreaming\Source\PixelStreaming\Private\PixelStreamerInputComponent.cpp  line23

UPixelStreamerInputComponent::OnCommand(const FString& Descriptor)

{

FString ConsoleCommand; bool bSuccess = false;

GetJsonStringValue(Descriptor, TEXT("ConsoleCommand"), ConsoleCommand, bSuccess);

if (!bSuccess) // looks like here should have NO "!"

{ return GEngine->Exec(GetWorld(), *ConsoleCommand); }

...

 

it is also reported by UDN 

https://udn.unrealengine.com/s/case/5002L00001ArUHxQAN/allowpixelstreamingcommands-for-pixel-streaming-doesnt-work

https://udn.unrealengine.com/s/question/0D52L000050YpaaSAC/pixel-streaming-%E7%A4%BA%E4%BE%8B-demo-%E8%B0%83%E7%94%A8-emitcommand-%E6%96%B9%E6%B3%95%E4%BC%9A%E5%BC%95%E5%8F%91-crash?fromCase=1

 

NOTE: It can be workaround by users to define some customized UIInteraction.

 

Have Comments or More Details?

There's no existing public thread on this issue, so head over to AnswerHub just mention UE-104359 in the post.

6
Login to Vote

Duplicate
ComponentPixelStreaming
Affects Versions4.244.254.26
Target Fix4.27
CreatedDec 10, 2020
ResolvedMay 31, 2021
UpdatedMay 31, 2021