pramberg / DeviceRGB

🌈 Plugin for UE4 that lets you control RGB devices using materials and textures
MIT License
8 stars 0 forks source link

Improve SDK loading #3

Closed pramberg closed 3 years ago

pramberg commented 3 years ago

Description

SDKs just works in the editor at the moment. The are also assumed to exist, even though the Corsair SDK isn't in the repo. I'm not sure we can distribute some SDKs, so a user would have to download it themselves, and place it in the ThirdParty directory. This in turn requires that the build system detects available SDKs.

Requirements

pramberg commented 3 years ago

Using RuntimeDependencies in the build file lets Unreal move it as needed. I tested it in a package, and it just worked - 69325e328816521e6f564eb5de56d5e882354b33

pramberg commented 3 years ago

I have a working prototype for detecting and loading supported SDKs. Each SDK is its own module now, which seems pretty reasonable tbh. Now its third party dependencies can be isolated to that small module instead of being in the main module. The only sketchy part is loading these submodules conditionally, but I have a working solution for that too. I haven't found an existing solution for this, the engine expects all modules to be loaded from the plugin file (which is a no go in this case), or manually loading them

pramberg commented 3 years ago

I restructured the project like I outlined above. Disabling plugins on selected platforms is as simple as using the whitelist in the plugin file. Both of these changes are in 145f16cee12f62742e6f25579506fe3d6fa35dfd

pramberg commented 3 years ago

Installation documentation is available here