In #822 we already did some changes to the folder structure but in the end decided to keep duality itself in the root folder as that was simpler to do since changing the folder structure also impact how a duality game will be published. However it might still be worth to look into changing this after v4 is released.
As of #827 the currently used folder structure is like so:
[Project Folder]
|
+- [Project].sln
|
+- DualityEditor.exe
+- Data
+- Plugins
+- all the other project files and binaries
|
+- Import
|
+- Source
+- Launchers
+- GameLauncher
+- GameEditor
+- Plugins
+- GamePlugin
Some optionally desired features:
Cleaner folder structure in general where everything has a clear purpose and we are not mixing buildoutput and source in the same folder. This also makes it easier to see what files need to be under source control.
Support multi targeting. In this case there might be multiple versions of the DualityLauncher and Editor but only 1 version of the data. So what we need to do is to separate the binaries from the data.
Separate the editor and launcher build outputs in separate folders instead of manually excluding files with the publish game functionality. This should also solve some transitive dependency edge cases where libraries that a editor plugin needs are still included in the publish even if the editor is not included.
To achieve these features I propose that we use this folder structure:
[Project Folder]
+- Source
+- [Project].sln
+- Launchers
+- GameLauncher
+- GameEditor
+- Plugins
+- GamePlugin
|
+- Data
|
+- Import
|
+- Duality
+- net472
+- Launcher
+- Plugins
+- DualityLauncher.exe
+- all the other binaries
+- Editor
+- Plugins
+- DualityEditor.exe
+- DualityLauncher.exe
+- all the other binaries
+- someothertargetframework
+- ...
+- etc...
Obviously some logic has to be changed in duality to achieve this, especially the way we publish a duality game.
Summary
In #822 we already did some changes to the folder structure but in the end decided to keep duality itself in the root folder as that was simpler to do since changing the folder structure also impact how a duality game will be published. However it might still be worth to look into changing this after v4 is released.
As of #827 the currently used folder structure is like so:
Some optionally desired features:
To achieve these features I propose that we use this folder structure:
Obviously some logic has to be changed in duality to achieve this, especially the way we publish a duality game.