Jump to content

Assembly Definition Files for Unity Plugin?


Recommended Posts

Are there any plans to add assembly definition files to the Unity plugin? (https://docs.unity3d.com/2018.2/Documentation/Manual/ScriptCompilationAssemblyDefinitionFiles.html) Plugins which don't have them are a bit of a pain to use for anyone who does use asmdef files, since we need to go into the plugin and at least add one into each Editor folder (and potentially one at the plugin's root as well).

Link to comment
Share on other sites

  • 3 weeks later...

> it takes lots of efforts for implementation


Maybe I'm missing something, but when I patched this in myself, all I needed to do was add two files and click a few buttons to configure them. Where is the effort coming from?


> It's welcome if you'd share the benefits to enable this support from developer perspective.


For a start, Unity themselves recommend usage of Assembly Definition Files as a best practice. And anyone who uses these files can't access code that isn't underneath an asmdef. So we'd either have to create some kind of catch-all asmdef and reference that, or we'd have to go into the plugin and add the asmdef files ourselves which isn't great when we want to update the plugin.


The main benefit of using asmdefs is that they separate the project into different assemblies, so Unity only needs to recompile the Wave SDK code if that code changes. And when I do update the SDK, it only recompiles the SDK and the things that depend on it, and nothing else.  As of the latest Unity version, it's also easy to remove asmdefs from a build completely based on preprocessor symbols, so I can easily remove all the Wave SDK code when building for platforms where I'm using a different SDK.


And lastly, adding an asmdef file shouldn't have any negative impact on people who aren't using these in their own projects. When you're not using asmdef files, then all your code goes into the default assembly, which automatically references all explicit asmdefs.

Link to comment
Share on other sites

Hi ,


Thanks for your detail sharing and please kindly see our feedbacks about this discussion.


After internal discussion with engineering team, we have two major reasons NOT to enable this option at this stage.

1) There are cross reference errors need to be resolved when enable this option, and it requires to review/remove or delete files and make sure there is no side effect or issues after doing this.

2) To ensure backward compatible and compatibility with previous existing projects for various published contents.


Please let us know if you have any better idea.



Link to comment
Share on other sites


This topic is now archived and is closed to further replies.

  • Create New...