Plug-ins & Third-Party SDKs in UE4
-
Upload
gerke-max-preussner -
Category
Software
-
view
417 -
download
8
Transcript of Plug-ins & Third-Party SDKs in UE4
![Page 1: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/1.jpg)
Plug-ins & Third-Party SDKs in UE4Yes, there will be funny cats, too
Gerke Max [email protected]
@gmpreussner
![Page 2: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/2.jpg)
Funny cat videos have been removed to keepthese slides at a reasonable download size.
You can find those videos (and many more) athttps://www.reddit.com/r/thecatdimension/
![Page 3: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/3.jpg)
The BasicsModulesPlug-insProjects
Modules Overview•Two methods to implement features in UE4: Blueprint & C++•Most projects use a combination of both•All C++ code resides in modules•Modules bundle type declarations and implementations•Each module has a particular purpose or responsibility•Most modules are generic and reusable•UE4 ships with hundred of modules•Can be compiled into DLLs or static libs
![Page 4: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/4.jpg)
The BasicsModulesPlug-insProjects
Module Types•Developer – for development only•Editor – for Unreal Editor only•Runtime – for anything•Programs – for standalone programs•Third Party – for external code & libs
Note: The UE4 EULA prohibits inclusion ofEditor modules in shipping games
![Page 5: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/5.jpg)
The BasicsModulesPlug-insProjects
Structure of Modules•Private folder
• Internal implementation• Module initialization• Pre-compiled header
•Public folder• Interfaces• Exported Types
•Build.cs file
https://github.com/ue4plugins/NdiMedia
![Page 6: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/6.jpg)
The BasicsModulesPlug-insProjects
Structure of Modules•Private folder
• Internal implementation• Module initialization• Pre-compiled header
•Public folder• Interfaces• Exported Types
•Build.cs file
https://github.com/ue4plugins/NdiMedia
![Page 7: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/7.jpg)
The BasicsModulesPlug-insProjects
Structure of Modules•Private folder
• Internal implementation• Module initialization• Pre-compiled header
•Public folder• Interfaces• Exported Types
•Build.cs file
https://github.com/ue4plugins/NdiMedia
![Page 8: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/8.jpg)
The BasicsModulesPlug-insProjects
Module initialization
![Page 9: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/9.jpg)
The BasicsModulesPlug-insProjects
Module initialization
![Page 10: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/10.jpg)
The BasicsModulesPlug-insProjects
Structure of Modules•Private folder
• Internal implementation• Module initialization• Pre-compiled header
•Public folder• Interfaces• Exported Types
•Build.cs file
https://github.com/ue4plugins/NdiMedia
![Page 11: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/11.jpg)
The BasicsModulesPlug-insProjects
Pre-compiled Headers
![Page 12: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/12.jpg)
The BasicsModulesPlug-insProjects
Pre-compiled Headers
![Page 13: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/13.jpg)
The BasicsModulesPlug-insProjects
Pre-compiled Headers
![Page 14: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/14.jpg)
The BasicsModulesPlug-insProjects
Structure of Modules•Private folder
• Internal implementation• Module initialization• Pre-compiled header
•Public folder• Interfaces• Exported Types
•Build.cs file
https://github.com/ue4plugins/NdiMedia
![Page 15: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/15.jpg)
The BasicsModulesPlug-insProjects
Structure of Modules•Private folder
• Internal implementation• Module initialization• Pre-compiled header
•Public folder• Interfaces• Exported Types
•Build.cs file
https://github.com/ue4plugins/NdiMedia
![Page 16: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/16.jpg)
https://github.com/ue4plugins/NdiMedia
Structure of Modules
The BasicsModulesPlug-insProjects
![Page 17: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/17.jpg)
The BasicsModulesPlug-insProjects
Structure of Modules•Private folder
• Internal implementation• Module initialization• Pre-compiled header
•Public folder• Interfaces• Exported Types
•Build rules
https://github.com/ue4plugins/NdiMedia
![Page 18: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/18.jpg)
The BasicsModulesPlug-insProjects
Build Rules
![Page 19: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/19.jpg)
The BasicsModulesPlug-insProjects
Build Rules
![Page 20: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/20.jpg)
The BasicsModulesPlug-insProjects
PrivateIncludePaths•Sub-folders inside your module’s Private folderPublicIncludePaths•Sub-folders inside your module’s Public folder (not needed)PrivateIncludePathModuleNames•Modules whose public headers your module’s private implementation includes, but doesn’t link toPublicIncludePathModuleNames•Modules whose public headers your module’s publicinterface includes, but doesn’t link to
![Page 21: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/21.jpg)
The BasicsModulesPlug-insProjects
PrivateDependencyModuleNames•Modules that your module’s private implementation requires for compiling and linkingPublicDependencyModuleNames•Modules that your module’s public interface requires for compiling and linkingDynamicallyLoadedModuleNames•Modules that are loaded at run-time via ModuleManager (this is to ensure that they get compiled)
More options in RulesCompiler.cs
![Page 22: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/22.jpg)
1
2
3
![Page 23: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/23.jpg)
The BasicsModulesPlug-insProjects
Structure of Plug-ins•One or more modules•Plug-in descriptor•Content (optional)•Resources (optional)
Configuration files for plug-ins are notyet supported, so any settings shouldbe stored in Engine or project INI files(set default values in constructors)
https://github.com/ue4plugins/NdiMedia
![Page 24: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/24.jpg)
The BasicsModulesPlug-insProjects
Structure of Plug-ins•One or more modules•Plug-in descriptor•Content (optional)•Resources (optional)
https://github.com/ue4plugins/NdiMedia
![Page 25: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/25.jpg)
The BasicsModulesPlug-insProjects
Structure of Plug-ins•One or more modules•Plug-in descriptor•Content (optional)•Resources (optional)
https://github.com/ue4plugins/NdiMedia
![Page 26: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/26.jpg)
The BasicsModulesPlug-insProjects
Plug-in Descriptor•Json file {PluginName.uplugin}•Inside root of plug-in directory•Contains:
• Version information• User friendly description• Module loading rules
https://github.com/ue4plugins/NdiMedia
![Page 27: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/27.jpg)
The BasicsModulesPlug-insProjects
Plug-in Descriptor
![Page 28: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/28.jpg)
The BasicsModulesPlug-insProjects
Plug-in Descriptor
![Page 29: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/29.jpg)
The BasicsModulesPlug-insProjects
Plug-in Descriptor
![Page 30: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/30.jpg)
The BasicsModulesPlug-insProjects
Plug-in Descriptor
![Page 31: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/31.jpg)
The BasicsModulesPlug-insProjects
Plug-in Descriptor
1
![Page 32: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/32.jpg)
The BasicsModulesPlug-insProjects
Plug-in Descriptor
1
![Page 33: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/33.jpg)
The BasicsModulesPlug-insProjects
Plug-in Descriptor
1
![Page 34: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/34.jpg)
The BasicsModulesPlug-insProjects
Plug-in Descriptor
1
![Page 35: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/35.jpg)
The BasicsStructure of Projects•Configuration files•Content (optional)•Plug-ins (optional)•Modules (optional)•Target Rules•Project descriptor
ModulesPlug-insProjects
![Page 36: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/36.jpg)
The BasicsModulesPlug-insProjects
Project Descriptor
![Page 37: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/37.jpg)
The BasicsModulesPlug-insProjects
Project Generation•UBT searches entire solution for *.Build.cs files•GenerateProjectFiles.bat invokes UBT to generateVisual Studio solution files containing all modules
![Page 38: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/38.jpg)
The BasicsModulesPlug-insProjects
Project Compilation•Visual Studio invokes UBT to...
• find all *.Build.cs files• compile and instantiate them• create a module dependency graph• generate compiler and linker settings• compile all C++ modules
•A module is compiled if it is...• a dependency of another module• required by an enabled plug-in, or the project itself
![Page 39: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/39.jpg)
Third-Party LibrariesEnginePlug-insUPLPlatformsDistribution
![Page 40: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/40.jpg)
Third-Party LibrariesEnginePlug-insUPLPlatformsDistribution
Structure of Engine Dependencies•Located in /Engine/Source/ThirdParty•Each has its own Build.cs file
• Just like any other module• Public includes (for headers to be
compiled into dependent modules)• Public libraries (for libraries to be
linked into dependent modules)• Optional pre-processor definitions
![Page 41: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/41.jpg)
Third-Party LibrariesEnginePlug-insUPLPlatformsDistribution
Building Engine Dependencies•Source code is often included, but…
• We provide pre-compiled libs for everything• UBT never compiles them when building your
projects•Internally, we pre-compile the libraries using…
• BuildThirdPartyLibs UAT script (automated)• Batch files and shell scripts (manual)• Specialized UAT scripts (i.e. for PhysX)
•Sometimes there are text files with instructions
![Page 42: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/42.jpg)
![Page 43: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/43.jpg)
![Page 44: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/44.jpg)
Third-Party LibrariesEnginePlug-insPlatformsUPLDistribution
More Build Rules
![Page 45: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/45.jpg)
Third-Party LibrariesPublicLibraryPaths•Paths to folders containing additional librariesPublicAdditionalLibraries•Additional libraries (.lib or .a files) to link againstPublicFrameworks•Additional XCode frameworks (iOS, macOS only)PublicWeakFrameworks•Weak frameworks (for OS transition)
EnginePlug-insPlatformsUPLDistribution
![Page 46: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/46.jpg)
Third-Party LibrariesPublicAdditionalShadowFiles•Files that need to be copied for remote compilationRuntimeDependencies•Runtime dependencies to be staged for a packaged build
EnginePlug-insPlatformsUPLDistribution
![Page 47: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/47.jpg)
Third-Party LibrariesEnginePlug-insPlatformsUPLDistribution
Structure of Plug-in Dependencies•Same as Engine third-party dependencies•Same build rules
![Page 48: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/48.jpg)
Third-Party LibrariesEnginePlug-insPlatformsUPLDistribution
Linux: Building libs that require STL•Use our bundled libc++ (offers most independence, because then your plug-in works wherever UE4 works)•Modules built within UE4 are automatically linkedwith libc++•We support CentOS 7 and newer (4.14)and CentOS 6 (4.13)•We don’t target any particular version of Ubuntu•Most other Linux versions should also be covered
![Page 49: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/49.jpg)
Third-Party LibrariesEnginePlug-insPlatformsUPLDistribution
Linux: Locating Libs at Runtime• On macOS we update RPATH via
RuntimeDependencies•On Linux you have to hack LinuxToolchain.cs •Or use FPlatformProcess::GetDllHandle•At some point we will fix this
On Linux we always use weaksymbol resolution by default!
![Page 50: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/50.jpg)
Third-Party LibrariesEnginePlug-insPlatformsUPLDistribution
Android• One lib subfolder per architecture• You list all of them in the Build.cs• Tool chain filters out unused architectures
![Page 51: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/51.jpg)
Third-Party LibrariesEnginePlug-insUPLPlatformsDistribution
Unreal Plug-in Language• Used to be Android Plug-in Language (APL)• XML based scripting system for building UE4 plug-ins• Interpreter implemented in UnrealPluginLanguage.cs•Can be used for iOS as well (for modifying Plists)•Other platforms not implemented yet•Often used for:• Staging additional files• Stripping out files• Injecting Java code
![Page 52: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/52.jpg)
GearVR_APL.xml
![Page 53: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/53.jpg)
GearVR_APL.xml
![Page 54: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/54.jpg)
GearVR_APL.xml
![Page 55: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/55.jpg)
GearVR_APL.xml
![Page 56: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/56.jpg)
GearVR_APL.xml
![Page 57: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/57.jpg)
GearVR_APL.xml
![Page 58: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/58.jpg)
GearVR_APL.xml
![Page 59: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/59.jpg)
Third-Party LibrariesEnginePlug-insPlatformsUPLDistribution
Marketplace Submissions•http://publish.unrealengine.com/welcome
Our current web form sucksa little, so we’ll communicatewith you over email, too.
![Page 60: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/60.jpg)
Third-Party LibrariesEnginePlug-insPlatformsUPLDistribution
Submission Audit•Plug-in / project descriptor files must be complete•Payment information must be correct•Automated test builds for all platforms & versions•Basic code review & light runtime testing•Virus scan
We don’t enforce UE4 coding guidelines, but we look for common bad practices that may break in the future.
![Page 61: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/61.jpg)
Third-Party LibrariesEnginePlug-insPlatformsUPLDistribution
Third-party Libs (permissive license)•Can be included with submission•Must provide web links to library origin•Must include license copies
Third-party Libs (non-permissive license)•Must be a separate download from the vendor•Must include instructions on how to install
![Page 62: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/62.jpg)
Third-Party LibrariesEnginePlug-insPlatformsUPLDistribution
What else?•Plug-ins will be installed in /Engine/Plugins•We include pre-compiled binaries for all supported platforms•We include source code, so they can be used in custom UE4
• You can put your secret sauce into static libraries•You must resubmit for every new UE4 version
![Page 63: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/63.jpg)
Case StudiesLogiLedVlcMediaGearVR
https://github.com/ue4plugins/LogiLed
![Page 64: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/64.jpg)
Case StudiesLogiLedVlcMediaGearVR
![Page 65: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/65.jpg)
Case StudiesLogiLedVlcMediaGearVR
![Page 66: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/66.jpg)
Case StudiesLogiLedVlcMediaGearVR
https://github.com/ue4plugins/VlcMedia
![Page 67: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/67.jpg)
VlcMedia.Build.cs
![Page 68: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/68.jpg)
Vlc.cpp
![Page 69: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/69.jpg)
Vlc.cpp
![Page 70: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/70.jpg)
Case StudiesLogiLedVlcMediaGearVR
GearVR_APL.xml
![Page 71: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/71.jpg)
Case StudiesLogiLedVlcMediaGearVR
Java Code Injection via UPL GearVR_APL.xml
![Page 72: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/72.jpg)
Case StudiesLogiLedVlcMediaGearVR
GameActivity.java
![Page 73: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/73.jpg)
Case StudiesUEDeployAndroid.cs
![Page 74: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/74.jpg)
![Page 75: Plug-ins & Third-Party SDKs in UE4](https://reader033.fdocuments.us/reader033/viewer/2022061412/5870c0201a28ab0b4a8b6ea5/html5/thumbnails/75.jpg)
Questions?Documentation, Tutorials and Help at:
• Answer Hub:• Documentation:• Forums:• Issue Tracker: • Wiki: • UE4 Road Map• YouTube Tutorials:• Community Discord:• Community IRC:
https://answers.unrealengine.comhttps://docs.unrealengine.comhttps://forums.unrealengine.comhttps://issues.unrealengine.comhttps://wiki.unrealengine.com
https://trello.com/b/gHooNW9I/ue4-roadmaphttps://www.youtube.com/user/UnrealDevelopmentKithttp://unrealslackers.org#unrealengine on FreeNode