Skip to content

Plugin Separation: Move the RWTHVRCluster Module into its own Plugin with respective content. Removes Toolkit dependency to nDisplay

David Gilbert requested to merge refactor/plugin_separation into dev/5.3

this is a biggie:

  • We need android/quest/pico support for the plugin
  • We want to keep dependencies minimal in general
  • nDisplay and other cluster plugins are not whitelisted for android -> Problem!
  • While it is easy to #if out code and modules, this is not possible for uassets in Content
  • When building for android and there is a reference to nDisplay in e.g. a BP, this crashes

Therefore I propose we move the nDisplay dependent code and content into a separate plugin:

https://git-ce.rwth-aachen.de/vr-vis/VR-Group/unreal-development/plugins/rwth-vr-cluster-plugin

I have adjusted the code and content in a way that should limit dependencies between the two plugins, ideally both run without the other. So far, this seems to work. However, one needs to be really careful with saving nDisplay-dependent assets in the RWTHVRToolkit!

For C++, this suggestions uses the following defines. If the RWTHVRCluster module is enabled, you can access cluster/nDisplay related functionality - but guard this behind the DEFINE, otherwise your code will break on android.

		if (IsPluginEnabledForTarget("RWTHVRCluster", base.Target))
		{
			PrivateDependencyModuleNames.Add("RWTHVRCluster");
			PrivateDependencyModuleNames.Add("DisplayCluster");
			PublicDefinitions.Add("PLATFORM_SUPPORTS_CLUSTER=1");
		}

Merge request reports