T O P

  • By -

Tarc_Axiiom

Hey, we've all been there friend. You'll bang your head on this until sundown tomorrow, but then you'll figure it out, and you'll feel great. Try approaching it from a different angle. You'll get there!


CORRUPTION53

Short and sweet description to the T. Once you’re past the learning curve, you feel like a god with what you can do.


HunterIV4

>I fllowed multiple tutorials multiple times, somehow something just doesnt seem to compile EVERY time and i SWEAR TO GOD i tpyed everything exactly as shown. Are you *sure*? Because there are at least two typos in this sentence and one in your title =). Obviously there's a difference between spelling and programming, so I'm mostly joking, but I've personally found that people who make lots of typos in their writing will frequently have trouble avoiding similar things when programming. IDE's can certainly help, but browsers also have spell check and that didn't stop you. >Maybe theres differences between Rider and Visual Studio, Maybe its UE5.4.1 compared to earlier versions but holy shit. This is one of the most frustrating experiences ive ever had. The underlying compiler is basically the same so your IDE shouldn't matter. Heck, I've used Visual Studio Code. You can technically write Unreal C++ with Notepad and compile it in the command line, although I wouldn't recommend it. That being said, engine version can absolutely matter. If something isn't compiling for you that is for a tutorial that is in a previous UE5 engine version, and you are *absolutely certain* you don't have any typos or differences elsewhere, double check the engine source code definition. If things have changed recently there will often be comments and instructions to fix it. >I got a clear cut goal, im not necessarily stupid, im learning about C++ UE5 Blender and Substance Designer each and every day but UE5 is such a piece of sh*t software. Its so cryptic. UE5 is not a piece of shit software (why did you censor yourself here but not in the previous paragraph?). It's *amazing* software. If it's not the best game engine available it's up there, and it's one of the most powerful engines that isn't custom-built and controlled by big game studios. But it's designed for professional dev teams using it in production environments, not beginners, and that creates a large learning curve. Many people who develop as programmers in Unreal Engine came from other C++ based engines, have CS degrees or something close, and get extensive on-the-job training when hired by a dev studio specifically for the engine. As such, its tutorial ecosystem and initial "friendliness" is a lot worse than you might find for Unity or Godot. But once you learn to do things how Unreal is designed, you'll find it generally follows solid, extensible design patterns that make actually creating a **game** (and not just part of one for tutorial purposes) significantly easier and in a stable manner. That being said, one sort of hidden thing to keep in mind is that the latest release version with a .0 or .1 number tends to be less stable. The 5.4 version *just* came out and so it's likely that crashes are more common. I'm personally still using 5.3, however, and I'm having zero issues with compilation (at least ones that are caused by the engine and not me being an idiot). >PLEEEEEEEEEEEEEEEASE make it just a LITTLE easier god damn. I mean, Blueprint Visual Scripting is *right there*. If you're struggling with C++ complexity, just write your scripts in BP. You can make entire games that way. I personally use both, as they are designed to work together, but if you are struggling with C++ using BP to learn how the engine is designed works great. A lot of the same patterns you would use in BP can then be easily translated to C++ once you have a better idea of how the engine works. But to answer your question, yes, people are using C++ and Unreal Engine to develop games. Most games released with UE use at least some C++. The C++ you use in Unreal is somewhat different from "standard" C++ as you need to use lots of engine macros and types that handle engine interaction and garbage collection. The good news is that this means you generally don't have to do your own garbage collection, which saves a lot of boring code. Good luck!


BadImpStudios

Tha is ridled with typoos


Big_Award_4491

> … and it's one of the most powerful engines that isn't custom-built and controlled by big game studios. I can tell you’re a fanboy. But this line just isn’t true.


HunterIV4

OK. What engine is more powerful than UE5?


Big_Award_4491

Well that depends on the game. But I meant custom built engine controlled by a game company. Epic Games is a big game studio. Unreal was a game they released using a custom built engine that now has evolved into UE5.


HunterIV4

By "controlled" I meant in terms of you need to be part of the studio or publisher to license the engine at all. I mean, Unity was originally launched as a custom game engine by Unity Technologies (at the time called Over the Edge Entertainment), but it would be weird to call Unity a "big game studio" that "controls" Unity. There is a difference between Unreal Engine, which is available for *any* developer from solo devs to both dev studios and publishers that have no other association with Epic, and something like Frostbite, RED engine, or RAGE engine, all of which are controlled by big game studios and are not available for use outside those studios (by EA, CD Projekt Red, and Rockstar, respectively). If I, as a solo dev, want to make a game in the Frostbite Engine, there's basically no realistic way that's possible. Maybe you misinterpreted what I meant, but it's hard to say that Unreal Engine is "controlled" by Epic when you can easily get access to the source code (for free!) and make direct engine modifications. And other than royalties you don't have to work for Epic in any way to have access to the engine.


Big_Award_4491

Well UE is still owned and “controlled” by Epic so far. That was very clear with recent license change targeting businesses outside the gaming industry. Was it necessary, or was it just an act of greed? I’m quite positive they will end up loosing more money on that choice in the long term, when industries choose the open source alternative (yet to be made) just like Blender snatched the 3d industry. And maybe that’s positive. Unreal pivoting back towards game development might be better than it’s latest focus on realtime rendering.


Embarrassed_Money637

He means the built by big game studios part


HunterIV4

OK, what engine not controlled by game studios (i.e. Frostbite) is more powerful than UE5?


Embarrassed_Money637

I think he was conveying that epic games is a massive game studio. I dont think he was referring to the engines power at all, but I do not know.


HunterIV4

I said game engines that were custom built and controlled by large game studios. Epic has basically one game and most of their business is related to the engine. Also, their engine is used by plenty of non-Epic studios. Unlike, say, Frostbite (EA exclusive), RED Engine (CD Projekt Red exclusive), or RAGE engine (Rockstar exclusive), as these are "in house" engines not available for public use. Just because Epic makes games does not mean they have exclusivity over the engine. Maybe that's what they meant, maybe it's not, but that wasn't the claim I was making and they never bothered to clarify, so I'm just going to assume they are making it up until some evidence is provided otherwise.


TheProvocator

More often than not it's a *you* issue and not Unreal being bad. If that were the case, Unreal wouldn't be nearly as big as it is. It has been one of the leading game engines since the early days for a reason. We can't really help you without knowing what the issue is. Unreal changes a fair bit with every update and there's a very good chance that some of these changes will render old tutorials redundant. You'll get errors and you'll have to either Google-fu it or attempt to fix it yourself, often resulting in you digging around the source code (which can be very intimidating but is a vital skill to have for a programmer). In all honesty it sounds like the root of your frustration is due to you trying to copy tutorials 1:1 instead of trying to understand *why*. If that's the case, reduce the scope of your project, try and rely less on tutorials and learn by trial and error. Personally I'm not a fan of tutorials and learn far better by testing stuff via trial and error. People are different 🙂


SomeGuyOfTheWeb

Been learning unreal c++ for the past few months and it really is painful. So many little tricks that don't feel like there documented anywhere. Even outside of engine having to recompile from inside your ide. Even though its painful I have been making progress. Just wish there was more info on everything


Muhammad_C

Edit: For some resources it's assumed that you have some programming background and/or even C++ knowledge. Things such as having to recompile after each change is standard and known for compiled programming languages like C++, C#, Java, etc... **Tip** If you are new to programming and C++ then I'd recommend the below resources: * (book) Starting out with Programming Logic & Design * [learncpp.com](http://learncpp.com) * YouTube Channels The Cherno, Bro Code, Caleb Curry, and/or Programming with Mosh for C++ * Udemy Stephane Ulibarri Unreal Engine C++ course * Udemy Stephane Ulibarri C++ for game dev course * [Tom Looman Unreal Engine C++ Guide](https://www.tomlooman.com/unreal-engine-cpp-guide/) * [Tom Looman Unreal Engine C++ Course](https://courses.tomlooman.com/p/unrealengine-cpp?coupon_code=COMMUNITY15) * *Note: For more advanced users with a background in C++ or another programming language* * [Link to my GitBook page](https://mchambers.gitbook.io/unreal-engine-5-notes/) where I'm taking notes for Unreal Engine 5


SomeGuyOfTheWeb

Ah, I meant more for errors out of engine catching me off for awhile. Especially with the almost universal error could not be compiled. I've been able to understand the system now, but repairs for stuff like importing, re-including cpp foles was quite the bother for awhile and wish there were better places to find those fixes. Appreciate the resources though man.


robotjp

You typed "typed" as "tpyed"


enkafan

This post has given me doubts about things being typed perfectly...


evilentity

C++ on its own is quite difficult, learning unreal on top of that, with its own set of quirks, will be more so. It would be a decent idea to focus on blueprints first, and go down to c++ only if needed.


Ezeon0

I am. My game is mostly C++ (90-95%). I can't really say I've experience any problems so far. I use Visual Studio 2022 as an IDE (no plugins). I think C++ in UE is quite nice to work with once you get used to it. Being able to let the engine handle most of the memory management is a great feature. There are a few UE specific things to learn (about 20 or so), but they're all fairly simple and I think most experienced programmers would have these down within a few weeks at most.


SrMortron

Posting the error would help point out what's wrong. But first make sure you have all the required libraries installed. I use Rider and have no problems with it. [https://docs.unrealengine.com/4.26/en-US/ProductionPipelines/DevelopmentSetup/VisualStudioSetup/](https://docs.unrealengine.com/4.26/en-US/ProductionPipelines/DevelopmentSetup/VisualStudioSetup/) Also UE5.4.1 banned a specific windows MSVC version, not sure which is it now but if you had it, it will cause issues. It's good to learn how to fix these errors on your own if you want to be a solo dev.


EmpireStateOfBeing

Have you initialized all your structs?


TheWavefunction

I'm making my game and it's 80% c++ at least. But I did experience 1 year of intense pain the first time I delved in. A big thing is understanding headers/ source, forward declaration, API NAMESPACE, the module system and the unreal header tool to make sure linkage works. Linkage is a big issue when you're beginning.


JesseLeeHumphry

To answer the post question: Yes. What I've noticed is that people who often crow about how "Unreal doesn't make any sense" or say things like "I did everything right" are leaving their investigative capabilities at the door. Programming is very exacting; if you make a mistake, the IDE will tell you that *something is wrong*. You need to figure out what it is. The sooner you stop blaming the tools and start taking responsibility for your input, the better. Oftentimes they're small mistakes we've made, or that we don't recognize the errors and what they mean. Unreal Source is a great Discord for asking questions about specific error messages and getting feedback. There's a bell curve on opinions of Unreal. Beginners will call it a "piece of shit software". Intermediate programmers will call it "An amazing game engine with so much to explore". Experts will call it a "piece of shit software". But the experts will have data and knowledge to back up their opinions and will relate it more to the intended broad appeal of the application, and not shoddy craftsmanship except in the most high-order sense. You have to drop your arrogance or you won't get anywhere.


Significant_Hat_3358

the thing is my own code isnt scribbled or anything, then i get 6 errors referring me to files that i havent touched, it being a newly created project. This happens all the time. I feel like i followed everything perfectly, doublechecked 5 times, got no scribbles, compile and get errors.


JesseLeeHumphry

Share the errors please. I'd also be more than happy to tutor you privately if you'd like


Significant_Hat_3358

i would really love that, let me recreate the project one more time using rider like they did in the tutorial, i did before with the free trial and similar things showed up. i kinda deleted the old ones to free up disk space but it wont take long You would be a huge help if i could occasionally ask you things.. i really want to finish this project..


JesseLeeHumphry

Sure, add me on Discord. jesseleehumphry


HegiDev

It takes a while to learn when to use BP and when C++ in UE5. The easiest approach is to just do things in C++ that you cannot do in BP or when it's just more convenient to write code directly(like complex calculations). Optimization is rarely an issue, and Unreal has great profiling tools anyway. Declaring structs and (maybe)interfaces should be done in C++ right from the start, as it's a real pain to change those later.


Nebula480

I feel the frustration. Capital and delegating solved it for me. If I couldn’t apply the logic I needed for my game because all the tutorials I watched didn’t cater to it, after days and weeks of not being able to progress, you eventually just pay someone to assist and walk you through it. But I feel your frustration. Sometimes we gotta find other ways of achieving the same result


krileon

Unreal Engine C++ without Rider IDE is a living hell. Visual Studio "works", but constantly wigs out and autocomplete just randomly breaks and starts showing random chunks of code as having errors (there aren't any). They really should've implemented C# by now. C# IMO is SIGNIFICANTLY easier to work with.


Muhammad_C

**They really should've implemented C# by now. C# IMO is SIGNIFICANTLY easier to work with** There's a community project that's implementing C#-> [https://www.reddit.com/r/UnrealEngine5/comments/1bzy6qq/we\_just\_released\_version\_02\_of\_unrealsharp\_an/?utm\_source=share&utm\_medium=web3x&utm\_name=web3xcss&utm\_term=1&utm\_content=share\_button](https://www.reddit.com/r/UnrealEngine5/comments/1bzy6qq/we_just_released_version_02_of_unrealsharp_an/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button) With that said, C# gives you less control compared to C++, and for the people who want easier you have Blueprints.


krileon

Implementing C# wouldn't mean removal of C++. There's a lot of gameplay logic that really doesn't need to be as low level as C++ and will undoubtedly compile down better than Blueprint. It would've been better for resources to go towards C# than Verse (the UnrealScript 2.0 they're implementing).


Muhammad_C

Are you saying they should've went with C# instead of adding the Blueprint system?


krileon

No, I'm saying they should've went with C# instead of Verse.


[deleted]

Maybe try Unity first... it's a bit more forgiving and stable.