Can you code everything in blueprint?

Hi sorry if this is such a noob thing to ask, but I was wondering if there were limits to what you could code with blueprint. I am a super nub with C++ so I have no clue how to do that. I love the whole look and feel of visual coding but I was wondering if it was limited to what you could do with it.

Hey Richapocalypse,

You’re really only limited by your imagination and time! I highly recommend watching the Blueprint tutorials here,

They’re listed Blueprints - 1… 9 near the bottom, and I’m sure more to come. There really aren’t many limits to what you can do with blueprints - sometimes things can be done more efficiently or easier using C++, but blueprints have tons of advantages. And nothing is written in stone, so if you encounter something you can’t do with Blueprints, let us know! We want to make blueprints as powerful and as simple as possible.

The Tappy Chicken sample is written entirely in Blueprints - and that’s a full game! :smiley:

Cheers,
Nick (Epic Games)

Thank you for your input Nick! So you’re saying I could even code an entire FPS with just Blueprints?

Am sure you can.

I have during the beta, it’s not for the faint of heart, a lot of theories on how to get a vector and do useful stuff like target acquisition and things aren’t / weren’t made into functions, so you had to create your own. Which wasn’t bad, but if / when epic changed things as far as arguments to functions and things sometimes (During Beta) certain blueprints were un-recoverable, and the engine crashed on loading the editor.

The only way to “Recover” was to screen shot it with an old build, and re-create it in the new one, and create new nodes with new inputs/outputs.

Yes - in fact a lot of the “Shooter Game” sample is in blueprint!

We’ve made a lot of improvements since beta :smiley: Though if you find yourself running into that still - let us know!

I don’t doubt it, from a recover-ability perspective a binary should always be more scary, and a calculated risk, than an ASCII File you can hack, in case things go wrong…
That’s all I was trying to communicate, but yes Blueprints are very flexible, and were highly used by me/my team when prototyping game play, from AI, to Events, to Character Movement, and camera switching (FP to TP) Etc…

You say “a lot” but not all of it right?

What parts of it aren’t in blueprint?

I have a very short answer for you here: You can but you really don’t want to!

Long version: Blueprint is a visual scripting interface. It’s been designed to code the interactions between C++ classes, methods, properties and events. Sure, you have pretty generic classes ready to be used and quite enough for small and simple games, but as the game becomes less simple the necessary Blueprint networks become impossible to manage and even to read :slight_smile: Specializing a class in C++ will allow you to use it in Blueprint to code the gameplay logic, but allows you more performance and way better readability of your Blueprint networks :wink:

I’m actually not sure there is anything in ShooterGame that couldn’t be done in Blueprint! We built it with a combination of BP and C++ because we think that will be a very common way to build games in UE4 (and how we build games here at Epic).

Most things you cannot do in Blueprints are because of performance reasons (e.g. rendering or animation features) or language reasons (e.g. unable to talk to other C++ APIs, lack of more advanced types like maps).

Thanks for the response!

Right. So for example, in ShooterGame, when I open the MyCharacter Blueprint and go to the EventGraph, it’s set up with a few different functions that trigger pawn movement.

Where are those functions stored?

I’ve run into an interesting problem that I’m really unsure if it could be solved in blueprint. I looking to do a low poly stylized game. I found a tool made in/for unity that converts high poly meshes into low poly ones with color maps. You can also create low poly landscapes the same way you one would paint landscapes in the ue4/unity editor.

I’ve contacted the developer and he said blueprint is too limited to accomplish this task and he doesn’t know c++ well enough to code it.

Here is a link to the tool: Tool Website | Unity Page

Does anyone know if he is correct?

From what I’ve seen you could try and re-create the base mesh, with a triangulation setup, and then copy vertex colors from it by nearest neighbor from the new mesh, and then hide the original.

The tricky part would be creating a bounding volume, similar to the way collision is done, and then re build the geo.

I think he’s wrong as to the limitation of blueprint, if anything the C++ implementation could be faster and more optimized, and could take advantage of existing libraries for building proxy geo, but blueprint could be easier to deal with if / when code changes to the engine come along. But I think blueprint is very flexible, it’s just like normal code if you start having to build your own classes, and functions, it can get messy quick.

Either way it’s not for the faint if heart.

The real question is why you wouldn’t build the geo the way you wanted it, with LOD’s in maya, vextex light / color it, and then import and light it further in Unreal ? Why build high poly geo, just to decimate it ?