unity-experiment-framework icon indicating copy to clipboard operation
unity-experiment-framework copied to clipboard

Feature Request: UXF Access and Update via Unity's Package Manager

Open A-Ivan opened this issue 4 years ago • 5 comments

Hi Jack.

First of all, this is a great framework.

It would be great if UXF would be accessible via Unity's package manager, this will make it easier to add it to a project and to make sure it is at the latest version without having to download and manage package versions via GitHub.

For instance, see bmlTUX's implementation: https://biomotionlab.github.io/TUX/docs/Installation#unity-20201-and-later-recommended

Instructions on how to create a custom Unity package and have it accessible via the package manager: https://blog.devgenius.io/creating-custom-packages-for-use-in-unity-7dfbaa49e4b4

A-Ivan avatar Sep 28 '21 01:09 A-Ivan

Thanks! I agree, this has been on my to-do list for a while. I will see if I get time soon.

jackbrookes avatar Sep 28 '21 11:09 jackbrookes

Great. I think this would be helpful to have, it will make the installation and update process a bit easier.

A-Ivan avatar Sep 28 '21 17:09 A-Ivan

So in researching and splitting our project up into packages, I ran into some issues with UXF not being ready to be part of a package.

Main issue is not having asmdef files to determine which namespace can access which other namespaces. UXF uses a few external libraries / tools with different namespaces. Also all scripts, runtime and editor, are in the same folder tree.

I've rearranged the folder structure in order to make our package (which includes UXF) usable as GIT URL reference in Unity's package manager. All Editor and Runtime scripts needed to be separated.

In short, this is the basic package layout (Unity's guidelines): Runtime/ Editor/ Tests/ Samples/

Which I now rearranged for UXF files with according asmdef files as:

Editor/BasteRainGames.Editor/BasteRainGames.editor.asmdef -> referencing BasteRainGames.asmdef
Editor/SubjectNerd.editor/SubjectNerd.editor.asmdef -> referencing SubjectNerd.asmdef
Editor/UXF.editor/UXF.editor.asmdef -> referencing UXF.asmdef, BasteRainGames.editor.asmdef, SubjectNerd.editor.asmdef 

Runtime/UXF/Scripts/Etc/BasteRainGames/BasteRainGames.asmdef
Runtime/UXF/Scripts/Etc/SubjectNerd.ReorderableInspector/SubjectNerd.asmdef
Runtime/UXF/uxf.asmdef -> referencing BasteRainGames.editor.asmdef, SubjectNerd.editor.asmdef, BasteRainGames.asmdef, SubjectNerd.asmdef

This seems to work up till now. I've deleted the Tests folder, just for convenience. So takes a bit of fiddling but definitely doable!

thefirstfloor avatar Feb 10 '22 16:02 thefirstfloor

@thefirstfloor thank you! useful info. Still haven't had time for this yet, but hopefully will get there eventually.

jackbrookes avatar Feb 10 '22 20:02 jackbrookes

The restructure is not entirely necessary, see the above PR (#137). Though it creates copious amounts of meta files for non-essential files/folders. I have no idea how to work around that.

ahmed-shariff avatar Jul 23 '22 01:07 ahmed-shariff