I’m having to convert unity’s default js scripts for image effects to c# - ie the editor scripts. This causes longer compile time and (AFAIK) a 2mb bloat when exporting due to the boo lang stuff.
Do you think its wiser that all scripts are by default c# as this results in a smaller footprint for everyone using c# and also the post fx stuff is pretty highbrow enough that js users probably wouldn’t mind if they were c# - you’d need to know your way around pretty well to modify them.
In any case having to port them manually for new projects to keep compile times quick and so on.
I respect people’s choice in using Boo or JS - I’m just saying that unity will be more efficient for the majority and see no change for others if the scripts are natively c# for the unity stuff.
Just trying to follow how you phrased this. If you stick to C# for scripts, it can reduce how big the deliverable exported package ends up, but including JavaScript or Boo increases the deliverable. Am I reading you right?
This kind of makes sense, but I’d still rather stick with Boo for its similarity to Python. Since it looks like Unity can’t really tell if a script is JUST an editor script or merely has editor-sensitive functionality, this probably means all the editor scripts and artwork gets bundled into the deliverable package. Is there a way to flag certain stuff as definitively NOT INCLUDED in the runtime?
I’ve been requesting this for some time. Its a real pain for C# developers to have to suffer the addition of JS scripts from image effects.
Obviously we can port the scripts to c#, but then you might have to do this for every dot release, depending upon the level of changes made by Unity, plus of course it means you’ve got many developers doing the ports, where as Unity could just do it themselves and save everybody the time. Its also been suggested that perhaps a community based system of having the image effect scripts on git or similar, so that we can maintain a c# version, but that still means someone has to update them every time Unity makes a change that affects the scripts.
The best course of action would be to provide two code path versions of the image effects, but I suspect that Unity would be against that as it increases their workload.
This is particularly relevant at the moment with everyone trying to convert projects to the new Windows platforms that don’t allow the JS scripts… I’m trying to figure out how to replace the effects in Requiem Z right now and didn’t fancy trying to convert the JS scripts to C#
When you submit Windows Store apps, they have to pass Microsoft’s “WACK” tests. If you have UnityScript or Boo scripts in your project currently, the project will fail the tests and can’t be submitted to the store. So, image effects have to be removed - at least, the UnityScript ones do.
I wonder if Unity have options so this is possible: - I’d like an option to remove all the C# scripts from my project and use BOO fully. - I’d like an option to remove all the C# scripts from my project and use JS fully.
Hate being a language Snob, I’m all for freedom of expression and programming is very much a creative thing at the Unity level where you are scripting gameplay most of the time.
However this is a concrete example of Boo/JS harming C# where C# does not harm Boo/JS. Therefore these scripts ought to just be supplied in C#.
I think this is a matter of Microsoft’s business rules harming the developers. It’s funny since they were all about .NET supporting multiple languages.