How about another language?

Hey, everyone! This request is about another language. Possibly in UE5 (if UE4 is possible then please do if you have time!) or something like that. I’d like another language (well, of course don’t take C++ off), something like C# or Visual Basic. Something on the high-level side. Small Basic is weak, but very accessible to beginners who want to code 2D games. The syntax is extremely easy, and without looking at a tad bit of the reference, I was able to create animations and graphics. This would be very appreciated by all beginner developers, and I think it would boost your engine up a lot because of the ease and freedom. Anyway, have a great day to anyone reading this.

Not again a thread like this.
I don’t know whats wrong with C++ and/or BP. Instead of saying “I want to use XYZ language” you should learn the tool (UE) you want to use.

Full support for textual scripting BluePrints would help a lot instead. Because BluePrints are a real mess to deal with visually for complex algorithms. There is an unsupported/unofficial way of seeing the actual script for the visual part thru copy/paste but it still is an hack and it is just undocumented.
I would code everything in C++ if that was possible but most APIs aren’t documented at all and for some things C++ just can’t be used and BluePrint is the only way.
So official support for text version of BluePrints would help a lot. But I still hope Epic Games will release full documents for proper C++ coding of all the APIs in UE4. And that UE5 won’t have any of these issues anymore when it happens.
Reading online documents about the old UDK it shows that it was well documented on practically everything… probably because it was a very expensive premium product for big software houses only that were able to afford the license… While it seems that UE4 being almost free is not getting the same level of care about releasing full documents to the public, unless the big software houses are getting full documents anyway, otherwise the whole C++ part of UE4 wouldn’t be so badly documented as it still is right now so forcing developers to use BluePrints even when they wouldn’t.

Not again a thread like this.
I don’t know whats wrong with C++ and/or BP. Instead of saying “I want to use XYZ language” you should learn the tool (UE) you want to use.
[/QUOTE]

Not saying C++ is bad, but a high level language would help beginners a lot. Say for example, a Unity user is giving Unreal a try. C# would be really useful, and Unreal is more user-friendly. Oh well, just an opinion. C++ is extremely powerful and should not be taken off. (Like I said before)

The problem is that implementing just another language costs a lot of resources not to mention that it has to be maintained like BP and C++.
And I really don’t know whats wrong with BP. They can get messy, but so can code.

Users are better off with learning C++ instead of waiting for another language.
The problem is not the language, but the user who codes with it.

There’s already SkookumScript (http://skookumscript.com) which is more user friendly for gameplay code.

It also has a horrible syntax that seems to be different for the sake of being different.

This is definitely not worth it. Coding for UE seems already straight forward as it can get. As for being beginner-friendly, blueprints seem to cope with that much better than any scripting language.

Can you give any examples? They listed on their website that they replaced curly braces with brackets because people were typing SkookumScript in C++ files and C++ in SkookumScript files which seems like a good reason for that.

Of course the syntax will be different from C++ because unlike C++ it’s a more specialized language made for games.

Visual BluePrint coding is acceptable and quick for small algorithms. Adding a lot of complexity it becomes unreadable and unmanageable quite easily. And unfortunately most C++ APIs are badly or not documented at all so forcing the use of slower visual BluePrint coding instead. The textual script version of the visual BluePrint already exists as anyone can see with the copy/paste trick but it is not official and not documented so Epic Games could just make that official instead allowing developers to write very complex BluePrint code in textual form that would immediately be viewable in its visual form as well. It is already there, they just have to properly document it and make it official, they don’t need to reinvent the wheel nor to make another scripting language. And anyway I hope they will release full documents on C++ APIs for anyone like me that would code in C++ everything.

As a user, honestly for what most people want out of another language, learn Skookumscript. It does exactly what you want and already exists; and doesn’t seem like its going anywhere anytime soon(will have future support).

People who want a tool like that, and aren’t willing to learn the syntax(it’s seriously not that bad; people just hate on anything that isn’t a direct Algol/C derivative), probably didn’t really want what they were asking for to begin with.

I wouldn’t use the C++ docs as an excuse to not even bother with using C++. After all, the BP docs aren’t technically fully complete. Look at this node- What would be the practical use of this node?? What about thisone? If you’re not familiar with what a string asset is or what you can do with it, does the documentation help you understand it?

I feel like this could help you, whereas this probably wouldn’t (at least not at first). I think for the most part the portions of the codebase which are not documented aren’t available to BP at all anyway. If they are, and the documentation for BP is better then you can take usage notes from that anyway.

In general the docs could stand to be better, but C++ in UE4 is far from impossible because of it.

And I really don’t know whats wrong with BP. They can get messy, but so can code.
[/QUOTE]

If BP starts to get really messy/large/complex it tends to lag my editor. In addition, there are a myriad of bugs (notable) with BP that can break projects, make you lose work, or just annoy you. BP doesn’t seem to handle complexity very well. Oh, and I’ve observed functionality removed from BP over time (nothing significant- probably shouldn’t be in BP anyway) so its worth remembering that while (to some extent) Epic control what you can do with BP, you can technically do whatever you want in C++.

Oh, and you can’t merge BP (think source control).

I wouldn’t call this an improvement, nor would I describe it as a script. This is just how they made it so that you can copy and paste groups of nodes. I can’t see why you’d prefer this to C++.

I mean, how in the world is this “script” better than code?

I surely would prefer C++ for everything but you can’t code everything in C++ anyway because Epic Games is forcing the use of BluePrint on so many things in UE4. AND that is even silly because UE4 is marketed to give full access to C++ full source code…but without full documents it becomes a joke.
And the lack of proper documents for C++ APIs is a huge waste of time because if you want to code in C++ you need to manually inspect the full engine source code which is many millions of lines with multiple references and interwined dependencies. Which makes that practically impossible for many things unless you got many months to waste just to search things inspecting the full source code to figure out how to use methods and classes properly.
At least if it was possible to officially use BluePrint as a textual scripting language then coding some complex algorithms wouldn’t take weeks but minutes or hours like for any other language.

If you’re seriously saying that you’d prefer to work in the “script” you mentioned rather than just attempting to use C++, then frankly I’m not entertaining this conversation.

?? What ? You just skipped reading what I wrote or are you doing that on purpose “to win” I don’t know whatever you think you would in a childish way?

Strange. I’ve never felt like I was forced at any point. Can you provide at least one meaningful example ?

Well I guess no one looked at the roadmap because if you had you would have noticed Python.

It seems to me, it’s meant to speed up some asset workflows. Like easier scripting operations on large amount of files? And not for gameplay scripting.
Description says “All of the editor APIs exposed to Blueprint will be made available to Python scripts allowing for sophisticated asset pipelines.”

I seriously don’t understand one thing. If is difficult to use C++ without mythical full documentation for you, how it’s possible that you’re able to use blueprints?
Since every single blueprint node it’s C++ function exposed to visual scripting.
Since you can quickly prototype solution in blueprint (aka “I have no idea how this systems work”) and move to C++ with proper implementation.

I used word “mythical” with “full documentation” because you never gonna get such thing.

  1. Working on good docs takes at least the same as implementation itself. And you need skill for that - it’s not easy for every developer to explain everything clearly, even for beginners. That’s normal for every big piece software - if you would make your team to document everything, product/service would be developed like 2x slower.
  2. And engine changes every day. It’d be incredible effort to keep docs updated all the time. More time spent on docs than development. That’s unacceptable in such competitive industry.
  3. Even simple design docs for game become outdated after few days and nobody has time to correct it. This is developer’s reality.

Guys, you got unlimited access to source code (almost live access) of technology developed for 20 years. And you’re complaining because you need spend some time to understand it? Few years ago you’d had to build a game engine for yourself to start an actual work on game.
Yes, sometimes I encounter complex system I don’t understand at all. So I’m asking for help on AnswersHub quite often. There are lot of people with the access to this code and they help a lot :slight_smile:

Also, I strongly recommend Visual Assist to every VS user, it’s nightmare to work without it. Minutes of waiting for Intellisense results, nope, nope. Embrace tomato! Worship tomato! :smiley:
https://.wholetomato.com/

Asking about any other language is simply insane. Devs don’t have enough time to address all issues with VS 2017 on time (important compilation fixes coming in the next release, half of year after VS 2017 release) and blueprints (many issues waiting for 3 years!). And you want another language, so we would end up with less polished features in every language? And worse documentation, of course :wink:

Any new programming language is highly unnecessary.

Sorry but that is just nonsense.
Apple documents on Swift and Objective-C APIs have been updated continously and with Swift they are still changing many things with APIs getting deprecated all the time. Still they update documents properly.

Do you seriously believe that millions of lines of code can be mantained by any programmer without having reference documents of everything that exists in the APIs written over the years? Any software house must have those internally otherwise there is no chance for programmers to synch their work and remember everything.