Hi. Hoping someone can lend a hand in figuring out where the bloat is coming from and how to reduce it. I’ve got a ~ 100 meg IPA and just downloading/installing vanilla node canvas increased it to 108MB. Really need to keep it under 103 – any ideas?
Have you built the link.xml file through NodeCanvas Preferred Types Editor? If so, this can be the reason since the link.xml file avoids stripping code, so that reflection based (ScriptControl) tasks are able to work without an issue. If you are not after using those tasks, you can safely delete link.xml file though.
I have not built the link.xml through the Preferred Types Editor.
Simply adding/removing the Assets/ParadoxNotion directory structure changes the jenkins built .ipa by the 7.5 megs. I can’t see anything in the logs where it looks like the linker went crazy or anything so I’m not sure where the size is coming from.
Have you looked at the Editor.log file? When you build, detailed information about the build size is logged out. Here is the relevant Unity docs link for your convenience: http://docs.unity3d.com/Manual/ReducingFilesize.html
Let me know if there is something out of the ordinary.
Thanks.
It would be very helpful if you guys would delta the IPA size when putting NodeCanvas on an empty project so your consumers have an idea of what to expect.
I’ve managed to reclaim about 5MB with the following changes.
1> Added #if UNITY_EDITOR to DocByReflection.cs to prevent adding System.XML to the runtime binary. This saved about 2.2MB in the combined IPA.
2> Removed the SyncBlackboard.cs since we don’t need it. This prevented UnityEngine.Networking (we rolled our own networking solution and don’t use the unity one) from being added to the binary saving ~ 3MB.
I’m sure there will be a bit more savings to be had but it would be nice to have a maintained doc showing memory usage and additional libraries required so we can make a more informed choice about what to include.
Sure, I could create a doc section that would include the different libraries required for convenience and the classes where they are needed.
By the way, DocsByReflection.cs is already under an ‘#if UNITY_EDITOR’ directive if you are using version 2.5.6 from the asset store.
We aren’t on latest and probably won’t update for a while given the risk of changing things will in submission. I think our last update was May something. I went looking for the version number but didn’t see it in the menu, readme or code. I’m sure I just missed it. Is there an someplace you are storing it that I can see?
Hopefully memory footprints will stop being such an issue soon. The 100MB wifi limit is very annoying when you are making feature rich titles. I’ve managed to squeeze Node Canvas down to about 2.8MB and I think thats as far as it will go. Fair tradeoff in my book.
The version number can be seen on the very bottom-right corner of the NodeCanvas editor window. It is quite transparent though, so that it does not get in your way.
I am very glad you squeezed the size down, thus able to use NodeCanvas in your current project. If you come by any questions or issues, by all means do let me know!
Thanks!
Join us on Discord: https://discord.gg/97q2Rjh
Author
Posts
Viewing 8 posts - 1 through 8 (of 8 total)
You must be logged in to reply to this topic.
Login
Register
By registering on this website you agree to our Privacy Policy.