Unityscript

My favorite language in Unity is the javascript/JScript dialect most appropriately referred to as unityscript. I’ve been looking into other applications for Mono and, since I don’t like working with C#, wanting to compile unityscript outside of Unity. I remember previous discussion of open-sourcing unityscript, and there’s an (empty) code.google.com project for it, so I will ask:

Are there any plans to open-source unityscript?

Failing that:
Are there any plans to give it away free (closed source)?

And, failing that:
Are there any plans to describe Unity’s compilation sequence in enough detail to allow me to reverse-engineer the unityscript complication procedure? (I know it uses Unityscript.dll added to boo compliation, but, what happens next, I have no idea.)

Thanks in advance.

Edit: thanks to jashan for pointing out that I put J# (variant of Java) instead of JScript (variant of javascript)

When and where? Were any of our staff involved? I just don’t recall any such talk from our employees and staff so I’d be a bit surprised if that sort of chatter came from us.

No, I don’t believe that we’re going to open-source anything relating to our engine or the scripting layers it uses.

No, I don’t believe that we’re going to give away the integration layer we created to support “JavaScript” (you want to call it unityscript) on top of Mono.

No as that would put Unity content in even more jeopardy of hacking, pirating, code stealing, etc., and as such I just don’t see that as part of our plans.

I’m sorry for the mostly negative answers here but I just don’t see our efforts leading down the paths you’re citing as I understand them.

Meh. Thanks anyway. :slight_smile:

I saw the project on code.google.com. The project owner is “rodrigobamboo”, who appears to work on many boo projects, assuming that they’re more active than this one, and it also claims that unityscript is under the MIT license. You guys might want to look into that.

That’s fine, but I should clarify. What I wanted to know was not anything about Unity itself or unityscript, but how to compile unityscript code for other applications than a script in Unity. A dll, for example. I didn’t think that this would be revealing any vulnerabilities since the compilation for C# and Boo code isn’t secret. Since I don’t immediately see how a unityscript compiler would compromise security, I was asking about it.

Hope that cleared things up. :slight_smile:

As code stealing already seems to be completely trivial as shown in this topic (particularly the last couple pages or so), I’m wondering if UT has plans to do anything about that? Granted this subject has been brought up before, but have there been any more recent thoughts on the matter?

–Eric

Thoughts? Yes. Any movement or something to mention at this point in time? No.

Obviously a matter that needs some addressing for sure.

FYI – Rodrigo B. De Oliveira (rodrigobamboo) is the designer of Boo. Which explains why he “works on many boo projects”. Not that it necessarily bears on the outcome of this conversation.

So that’s a no on the compiler, then? :frowning:

The .net runtime already has its compilers exposed - allowing you to generate a string of C# code, feed it to some classes and generate a .net assembly on that. Why not expose the same functionality from the unityscript compiler? That would make it not very hurtful to do a simple unityscript compiler with a nice 2.0 GUI interface.

Just a minor correction: J# is Microsoft’s version of Java. Java is a language that’s quite different from JavaScript (the reason “JavaScript” was named “JavaScript” was just to ride on Java’s publicity train back then when Java was “the hip language” for browser-applets). Interestingly, Java/J# are much closer to C# than to JavaScript.

For more info on J#, see: Visual J Sharp - Wikipedia

My bad, meant to say JScript. Sorry for the confusion, I’ll fix my previous post.
As long as I’m on this topic:

I don’t know what to call it anymore :lol:, but its closest realitive is JScript.NET, not javascript. Even though people claim what Unity uses is not Jscript, you can take an example from their docs and make it work in Unity with little or no alteration, whereas if you try to do the same with Javascript it will most likely fail dismally. Both Unity’s scripting language and JScript.NET try to take javascript and put it on the CLR, resulting, conveniently, in two languages that are nearly identical, why I called it JScript. However, since I have heard complaints about calling it JScript, and javascript is incorrect, it needs another name. I have heard it called “Unityscript” and, since there is a Unityscript.dll in Unity’s frameworks, this is the correct name for the language, and I defy anyone to come up with a more accurate name. :wink:

Hear hear! :slight_smile:

–Eric

As the topic takes its turn…

I mean, I know that this has been debated to death, but… ultimately, when I hear “JavaScript”, I think of the prototype-based language developed at Netscape that serves as the originating dialect of the EMCAScript standard. Specifically, I probably think of JavaScript 1.5. In a perfect world, only JavaScript would be called “JavaScript”.

But, I’m not surprised if I encounter JScript 5.7 (like in Trident) or similar. I mean, come on… Trident, that is IE. You’ve written “JavaScript” for IE before, right? That isn’t a stretch. Really, I probably wouldn’t be completely surprised to encounter anything even remotely similar to the ECMA-262 spec… You want to call ActionScript 3 “Javascript”? JScript.Net? Ok, whatever… “JavaScript” is the Kleenex to ECMAScript’s facial tissues. I could care less. There may be a… (what is Mozilla, a dinosaur?) that disagrees, but that isn’t the point.

Here is where I start to have a problem… JavaScript is easy to learn and use. It was designed to be that way. Because it is easy to use, it has real marketing value – it isn’t intimidating and it represents a low barrier to entry when it comes to creating your game. So, let’s use “JavaScript” since that is what this is. Right? Well, but then you get into the little (and not so little) differences… and while those differences aren’t a big deal to someone with a little experience, they can really be a nightmare for exactly the kind of person who was drawn to “JavaScript” in the first place. That sucks. So, let’s be proper about it and call it “UnityScript.” That is better, right? Except, now it sounds like something proprietary that may or may not be easy to use, and that group of people is looking elsewhere. That isn’t a win either.

As an advocate for Unity (not as a UT employee) I would have to say that personally, if somebody asked me, I would probably go with “UnityScript” and try to always add “a scripting language with JavaScript-like syntax” after it. In the long run, that also keeps the option of doing things like extending the language or marketing it in other ways on the table. If done right, it could potentially mitigate some of the problems that either choice will bring. But, ultimately, that isn’t the path that UT chose… so the conversation may be more or less irrelevant. So, instead of debating whether or not it is JavaScript or UnityScript or UnityJavaActionEcmaJScript.NET, we should instead read xkcd and laugh.

Yeah, I think that’s also what UT should do. Use “UnityScript” as the primary name, but add “which is very easy to learn when you know JavaScript” or something similar (“which is based on JavaScript” … UnityScript is for Unity what ActionScript is for Flash, both are like JavaScript, but … of course, UnityScript is the best" :wink: ).

I very much agree with Charles: When you call it JavaScript, people will look up those JavaScript tutorials which are 98% for browser-programming, which has nothing to do with Unity at all (and is just confusing).

Yes, but… meh. no. Read the zillion other threads on the subject.

how about this?

[quote]
FYI – Rodrigo B. De Oliveira (rodrigobamboo) is the designer of Boo.
[/quote] So did UT hire Rodrigo B. De Oliveira to create UnityScript for them? Boo has a compiler framework which seems to be great for implementing new languages and he would be the best man for such a task. There was some misunderstanding about it being open source so he created a google code project but then never used it. Am I right? :slight_smile: