From b63c316232e6cb76190ca32a6af8801276042133 Mon Sep 17 00:00:00 2001 From: Ivan Derianto <32887298+ivder@users.noreply.github.com> Date: Tue, 24 May 2022 12:22:53 +0200 Subject: [PATCH 1/5] UNU-786 Added Xbox to unity.md --- unity.md | 178 +++++++++++++++++++++++++++---------------------------- 1 file changed, 89 insertions(+), 89 deletions(-) diff --git a/unity.md b/unity.md index 373db65..819ccbf 100644 --- a/unity.md +++ b/unity.md @@ -4,7 +4,7 @@ ## 1. Introduction -NexPlayer™ plugin for Unity is a multiscreen video streaming player for Unity games and apps that supports both standard and 360º video playback across all Android, iOS, Windows, macOS, WebGL, and Nintendo Switch platform. NexPlayer for Unity is the only video player plugin that supports Widevine DRM-protected HLS & DASH streaming on all Android & iOS devices. +NexPlayer™ plugin for Unity is a multiscreen video streaming player for Unity games and apps that supports both standard and 360º video playback across all Android, iOS, Windows, macOS, WebGL, Nintendo Switch, and Xbox Seriex X/S platform. NexPlayer for Unity is the only video player plugin that supports Widevine DRM-protected HLS & DASH streaming on all Android & iOS devices. The NexPlayer™ plugin for Unity was developed in collaboration with the native NexPlayer™ SDK, and it has access to all of its features, e.g. Intelligent ABR, HTTP live streaming (HLS), DASH, progressive download, local playback, 360º video, and more. @@ -118,15 +118,15 @@ Use Case selection: * **MaterialOverride_Sample:** Video player using a Material Override component to display the video through a rotating cube.         -* **MultipleRenderers_Sample:** Video player using different objects that share the Material renderer to display the same video multiple times. *Not supported on Windows.* +* **MultipleRenderers_Sample:** Video player using different objects that share the Material renderer to display the same video multiple times. *Not supported on Windows and Xbox Seriex X/S.* * **ChangeRenderMode_Sample:** Video player that changes the render mode to display a video in all the supported renderers. Displays one render mode at the same time.         * **360_Sample:** Video player using a Material Override component in a sphere to display the video in 360º. -* **Multistream\_RawImage\_Sample:** Video player using different links and Raw Images to play multiple videos at the same time. Not supported on Windows. +* **Multistream\_RawImage\_Sample:** Video player using different links and Raw Images to play multiple videos at the same time. Not supported on Windows and Xbox Seriex X/S. -* **Multistream\_RenderTexture\_Sample:** Video player using different links and Render Textures to play multiple videos at the same time. Not supported on Windows. +* **Multistream\_RenderTexture\_Sample:** Video player using different links and Render Textures to play multiple videos at the same time. Not supported on Windows and Xbox Seriex X/S. ## 2.3. NexPlayer Flow Diagram @@ -138,7 +138,7 @@ In order to start using the NexPlayer™ Plugin for Unity SDK, it is good to hav The NexPlayer™ Plugin for Unity is compatible with all Long Term Support (LTS) Unity versions: 2020,2019, and 2018. It is also compatible with Unity Versions 2021.2.Xand 2021.1.X. -NexPlayer™ Plugin for Unity gives support for building for Android, iOS, Windows and macOS, WebGL and Nintendo Switch. +NexPlayer™ Plugin for Unity gives support for building for Android, iOS, Windows and macOS, WebGL, Nintendo Switch, and Xbox Seriex X/S. ## 3.1. System Requirements @@ -188,90 +188,90 @@ The NexPlayer™ Plugin for Unity has the following requirements for the differe | Oculus Quest 2 | ✔ | | | Google Cardboard | ✔ | ✔ | -| Video Delivery Formats | Android | iOS | Mac | Windows | WebGL | Nintendo Switch | +| Video Delivery Formats | Android | iOS | Mac | Windows | WebGL | Nintendo Switch | Xbox Seriex X/S | +| --- | --- | --- | --- | --- | --- | --- | --- | +| HLS | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| DASH | ✔ | ✔ | | ✔ | ✔ | ✔ | ✔ | +| Progressive Download | ✔ | ✔ | ✔ | ✔ | ✔ | | ✔ | +| Local Playback | ✔ | ✔ | ✔ | ✔ | | | ✔ | + +| Video Container Formats | Android | iOS | Mac | Windows | WebGL | Xbox Seriex X/S | | --- | --- | --- | --- | --- | --- | --- | -| HLS | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| DASH | ✔ | ✔ | | ✔ | ✔ | ✔ | -| Progressive Download | ✔ | ✔ | ✔ | ✔ | ✔ | | -| Local Playback | ✔ | ✔ | ✔ | ✔ | | | - -| Video Container Formats | Android | iOS | Mac | Windows | WebGL | -| --- | --- | --- | --- | --- | --- | -| MP4 | ✔ | ✔ | ✔ | ✔ | ✔ | -| AVI | | | | ✔ | | -| MKV | ✔ | | | ✔ | | - -| Video Codecs | Android | iOS | Mac | Windows | WebGL | -| --- | --- | --- | --- | --- | --- | -| H.264 / AVC | ✔ | ✔ | ✔ | ✔ | ✔ * | -| H.265 / HEVC | ✔ | ✔ | ✔ | | ✔ * | -| MPEG-4 | ✔ | ✔ | ✔ | ✔ | ✔ * | -\* *Depends on the System* +| MP4 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| AVI | | | | ✔ | | ✔ | +| MKV | ✔ | | | ✔ | | ✔ | -| Audio Codecs | Android | iOS | Mac | Windows | WebGL | -| --- | --- | --- | --- | --- | --- | -| AAC-LC | ✔ | ✔ | ✔ | ✔ | ✔ * | -| HE-AAC | ✔ | ✔ | | | ✔ * | -| HE-AACv2 | ✔ | ✔ | ✔ | | ✔ * | +| Video Codecs | Android | iOS | Mac | Windows | WebGL | Xbox Seriex X/S | +| --- | --- | --- | --- | --- | --- | --- | +| H.264 / AVC | ✔ | ✔ | ✔ | ✔ | ✔ * | ✔ | +| H.265 / HEVC | ✔ | ✔ | ✔ | | ✔ * | | +| MPEG-4 | ✔ | ✔ | ✔ | ✔ | ✔ * | ✔ | \* *Depends on the System* -| Subtitle Formats | Android | iOS | Mac | Windows | WebGL | Nintendo Switch | +| Audio Codecs | Android | iOS | Mac | Windows | WebGL | Xbox Seriex X/S | | --- | --- | --- | --- | --- | --- | --- | -| WebVTT | ✔ | ✔ | ✔ | ✔ | | ✔ | - -| Content Protection | Android | iOS | Mac | Windows | WebGL | -| --- | --- | --- | --- | --- | --- | -| Widevine | ✔ | ✔ | | | | -| AES-128 | ✔ | ✔ | | | | +| AAC-LC | ✔ | ✔ | ✔ | ✔ | ✔ * | ✔ | +| HE-AAC | ✔ | ✔ | | | ✔ * | | +| HE-AACv2 | ✔ | ✔ | ✔ | | ✔ * | | +\* *Depends on the System* -| Rendering Modes | Android | iOS | Mac | Windows | WebGL | Nintendo Switch | -| --- | --- | --- | --- | --- | --- | --- | -| RawImage
(Unity UI) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| RenderTexture
(Unity Asset) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| Material Override | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| Subtitle Formats | Android | iOS | Mac | Windows | WebGL | Nintendo Switch | Xbox Seriex X/S | +| --- | --- | --- | --- | --- | --- | --- | --- | +| WebVTT | ✔ | ✔ | ✔ | ✔ | | ✔ | ✔ | -| Playback Controls | Android | iOS | Mac | Windows | WebGL | Nintendo Switch | +| Content Protection | Android | iOS | Mac | Windows | WebGL | Xbox Seriex X/S | | --- | --- | --- | --- | --- | --- | --- | -| Start | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| Play/Pause | ✔ | ✔ | ✔ | ✔ |✔ | ✔ | -| Resume | ✔ | ✔ | ✔ | ✔ |✔| ✔ | -| Stop | ✔ | ✔ | ✔ | ✔ | ✔| ✔ | -| Close | ✔ | ✔ | ✔ | ✔ | ✔| ✔ | -| Seek | ✔ | ✔ | ✔ | ✔ |✔ | ✔ | -| AutoPlay | ✔ | ✔ | ✔ | ✔ |✔ | ✔ | -| Loop | ✔ | ✔ | ✔ | ✔ | | | -| Maximize Screen | ✔ | ✔ |✔ | ✔ | ✔| | -| Change Aspect Ratio | ✔ | ✔ | | | | | -| Run in Background | ✔ | ✔ | ✔ | ✔ | | | -| Volume Control | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| Mute Volume | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| Change Subtitle Track | ✔ | ✔ | | | | | -| Change Audio Track | ✔ | ✔ | | | | | - -| Advanced Features | Android | iOS | Mac | Windows | WebGL | -| --- | --- | --- | --- | --- | --- | -| 360 Media Playback | ✔ | ✔ | ✔ | ✔ | ✔ | -| Stereoscopic 360 Media Playback | ✔ | ✔ | | ✔ | | -| Video with Transparency (Chroma Shader) | ✔ | ✔ | ✔ | ✔ | ✔ | -| Video Spread (World Space Shader) | ✔ | ✔ | ✔ | ✔ | ✔ | -| Play Video on multiple objects | ✔ | ✔ | ✔ | ✔ | | -| HTTP Headers | ✔ | ✔ | | | | -| Advanced ABR Controls | ✔ | ✔ | | | | -| Offline Playback | ✔ | | | | | -| ID3 Metadata | ✔ | ✔ | | ✔ | | -| Custom ID3 Tags | ✔ | ✔ | | ✔ | | -| Multiple Streams (Up to 5) | ✔ | ✔ | ✔ | | | -| Synchronized Multiple Streams | ✔ | ✔ | | | | - -| Graphics APIs | Android | iOS | Mac | Windows | WebGL | Nintendo Switch | +| Widevine | ✔ | ✔ | | | | | +| AES-128 | ✔ | ✔ | | | | | + +| Rendering Modes | Android | iOS | Mac | Windows | WebGL | Nintendo Switch | Xbox Seriex X/S | +| --- | --- | --- | --- | --- | --- | --- | --- | +| RawImage
(Unity UI) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| RenderTexture
(Unity Asset) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| Material Override | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | + +| Playback Controls | Android | iOS | Mac | Windows | WebGL | Nintendo Switch | Xbox Seriex X/S | +| --- | --- | --- | --- | --- | --- | --- | --- | +| Start | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| Play/Pause | ✔ | ✔ | ✔ | ✔ |✔ | ✔ | ✔ | +| Resume | ✔ | ✔ | ✔ | ✔ |✔| ✔ | ✔ | +| Stop | ✔ | ✔ | ✔ | ✔ | ✔| ✔ | ✔ | +| Close | ✔ | ✔ | ✔ | ✔ | ✔| ✔ | ✔ | +| Seek | ✔ | ✔ | ✔ | ✔ |✔ | ✔ | ✔ | +| AutoPlay | ✔ | ✔ | ✔ | ✔ |✔ | ✔ | ✔ | +| Loop | ✔ | ✔ | ✔ | ✔ | | | ✔ | +| Maximize Screen | ✔ | ✔ |✔ | ✔ | ✔| | ✔ | +| Change Aspect Ratio | ✔ | ✔ | | | | | | +| Run in Background | ✔ | ✔ | ✔ | ✔ | | | ✔ | +| Volume Control | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| Mute Volume | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| Change Subtitle Track | ✔ | ✔ | | | | | | +| Change Audio Track | ✔ | ✔ | | | | | | + +| Advanced Features | Android | iOS | Mac | Windows | WebGL | Xbox Seriex X/S | | --- | --- | --- | --- | --- | --- | --- | -| Metal | | ✔ | ✔ | | | | -| OpenGL ES 2 | ✔ * | | | | | | -| OpenGL ES 3 | ✔ * | | | | | | -| DirectX 11 | | | | ✔ | | | -| WebGL 1.0 | | | | | ✔ | | -| WebGL 2.0 | | | | | ✔ | | -| Nvn | | | | | | ✔ | +| 360 Media Playback | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| Stereoscopic 360 Media Playback | ✔ | ✔ | | ✔ | | ✔ | +| Video with Transparency (Chroma Shader) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| Video Spread (World Space Shader) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| Play Video on multiple objects | ✔ | ✔ | ✔ | ✔ | | ✔ | +| HTTP Headers | ✔ | ✔ | | | | | +| Advanced ABR Controls | ✔ | ✔ | | | | | +| Offline Playback | ✔ | | | | | | +| ID3 Metadata | ✔ | ✔ | | ✔ | | ✔ | +| Custom ID3 Tags | ✔ | ✔ | | ✔ | | ✔ | +| Multiple Streams (Up to 5) | ✔ | ✔ | ✔ | | | | +| Synchronized Multiple Streams | ✔ | ✔ | | | | | + +| Graphics APIs | Android | iOS | Mac | Windows | WebGL | Nintendo Switch | Xbox Seriex X/S | +| --- | --- | --- | --- | --- | --- | --- | --- | +| Metal | | ✔ | ✔ | | | | | +| OpenGL ES 2 | ✔ * | | | | | | | +| OpenGL ES 3 | ✔ * | | | | | | | +| DirectX 11 | | | | ✔ | | | ✔ | +| WebGL 1.0 | | | | | ✔ | | | +| WebGL 2.0 | | | | | ✔ | | | +| Nvn | | | | | | ✔ | | \* *Supported architectures: arm64-v8a, armeabi-v7a and x86* @@ -785,13 +785,13 @@ Event triggered methods inherited from NexPlayerBehaviour: Method triggered by the NexPlayerEvent NEXPLAYER\_EVENT\_BUFFERING_STARTED. - This event occurs whenever the player has started buffering. Not supported on Windows. + This event occurs whenever the player has started buffering. Not supported on Windows and Xbox Series X/S. - **protected virtual void EventBuffering(int percent)** Method triggered by the NexPlayerEvent NEXPLAYER\_EVENT\_BUFFERING. - This event occurs while the player is buffering. Not supported on Windows. + This event occurs while the player is buffering. Not supported on Windows and Xbox Series X/S. - **protected virtual void EventBufferingEnded()** @@ -803,13 +803,13 @@ Event triggered methods inherited from NexPlayerBehaviour: Method triggered by the NexPlayerEvent NEXPLAYER\_EVENT\_STOPPED. - This event occurs whenever the playback has stopped. Not supported on Windows. + This event occurs whenever the playback has stopped. Not supported on Windows and Xbox Series X/S. - **protected virtual void EventOpened()** Method triggered by the NexPlayerEvent NEXPLAYER\_EVENT\_OPENED. - This event occurs whenever the player has closed (ended all the work on the content currently open and closed content data). Not supported on Windows. + This event occurs whenever the player has closed (ended all the work on the content currently open and closed content data). Not supported on Windows and Xbox Series X/S. - **protected virtual void EventClosed()** @@ -821,7 +821,7 @@ Event triggered methods inherited from NexPlayerBehaviour: Method triggered by the NexPlayerEvent NEXPLAYER\_EVENT\_SEEKED. - This event occurs whenever the player has finished seeking. Not supported on Windows. + This event occurs whenever the player has finished seeking. Not supported on Windows and Xbox Series X/S. - **protected virtual void EventLoading()** @@ -839,7 +839,7 @@ Event triggered methods inherited from NexPlayerBehaviour: Method triggered by the NexPlayerEvent NEXPLAYER\_EVENT\_TEXT_INIT. - This event occurs when the subtitle parsing is complete. Not supported on Windows. + This event occurs when the subtitle parsing is complete. Not supported on Windows and Xbox Series X/S. - **protected virtual void EventTimedMetadataRender()** @@ -876,7 +876,7 @@ Event triggered methods inherited from NexPlayerBehaviour: Method triggered by the NexPlayerEvent NEXPLAYER\_EVENT\_ERROR. - This event is triggered when an internal error occurs. The base implementation of this method logs the error information and calls the error specific virtual function. On Windows it only supports the NexErrorCodes PLAYER\_ERROR\_TIME\_LOCKED, HAS\_NO\_EFFECT and ERROR\_MEDIA\_NOT\_FOUND. + This event is triggered when an internal error occurs. The base implementation of this method logs the error information and calls the error specific virtual function. On Windows and Xbox Series X/S it only supports the NexErrorCodes PLAYER\_ERROR\_TIME\_LOCKED, HAS\_NO\_EFFECT and ERROR\_MEDIA\_NOT\_FOUND. ## 9.2. Sample code for Events @@ -1456,13 +1456,13 @@ Player information methods inherited from NexPlayerBehaviour: For VOD streams, it retrieves the current playback time. - For live streams, Android, iOS, macOS, and WebGL, the current time is the current PTS value of the audio track while, on Windows, it is the server time value and this value only updates once per second. + For live streams, Android, iOS, macOS, and WebGL, the current time is the current PTS value of the audio track while, on Windows and Xbox Series X/S, it is the server time value and this value only updates once per second. - **public int GetTotalTime()** For VOD streams, it retrieves the media duration of the current content. - For live streams on Android and Windows, the end of the range of the current content that is seekable. + For live streams on Android, Windows and Xbox Series X/S, the end of the range of the current content that is seekable. - **public NexRenderMode GetRenderMode()** From 5d576febc251f342535b338205e61900918bf1a7 Mon Sep 17 00:00:00 2001 From: Ivan Derianto <32887298+ivder@users.noreply.github.com> Date: Tue, 24 May 2022 12:46:18 +0200 Subject: [PATCH 2/5] UNU-786-xbox-support-unity-on-xbox add images for xbox --- images/image74.png | Bin 0 -> 52494 bytes images/image75.png | Bin 0 -> 7401 bytes images/image76.PNG | Bin 0 -> 3601 bytes images/image77.PNG | Bin 0 -> 1520 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/image74.png create mode 100644 images/image75.png create mode 100644 images/image76.PNG create mode 100644 images/image77.PNG diff --git a/images/image74.png b/images/image74.png new file mode 100644 index 0000000000000000000000000000000000000000..50b95e970c9f20beebac31a6830993f303665024 GIT binary patch literal 52494 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 QivfQ$RCJUp6wO2b58^8KbpQYW literal 0 HcmV?d00001 diff --git a/images/image75.png b/images/image75.png new file mode 100644 index 0000000000000000000000000000000000000000..02584d38b320d065b70148f4e88e86a29b917748 GIT binary patch literal 7401 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 IqD9F60YkV5dH?_b literal 0 HcmV?d00001 diff --git a/images/image76.PNG b/images/image76.PNG new file mode 100644 index 0000000000000000000000000000000000000000..bd830f3d81361f06a48c635faf7aaedd7188d00c GIT binary patch literal 3601 zcmZ8kcTm$yv?dV9j~+mZ3M2?pM0zar1Vm~==tT*=SE-?g&}@JTUW#-KQUyei>V=3R ziV6rwk!}J?l^`8_(V6>Z-uvV1?zcPVo87bDIXim`i_zy~JH^Jpz`$u}aK)V7lj-IQ zu+ZDHn+}5X4isXpufy>4qwse+0DGd)CfB< za>FYqOFVA1z`^gjK7a2H&nDL0s&Z5JKFO$r`#x55|C`{qw=MFwSZl`+&~y5L@VODV z4|FmK{{Ae>CH@>1=j-+;7nw63bS)~CxlhdHWFTP83q9rD`D#k(u2MG+A9C|O*iux9 zSX=8~`8wXdoIBOozNjFwI<4*)u~RrxkUJH<*29pj10oW1cra&wT>Vvl1J0#ewG*lVqPTPqQ#%Fk;aa`=;0AtneGcGcd8o~vh^Jls% z@povK29aU)_@cBOHll#)dAc<2a28h1_i6oNn{yy)akUW&DT!o5w)?89oAtkH`JFj``)CW;~cE8kNotZSQ8A= zR*e?($5(52hE&w`p*!%^6YjN*q0$Pz2wfL6f6e4Hd*+*lcp+%VeqQw#-AM*_7smYu z7qAbjn5_DOAw(YHm%b~x9CtAO$*q~JwlC{5vIR(L>f_96s3OSz5 z1eJd^KVU5mR-7_Kj=e%U)g{i%k@U>;S5qY8aa}1_3+mltPjeVx2WmbmPE7Trs!B=+ zc_j_KX9d`GS?O*^>@C_2r>R;J@PRL%QE*`b70)Tbdm4UKvgO8F4^BDk7(5BP(<@f! z#TFDdSEZ2E-KT7nbsEYd19U^X9&#~u$+vVP;dS;IRUfpaEx8DK?}P! zonI{ISKboLNKRYe3_5cBdc23YevsISl;2<BHs@xpa;tL-H(8|>{#wJdayNZQfr_Gn| zzZmzYta64IbIV;Ts@)9+h$k7NEO6Viv9THV1j63NEg20Q8QmpbU>=rzt)Jue-flSR znZKaUYp>5~D~V1Q@Y<&Vox+;*zGX#C4rI1~Z5>b&6?42Tu(ZOLqVUtlc4jpD=yGtS zlz8AizQZ=%z5)}gjf;Ms9_p7mRGy`<_K-B5CFa@Db}FxZ#8ugm*T@cotQYJEWJ&nQ z&-EPOl1+B0Dhj^> zj83~5T)q)1Sm~M{JKA4T{6L%hSHJb$2PilmBV8aA9;~|skPX@6gb4SxQP@uBs3bq{ z(8*BY@gF=--wusj>#N=ic%X4SD7GHt<(#Ln4R5ulW5v&LkeKX3iP z<3hw|eg_lw3Y%d0rj8bWqq50An-VoMvd6%^gta!#xT>Xi^?`tki8~kIchRqw=B$tK zS-*Q^USG`2Tsrc(vJ6BC5oFSCj!f2Ezwx>xmGRD&Y-Z3(znzIc#oqKD-;c?x)T{HJ zJG7|1p`!QM5!Wvx-l4)1cT`aL=$l%xWOnKfdLLa>;8qfCdXzCcQWF1%?v5_?g||tz zs3bCT_qQln;?hnk@6z(1ddV9UXAu<6 zw2;ScMvb*P&HPul@Q3Ue$~#tobh0A@?xh!9%p}+GrG}o?C5Xfw9&{xuzBL!~n{<1Gp{cv=qk1ioNggzYOp+b?m$+sa+~EH^yf9lb7-NCoBUt zC@Tx|^y{zGRmEkc;I16p8&NDJn@D}>|I2SW9jZUDo zUp55ZiZ}}&9QlN!su4bH@73%tK zhj_m9=mPYkLp%_%KK)@*AfV0wl9FO=(8xyKqb)iwyh%IR?An{&h44X$ppdfV{3nvi z%Ox*IglBci%b!;&n*R1st+#3Upc{E|3kJt_(p^jyr#m9o3z$L@|s(|qwn z+{VW5If&X#N2j*~v_7sxC~*1y)-5iFBwU`J@WIcgG8JZaj&fL;Hg~VvO*rG{`mC3n z>OzaK)JCg96{Cgd!M($dQkA?3^Ze1eL~3;7h^+1eOz32Cx*)S+g-qm7k(|k-j;0sp z!#ThL_DLmmeV;0`q#c@z8u`n0w0;V+aroCWe*aBT&Yi3ipC{ER-^&czg7VJOs3aFjc72jVr!(>u8 zAcn~0_V0bl?L)^EsJ!#qFPd3?oT8V|%HG+|o0rDZUWupmL^i6Gr5q8RP2`iu5`+*KurwjEDW4zC5^^(AJ4!g9 zf7WWcz#uoTZ3};#y0roH@Hb?1BQiyv+upKY2JrGSQv!oH(}akGl&gML@FimL;6SNY zB)!l*%!GnZ+^%qfYs5%vQ(WAW@77`~c+F7AV(9e_JP+?Ja675Ap@AnVDhkSC+4oiz zIKlYyxHKh&WvtPYJCRT>#!+E@&jLDJh)j0!@L)+7R^??#T;o|6gB`rA8reMR?TqGe zSBg)@6y82(stQ4^a2|^B6o{Lk(cNoP?c)VcMp5^&bWgHid3|0}%HO{H^UA*-33_MG z%-o$?QdX9TLcTDDfZZEVmU?}vfS~+!0{YQKL&aTdM@R13+S*8B*UY57oc18|Q6>Ln zrk-eywo>g{g-)zkpsDT8qViQWHBhXfg8Z3}pf4;U4O!y_N z<=Q41c{x{}Pehd|L1&gbJ`{>&U*oLU6$}J-&-?7bpb*8U$<(GVD@ATp#rdjZ^6lR- zzdmM_xd~qjh)nbM(f(JOq=^=(q~JsL?z&6}d0*Sblu1j$m*5rE)yBU#sD)jENAryd z@Nx+0`{tgnO6Jb7&)!PUsVFcys>SMPWL0=Gy{;VXn0vsq{Pw#FoA=fkov8bHC$NK= zVbD&9Jr}y$%wedvH?mPK|(hT0qm``H-Y%Ak<+#{e>=4q8+&S;xgw% zxYBM8vu^qvYm`Zqv{#<{MLRo*kz4WqawO? z)xec{yV-@8Ipo$NYaLG z@x1gDg(l)Io7T8^_S&zk@_Yhzv(%>Zww)Xd1(dNdb;EqDhJ5w_9U&`^41$gf{r4b! j1`J9*^WT7x@SCZMl$Dtn)4omr#xWS`VXi#YaU%W?aucC# literal 0 HcmV?d00001 diff --git a/images/image77.PNG b/images/image77.PNG new file mode 100644 index 0000000000000000000000000000000000000000..0eb0a8450cdffa8f9230c2e5ee9f252f893fadc8 GIT binary patch literal 1520 zcmai!c{J1u6vuy@v1NOfOvNCPS44{_%UGXnUPFTzHI^76j+$x8Fj4m1pf{8yYa%Ab znq?GXW-w|>Wa%Z#7!320#@OET&UvT*-g|%Cdq3ZE?jQHuKR(IMa69RJhxP#gAnjmp zg8%>_*d8Aj7v1Z|*YG2ILkNqovjWIW70zA&1zKLP1c3TX$!%Yey)1FV9*G42nV!E( zs6XtfKLCitJJ?vdhI?@f22xav6cg5T8_ueV9wk~x2`P&%H;E-C9F`PQ2+2V&KZ5|!?D^J0da#>SJPV;y$QECdLwhnh2#Kg_y+G+Aplqq zqkw>WAoaal?ScQm6o0`i{q>hDrsUxf5xyG7Q~0GE8jr!0>gg5XzCvzc3m-=}d2FhZ zD<0<$%hBY^0i+UuWJ>;^)GNrMB8I@{lLbk{g0!aLPU?*ntGo)$(Zh;tpZ-{$65 zz26Joh4r33>1~@m7l~`_bZbfLNyvpc=Q{z%s=q}RY6nL4yUyY-j!M&*ccIbFh=Q0VBxS7$| zxm{fSC8|Hr21!Z0i!F2dls+Dgvr>o2qnq002OgPQ5a(te&{*}GYbH6lV3JsjhxZbD z&a>8J{YkMM{Nkdan^seU#tD)qov^F+BnzD_o~sAz+*Orhk-ye$Jq>fFVS*EA*)-V! zYs<-sla77W6U%(hya{mB!Q`lDGoM{pt`=8UU`=Joc1jzKLjvE}*7Wqa4o%-h@wXkh z)rMUXf+Kg+F0|<`;SJmEqP!M1Zj=q*FANK(UaS2kfrK-ik@9$7yt=qNeBBb&hEa%W z+ZyAZ3(dz}wk?T-2#*Fi`FpA94OT+OJC4>U_0O~lSlas0CCvdXoacd^;J#~%Eog4R zHm+&u^UnCp32t{!#G|t72bc!GBMlK)G}Zn(p117*$(PwWRXXhlntPzMb&mPW-F#7! zvR-WJrHvwihEjXE&`@aY{h=0VxMbXJxU>0Rt_5!mTxYPfxQlVXUn zwwprR8Q<^{0;)xz`hIIgf5F_iNQb{f6z_~0B6LF`rd>)ElXqIlpJn5M!j@iO_t(1T z;`)Q|g0G28GfO-I#oRD~HMIL7c()^!j@0IhKteYN1 z+OTv~ET5&LNWI{)F;$cL0fdwZpshb3YH~JqpX<1=TXnfTp*DTDtv<=nuY%;nOY|Y% ztAez^jj0)<&D?LHua&s(k_Okok6kKP;l{UB%5y$^UfW#HpD!x*tAf)seZ$%J!PZ|? zUm150nrA3;^P%<7Q?^!bZ!(G#9V6q_VfRNm{&;PvEUow{Z)k+U za;5d5wbH&EsrF244-c-k>oFvG09>6i)3o01m$k70&&VA`80;(!G0r&+)lb2~g67xp_ z{^#{E=;XS{hd&(R^A8GBK*y3OrlM0*KYs5aE|eC ZQ??7enEZi9e7R?7z~L9T4cW>k<}XTt&u9Pu literal 0 HcmV?d00001 From 07dee83fe84fc760d3e18a24d7c28faa5376a9c3 Mon Sep 17 00:00:00 2001 From: Ivan Derianto <32887298+ivder@users.noreply.github.com> Date: Tue, 24 May 2022 12:49:05 +0200 Subject: [PATCH 3/5] UNU-786-xbox-support-unity-on-xbox Add Xbox build configuration --- unity.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/unity.md b/unity.md index 819ccbf..8cd3151 100644 --- a/unity.md +++ b/unity.md @@ -549,6 +549,30 @@ If you want to create your own custom template, keep in mind that you need to in ``` Then, follow the process detailed in the section 5.3.1 Build with Nexplayer’s Template to use NexPlayer in a custom template and build the application. +## 5.7. Xbox Series X/S Build Configuration + +The NexPlayer™ Plugin for Unity supports UWP Builds for Xbox Series X/S. + +It is required to set the Target Platform as Universal Windows Platform in the Unity Build Settings configuration as shown in the image below: + +![](images/image74.png) + +In order to allow the UWP app to access the internet, the capability option InternetClient needs to be checked in the Unity player settings. + +These configurations can be set in the following Unity section: +File → Build Settings → Player Settings (Universal Windows Platform) → Publishing Settings + +![](images/image75.png) + +Then, proceed with the build normally by clicking on File → Build Settings → Build +This will launch a File Explorer window asking for a destination folder. Create a folder next to the Assets directory of the project, and choose this folder as the destination folder of the build. Unity has now created a new Visual Studio solution that will be used to deploy the UWP program. + +![](images/image76.png) + +Open the newly generated solution in the build folder, and then change the target platform to x64. You can deploy the UWP program to Xbox by changing Target device to Remote Machine. + +![](images/image77.png) + # 6. Player Integration - NexPlayerBehaviour The NexPlayer™ Plugin for Unity API allows you to integrate the video player functionalities through code. From fbba2708be9c189d8dd22eb34c6a2ac90cc1f71a Mon Sep 17 00:00:00 2001 From: Ivan Derianto <32887298+ivder@users.noreply.github.com> Date: Tue, 24 May 2022 12:51:19 +0200 Subject: [PATCH 4/5] UNU-786-xbox-support-unity-on-xbox change image extension typo --- unity.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/unity.md b/unity.md index 8cd3151..dc86a84 100644 --- a/unity.md +++ b/unity.md @@ -567,11 +567,11 @@ File → Build Settings → Player Settings (Universal Windows Platform) → Pub Then, proceed with the build normally by clicking on File → Build Settings → Build This will launch a File Explorer window asking for a destination folder. Create a folder next to the Assets directory of the project, and choose this folder as the destination folder of the build. Unity has now created a new Visual Studio solution that will be used to deploy the UWP program. -![](images/image76.png) +![](images/image76.PNG) Open the newly generated solution in the build folder, and then change the target platform to x64. You can deploy the UWP program to Xbox by changing Target device to Remote Machine. -![](images/image77.png) +![](images/image77.PNG) # 6. Player Integration - NexPlayerBehaviour From fb277ba587ed8d44d59bf0c56f896e16dbc501ec Mon Sep 17 00:00:00 2001 From: Ivan Derianto <32887298+ivder@users.noreply.github.com> Date: Tue, 24 May 2022 16:25:25 +0200 Subject: [PATCH 5/5] UNU-786-xbox-support-unity-on-xbox Update EventHandleAudioPCM --- unity.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unity.md b/unity.md index dc86a84..d92dbeb 100644 --- a/unity.md +++ b/unity.md @@ -889,7 +889,7 @@ Event triggered methods inherited from NexPlayerBehaviour: This event occurs whenever there is new audio PCM data during the playback. - The audio buffers are floats ranging from -1.0f to 1.0f. Only supported on Android. + The audio buffers are floats ranging from -1.0f to 1.0f. Supported on Android, Windows and Xbox Series X/S. - **protected virtual void EventUnhandled()**