Can I make an entire game in blueprint? Is there a reason to make my project in C++ over blueprint? I don’t really have a problem with C++ or programming its just that Visual Studio (Community) is a meaty install at around 10gigs and could take a long time to download.
Yes you can do almost everything in blueprint (there are always few things that need programming)
Give me an example of what I can only do via C++ solution?
In what way would blueprint be limiting?
To have more information, you’ll have to dig by yourself in documentation and forums. As there are regularly new versions, things doable or not evolve in both c++ and blueprint.
Voxels require dynamic meshes, which blueprint doesn’t yet support.
There are tons of little things that are really game specific where you would want C++ over blueprint. Some are performance related, and some are due to lack of functionality in blueprint.
In general, you can make a game similar to just about any game out there using only blueprint. It is the finer details of execution in specific cases that is often what you would find lacking in blueprint.
Blueprints are great, they have more limitations than C++, but also have many strong points compared tto C++. So it is matter of taste.
Small game, go for BPs until you learn unreal API. Then do some C++. And after that you will know what you prefer for which task.
Imo, best in unreal is hybrid coding C++ and BP, use each where it shines.
I plan on doing everything in BP. I could not code if my life depended on it.
Yes you can make an entire game in blue print. It includes all required features.
File I/O and procedural meshes are pretty much the only things that can’t be done in Blueprint. I tend more toward C++, but I am making a game entirely in Blueprint as a test case and it’s coming along great.
You may however face some corruption issues that seem unfixable in some blueprints though, so make sure to keep a ton of backups. I always have at least ten steps back, making a backup every five hours or so. This has saved me a few times that had I not made them, I would have lost everything.
Edit: As I understand, networking features are in their infancy with blueprints, but they are getting better. I have no experience with Unreal networking yet, so I don’t know how good it is.
What can’t be done in blueprint can surely be done by some rama magic?
That’s also partly true. A lot of what isn’t exposed to BPs directly seems to get exposed by Rama (and then later committed to the master branch) or others doing similar work.
The big thing right now, as mentioned, is file I/O. Dynamic meshes aren’t really something every game will need or want, but it’s difficult for me to conceive of a game (more complex than a two-button mobile game) that won’t want a Settings menu, for creating gamewide changes to config .inis (especially for input remapping, and for in-game options which don’t directly relate to Epic’s native engine scaling stuff like difficulty, volume mixes, etc) which can’t be done without C++ since writing .ini files is not exposed to BP directly.
There’s also some stuff that might frustrate you WRT not being able to change or modify default components of classes; for example, NavModifiers can be made Movable in C++ but in BP that functionality isn’t exposed on the default component so BP-only projects are stuck with Static NavModifiers only. There are also some edge-case-style things with the CharacterMovementComponent (setting minimum movement speeds and making the player up vector not be hardcoded to Z=1 are some examples from around the forums).
The good news is that every version of the engine seems to be closing that gap, to the point where it’s not difficult to conceive of a version of UE where BPs can literally do everything C++ can (though there are still efficiency concerns).
You can, but you will have moments where you are angry about why something is not possible (e.g. getting default object of class) or only possible in some bad/ugly way (only one return node per function). Blueprints are awesome and I use only blueprints for my game, and 90% is awesome, but the 10% are taking way too much time to figure out how to avoid certain bugs or missing features. And yeah, there are too many bugs in blueprint which you don’t face if you use c++. And the Engine crashes quiet often while compiling blueprints or setting values in blueprints.
I would call blueprint still being in “beta” status. But I’m confident Epic will improve them a lot in the future.
Is there any lighter IDE I can use other Visual Studio?
The million dollar question right here.
To answer your initial question, we love blueprint. Blueprints do so much, and once you learn how to organize them with custom events, they are even better. They take up a little more room, and yeah, they take a little longer to set down. What you gain however is much quicker debugging and less code iterations to get the desired effect.
Whatever time you lost laying it out with blueprints, is gained through less mistakes.
Can you mix blueprint with C++? Blueprint seems good for quick debugs, prototyping, and tweaking while C++ is better for custom/ more complex things. I’m gonna take the plunge and download VSC anyway. Takes about 3HR with my moderately decent internet connection and a sizable chunk of my hard drive but its worth it considering my professional goal.
You can create blueprint nodes in C++ by using macros.
I am doing my project entirely in BP but I do depend on Rama’s Victory plugin for specific things. So far so good anyway.
You can definitely both create entire games using blueprints as well as have a mix of both C++ and blueprints. As The Britain pointed out, you can even create blueprint nodes in C++. I personally strictly utilize blueprints in all of the projects I have as I find them both powerful and managable for someone like me who does not know any C++.
And you can always ask someone to put together a custom node for you if you’re willing to make your project a code project.
Sorry to bump this old thread but I wanted to know if I understand something right. Besides the minor things that aren’t implemented in blueprints that were mentioned here, I watched an AI tutorial with Ian Shadden (think I have his name right) and he said for anything AI you eventually want to use blueprints because its less efficient and AI is constantly checking values many times a second.
Also, can someone explain what nativization is? It just creates c++ code from your blueprints is all? It also makes your project file larger? But I suppose it has those same limitations since if something hasn’t been implemented in blueprints, then there’s be no way to create in the first place to generate the nativized code. But I could use nativization to create c++ AI code?
I don’t mind learning c++ and I’ll get deep into it one day but for now I need to work on getting better at modeling and stuff first.
Also, I’ll search this but what are those limitations mentioned, file i/o and procedural mesh? So specific writing to files and creating/editing a mesh using math instead of your DCC app Are weak in BP?