Getting into C++ with Unreal Engine - Part2 - Blueprint Function Library

2024 ж. 15 Мам.
24 522 Рет қаралды

This video is the second part in a short series aimed at giving people who want to use C++ with the Unreal Engine a helping hand to get started.
In this part, I go over creating an Unreal Project that uses C++ coding, we take a brief look at some important project files, and familiarize ourselves with the IDE.
I then work through a simple example; using C++ to create a Blueprint Function Library, allowing you to add your own custom Blueprint Nodes to your projects.
Links
Chat about gamedev on Discord: / discord
Unreal Build Configurations: docs.unrealengine.com/5.1/en-...
Chapters
00:00 - Introduction
00:28 - Creating a C++ project
02:11 - Project file structure
03:10 - Getting to know the IDE
06:38 - Project & Solution
08:45 - Live Coding
10:46 - Examples
11:05 - Setting up the examples
13:42 - Making the examples
23:59 - Summary

Пікірлер
  • It has come to my attention (basically a nice guy on Discord told me) that in the video my Rider displayed a Unicode NOT EQUALS symbol, where I had actually typed in != I have no idea why or how it did that, and I cant even make it do it again... and if i didn't have the video evidence to prove it actually did it I wouldn't believe it. It certainly doesn't do it now! So be warned, don't type a single Unicode not-equal symbol, type != Sorry!

    @ggamedev@ggamedev9 ай бұрын
    • You've probably enabled ligatures or copied code with ligatures. Thanks for the video

      @NicolasGagne@NicolasGagne8 ай бұрын
  • These are easily the best C++ tutorials for Unreal. It's exhausting to sit through slow, meandering tutorials. How wonderful it is with tutorials for programmers who just need a speed-course in another platform.

    @HollywoodCameraWork@HollywoodCameraWork7 ай бұрын
    • Thanks for the comment. What I do though, is make a huge cup of coffee, honestly, its more like a bucket with a handle, and then get those videos (because some are really filled with great information - just tedious to watch), and I start viewing them on 1.5x speed. If that goes fine, then I bump it up to 2x speed. (I mean, its like KZhead knows about attention spans!) Its so good, I find a video, I look, I'm like 'Damn! its almost 2 hours long!... 2x speed, under about 50ish minutes... RESULT!) The only problem I found, after watching lots of videos that way, is that when I step away from the computer and try to talk to people, they complain that I'm speaking way too fast. Whatever. Small price to pay ;-)

      @ggamedev@ggamedev6 ай бұрын
  • dude, the humor, the pacing. Please don't stop making these. I know the view count is low for game dev tuts but i cant thank you enough for this.

    @EricYoungVFX@EricYoungVFX Жыл бұрын
    • Thanks! And you are right; the view counts for these types of videos are lower than 'cats on skateboards' (aww bless!), because we are not the mindless masses, THIS IS SPARTA! Ahem, I mean, WE ARE GAMEDEVS!

      @ggamedev@ggamedev Жыл бұрын
    • @GGameDev this was perfect to get me off the ground running now I have health and damage systems in c++ along with a slew of custom blueprint functions. Thanks again.

      @EricYoungVFX@EricYoungVFX Жыл бұрын
  • "remember to stretch properly before trying to pat yourself on the back" LOL that one tickled me

    @phraggers@phraggers8 күн бұрын
  • "Remember to stretch properly before trying to pat yourself on the back." Nahhhh I can't 😂

    @cappedmonke5509@cappedmonke55099 ай бұрын
  • This looks like it's turning into a great series. Keep them coming!

    @tastysnak@tastysnak Жыл бұрын
    • Thanks a lot! 😊

      @ggamedev@ggamedev Жыл бұрын
  • Amazing tutorials. Looking forward to part 3

    @damianlarocque4958@damianlarocque495811 ай бұрын
  • This is exactly what I've been looking for to start learning CPP in Unreal! Thanks so much! These tutorials are masterfully crafted and I love the presentation!

    @tsp706@tsp7066 ай бұрын
  • Thank you so much for making this. It is sensational, exactly what I need.

    @mdlsvensson@mdlsvensson2 ай бұрын
  • THANK YOU... really hope you start pumping these videos out. As someone new to programming these tutorials are incredible!

    @BLACKOPS1499@BLACKOPS14998 ай бұрын
    • Glad you like them!

      @ggamedev@ggamedev8 ай бұрын
  • really great tutorials, you gotta keep making this series it's so helpful!

    @seantoal5261@seantoal526111 ай бұрын
    • Thank you for taking the time to drop a comment. 😄 I have been kinda busy with a few things, but there are new videos on the way soon.

      @ggamedev@ggamedev11 ай бұрын
  • Ohhh your videos helped me sooo much understanding what is happening with all of this blueprints and "EPIC's C++" stuff. I was struggling with the basics like for a few days trying to do read documentation and searching for simple niche tutorials and forums. Thank you!!!

    @mikuri_13@mikuri_1311 ай бұрын
    • I'm so glad it was useful to you. Thanks for taking the time to let me know 😄

      @ggamedev@ggamedev11 ай бұрын
  • 😩 this channel is gold it's literally going through all the functions in ue4😮

    @youtubemofi@youtubemofi3 ай бұрын
    • Anything on taking a screenshot and outputting it to a texture in there? Basic stuff that every other engine has.

      @user-fm9zo5le2v@user-fm9zo5le2v3 ай бұрын
  • Cool! Waiting for part 3!

    @davidonskystream834@davidonskystream834 Жыл бұрын
    • I better get on with it then! 😉

      @ggamedev@ggamedev Жыл бұрын
  • These tutorials are amazing! I am so thankful for you explaining all basic level concepts. As someone who is new to C++ and Unreal this is absolutely a blessing. Thank you so much! Your Tutorials are amazing.

    @ray3dx661@ray3dx6619 ай бұрын
    • Thanks a lot for saying so. I actually have a tough time deciding what to put in them, because I want to balance it for beginners to either C++ and/or Unreal. As Unreal Devs (and even GameDevs in general) we are a fairly small community (compared to other groups on the internet), so I don't wanna make stuff, so restricted to an even smaller audience that only 3 people can use it. 🙂

      @ggamedev@ggamedev9 ай бұрын
  • New fan here, looking forward to your new tutorials!

    @WeirdGoat@WeirdGoat8 ай бұрын
  • i almost got a heart attack with the voice effect at 5:30 thx sir

    @edgardsimon983@edgardsimon983Ай бұрын
  • awesome stuff pls plls make another 😮❤

    @robocrab5811@robocrab581111 ай бұрын
  • Great Tutorial, thanks

    @FraztheWizard@FraztheWizard20 күн бұрын
  • Thank you for this amazing tutorial. ❤

    @Fadiabuzant@Fadiabuzant7 ай бұрын
    • ...And thank YOU, for the superb comment :-)

      @ggamedev@ggamedev6 ай бұрын
  • Now this is some real S-tier content Hope the YT algorithm pushes this to the top for anyone learning C++ on UE

    @DopeLoopGames@DopeLoopGames10 ай бұрын
    • Now this is some real S-tier -content- commenting 😉

      @ggamedev@ggamedev10 ай бұрын
  • These are great!

    @GMLCoder@GMLCoder3 ай бұрын
  • Hi! I'm writing this so that other beginners don't do the same error as me, especially if you come from Unity or Godot. YOU CAN'T HAVE THE UNREAL EDITOR OPENED WHILE YOU WRITE YOUR C++ CODE! It probably seems obvious for most but I wasted more time than I want to admit trying to understand why my code wasn't building and the solution was just to close the UE Editor. Everything went well after that point and the video explains very well tho

    @louiscorona8465@louiscorona84658 ай бұрын
    • Actually, you can. But you maybe shouldn't. Run your IDE, open the solution into it, compile your code and run FROM the IDE - it will open the editor for you, with your project in it. (and the debugger attached) You can then use the 'live coding' feature, if that's how you like to work. (Preferably though, you code reasonable 'chunks' and just close/reopen the editor by recompiling in the IDE) But if you are not doing coding, just messing with the assets, etc, then just open the project directly.

      @ggamedev@ggamedev8 ай бұрын
    • @@ggamedev ok!! Thx cor the response and the great video!!!!!

      @louiscorona8465@louiscorona84658 ай бұрын
    • no fucking way that was that was the problem 😐 thank u

      @_iguana_@_iguana_2 ай бұрын
  • 5:22 I was so focused on your explanation that I thought someone was behind me and interupted my session, i jumped in my seat!

    @kingly7663@kingly76638 ай бұрын
    • Ha, that's amusing 😆

      @ggamedev@ggamedev8 ай бұрын
  • Great tutorial. Amazing how many mistakes I was able to create though...

    @exfrigidanocte@exfrigidanocteАй бұрын
  • Thank you. Please make more videos liek this.

    @samdash3216@samdash321622 күн бұрын
  • It was great! please do more :-)

    @mikealmogy@mikealmogy Жыл бұрын
    • Thank you... More are certainly in the pipeline 🙂

      @ggamedev@ggamedev Жыл бұрын
    • @@ggamedev Thank you.

      @mikealmogy@mikealmogy Жыл бұрын
  • This is just what I need, just in time. I have a week to make a prototype data visualization tool in UE. C++ for reading the CSV file and spawning the objects according to the data seems the way to go. Probably a UGameInstanceSubsystem. Oh my dev machine is Linux, so some extra fun here, but your videos include WHY as well as HOW so it's possible to figure out!

    @RobFisherUK@RobFisherUK8 ай бұрын
    • Interesting re the Linux dev machine... something I might try myself at some point

      @ggamedev@ggamedev8 ай бұрын
    • @@ggamedev might make a good video! The main problem I've had is Unreal Editor not picking up changes after building C++ code but that might just be me getting confused.

      @RobFisherUK@RobFisherUK8 ай бұрын
  • The fact this man only has 3k subscribers is a crime

    @KeavDog88@KeavDog885 ай бұрын
  • Thank you for the great series tutorial. Just wondering if it's possible to cover some rendering-related implementations by using C++ in the future?

    @evantseng6832@evantseng6832 Жыл бұрын
    • I'm always open to consider suggestions for tutorials. If you wanna talk about a specific idea, jump on the discord server 👍

      @ggamedev@ggamedev Жыл бұрын
  • Finally managed to finish this tutorial, and while very hepful to teach the basic concepts, at some points it was a tad fast, considering it is aimed at beginners with UE5 too. Like not mentioning which shortcut to use when starting the playing in the UE editor, scrolling too fast over the more lengthy code for the statistical example function, and not being overly clear about which Append blueprint to use to create output for said function. I had to replay the bit where that Append was added several times to finally catch what the creator said at this point, as it was spoken rather quickly (I'm not a english native speaker). Last but not least it completely skips over how to set up visual studio to work together with UE, that bit I had to find elsewhere. Still, overall good tutorial, on to part 3 then :-)

    @Bezayne@Bezayne4 ай бұрын
  • Fantastic. Defenitely helped it click for me. I am a senior engineer but new to game dev. I was having trouble understanding how the code that I'm writing just magically appears to be useable in the blueprint editor (or rather the starter template code) and it was just like HUH?! I couldn't find the missing connection. The missing connection were the Macros above the functions etc. I come from Unity and I'm used to having to explicitly go and hood things up AFTER the code is written but this just hooks things up based on what is in the code for you and makes it available for use to do other things within the editor such as become a function for blueprints, etc. Unity is like, Go use it now. Unreal is like, what do you want this to be? Where do you want to use it?

    @Infamous159@Infamous1592 ай бұрын
  • So for anyone else who is using Visual Studio and found that the "play-button" shows something different than "Local Windows Debugger": You probably changed your startup project by accidently selecting something in the dropdown menu to the left of that button. For me it was set to "Unreal Build Tool", which resulted in an error. To switch back to your actual Project you have to go to the Solution Explorer and right-click your project (the two purple plus signs with the name you initially chose - most likely the first entry after expanding the "Games" folder) and select "Set as Startup Project" in the resulting context menu.

    @sniperfreek@sniperfreek3 ай бұрын
    • That's for helping out... with unreal engine we gotta help each other as much a possible, because the official docs are 'a little lacking', to be polite about it..

      @ggamedev@ggamedev3 ай бұрын
  • Mega good. There is far too little content on the subject or what is there is overlaid by VisualScripting. What I would be very interested in is how best to communicate with external code. How to implement things like reinforcement learning, for example, or how best to create a TCP connection via cpp here and process the data. Anyway, I hope you continue the series. I've really liked it so far

    @silversurfer8057@silversurfer8057 Жыл бұрын
    • The TCP thing is actually a pretty good route, because you can do a multitude of things if you can communicate (including even using the loopback address on a given port as a simple means of cross process communication) I'm working on a client/server database example which will be doing something along those lines, and the communication part can be used for anything, not just databases.

      @ggamedev@ggamedev Жыл бұрын
    • @@ggamedev perfect. it was definitely a hindrance for me to get into Unreal because I've often heard about the limitations in relation to development with (unreal-)cpp. I'm curious to see how an external connection works because that creates a number of options. =)

      @silversurfer8057@silversurfer805711 ай бұрын
  • Thankyou So much for these video's...ive recently switched to unreal and your video's help me alot. when will the part 3 is coming?

    @yashmalhotra9202@yashmalhotra920210 ай бұрын
    • It's in progress right now. Due to 'real life' getting in the way, its taking longer than I had planned, but its coming. ;-)

      @ggamedev@ggamedev10 ай бұрын
  • you are amazing

    @YoumojoJoJo@YoumojoJoJo Жыл бұрын
    • And you are obviously somebody with excellent taste! 😉LOL Seriously though, thank you for the positive comment.

      @ggamedev@ggamedev Жыл бұрын
  • "no soup for you" lol *cue base-line* I see you.

    @maxtermattman@maxtermattman8 ай бұрын
  • I followed your code on arrays. And it doesn't compile, not in VisualStudio, nor in UnrealEngine 5.2. But first two examples with pointless string and pi are working alright. Even though it never compiled any code for me in VS without errors, it then compiled it in UrealEngine Livecode. Thanks, I just needed a simple example to see if my setup is working nad your lesson provided exactly that 👍

    @PleaseOpenSourceAI@PleaseOpenSourceAI Жыл бұрын
    • Sounds like something in your VS setup might be a bit screwed up? I mean, the compilation for Livecode IS the compilation for VS, its basically the same stuff running in the background, it just gets called by different things. If you have specific error messages you wanna share, jump on the discord server... your experiences might not just help you, but others as well 😉 That having been said, 5.2 is NEW - and DIFFERENT; Epic have just introduced a new way that include files are handled (different order), and combined the unreal build tool & unreal header tool. While that might not be 'visible' to many devs, its actually a big change which might bite a lot of people in the backside, particularly when using legacy projects or code, moved to 5.2. It's probably gonna mean that many GitHub examples and a few KZhead videos (like mine) may need some updating or notes in the description to work around any problems.

      @ggamedev@ggamedev Жыл бұрын
  • thx

    @drakouzdrowiciel9237@drakouzdrowiciel9237Ай бұрын
  • My IDE didn't open automatically, but I found Menu > Tools > Open Visual Studio in Unreal.

    @BigScaryGames@BigScaryGames5 ай бұрын
  • I'm coming here after Unity new pricing changes... whatever, you know what happended and something I find strange with UE5 is this frankenstein mix between C++ and Visual Scripting, I can't get used to it. When I was working with Unity I was doing 100% programming, now after moving to UE5 every tutorials I saw still use this mixed blueprints/C++. Is it possible to use pure programming or Unreal force you to use their Visual Scripting system anyway ? This is for me the most weird way of working on a project.

    @K3rhos@K3rhos8 ай бұрын
    • Its a good question, and not 'simple' to answer really. Arguably the 'best' way of doing unreal development is a mixture of C++ base classes, and blueprint implementations of those, with the logic in the C++ Dont worry though, there is no 'visual scripting' in that method; the blueprint is just there to hold property values, think of it as a data structure more than anything else If you have questions, jump on the discord and we will do our best to get you to where you need to be to transition from Unity 😉

      @ggamedev@ggamedev8 ай бұрын
    • @@ggamedev Thanks for your fast answer, I will join the discord.

      @K3rhos@K3rhos8 ай бұрын
  • Great tutorial, just got 2 questions: * What does GENERATED_BODY() do? * You write ++i in your for loops, I've always written i++. Does it make any difference or could it be a language difference (I've mostly worked in C# Unity)?

    @Unforgiven215@Unforgiven2155 ай бұрын
    • GENERATED_BODY() is how epic injects a bunch of stuff required by unreal classes into your class, without you needing to do anything more specific than simply using that macro. Because unreal classes are doing memory management and garbage collection for you, in a similar manner to languages/frameworks like .net/C# or Java, but without that being 'baked into' the language itself, its just one of those things which people used to using C++ outside of unreal development just have to accept as 'how we do things' 😉 ++i vs i++ Yeah, I know what you mean, because 'back in the day' I always used the i++ form. (The language is called C++ right? not ++C 😆) Its basically referred to as 'pre increment' vs 'post increment' and as far as C++ is concerned it actually DOES MAKE A DIFFERENCE (sometimes) The difference is mostly to do with how the statement is evaluated. Both versions add 1 to the value of i ++i adds 1 to i and RETURNS the NEW value i++ adds 1 to i, but RETURNS the OLD value, before it was incremented So, if you are using it as a method to simply INCREMENT the value of i, then it makes no difference. But if you are actually EVALUATING it, then it DOES make a difference: int x = ++i; IS NOT THE SAME as int x = i++; Check out this SO link for more detail on that: stackoverflow.com/questions/484462/ddg#484572

      @ggamedev@ggamedev5 ай бұрын
    • @@ggamedev Ahh fancy! Thanks for the answer! Very clear and informative :D

      @Unforgiven215@Unforgiven2155 ай бұрын
  • great tutorials i hope u will continue and make discord server to chat and learn more about UE5 C++ thank u ❤

    @amoke8336@amoke833610 ай бұрын
    • We do have a discord server, link in the video description ;-)

      @ggamedev@ggamedev10 ай бұрын
  • Watched this and the first part today, amazing series? Just one question, after I made my c++ blueprint class, is the header file the GENERATED_BODY() macro is displaying the error message " this declaration has no storage class or type specifier", I did not even edit the script yet, any ideas?

    @hasanabdalla7102@hasanabdalla71029 ай бұрын
    • My first thought is: Are you using Visual Studio as your IDE? VS reports a lot of errors when working with Unreal projects, that are not actually errors. (because much of the 'magic' happens outside of VS control) Are you able to build your project, and then run it. If you can do that, then you can ignore whatever error you saw. If it wont compile, then perhaps try regenerating your solution file. Right click on the .uproject file, and select 'Generate Visual Studio Project Files'

      @ggamedev@ggamedev9 ай бұрын
    • @@ggamedev Alright yes, regenerating the solution file seems to have done the trick thanks!

      @hasanabdalla7102@hasanabdalla71029 ай бұрын
  • hi! Greate series i saw the first video and i loved it. Now im coming to the 2 round but when i create the blueprint function library this 13:44 " public: protected: and private:" dont show up. Im doing something wrong?

    @guillermofleitaspulido@guillermofleitaspulido11 ай бұрын
    • Well spotted! 😉 You didn't do anything wrong. I added those myself for 2 reasons: Firstly, I always do it as a sort of habit, I like to group the members in the class by their accessibility, so i make them first. Secondly, the DEFAULT for a class (if you dont specify anything) is PRIVATE, so I wanted to show that the GENERATED_BODY() belongs in private specified area. Obviously, if you just leave it at the top of the class, that is usually fine, but if you want to move it (and some of us prefer to) then make sure it is in a private area.

      @ggamedev@ggamedev11 ай бұрын
    • @@ggamedev I see! Thanks a lot for your quick answer :D

      @guillermofleitaspulido@guillermofleitaspulido11 ай бұрын
  • Great tutorial, thx

    @user-tm2vc1mb5j@user-tm2vc1mb5j9 күн бұрын
  • This seems to be the only good tuto I can find on the subject of UE5 and C++. However I need help, cause after I made the 3rd function, my visual studio start to find error into UE .h files (precisely AssetDataTagMap.h, StringView.h and ArchiveProxy.h), even if I only put "return FAverages(1.0f,2.0f,3.0f);" in it. Any Idea where it can come from ? I'm workin with UE5.3.2, not using live coding. Going back don't seems to correct the problem, the errors then asking for FAverages even if I don't have it anymore anywhere ... I'm currently hesitating between UE4, Vanilla C++ (my project is quite simple) or going back to Unity (but I want to work on my C++, so ... ).

    @Thyamath@ThyamathАй бұрын
    • The easiest way we can try to help you, is if you join our discord, (link in the video description) and then leave a message in the #unreal-cpp channel Its kinda difficult trying to even get problem details just using YT comments, YT's not really good at that kind of conversation type thing. 😄

      @ggamedev@ggamedevАй бұрын
  • can someone explain the ending with the flight attendant whats going on lmao

    @Lawnmowlester@Lawnmowlester8 ай бұрын
  • I'm a brainlet, my visual studio is not showing any code it's just blank, also at 5:39 when i click on add and then class the menu shown does not look like yours, how do i fix this.

    @Sam-rr4ek@Sam-rr4ek3 ай бұрын
  • will there be part 3?

    @jayn____5926@jayn____5926 Жыл бұрын
    • That is the intention. I aim for part 3 to go much more in depth into the various classes I kinda glossed over in part 1. Basically giving examples of what you can use them for, and why you might want to make your own, but also using example code to explain how some of the C++ features work so that they are more understandable to people coming from a blueprint background. I am working on it at the moment, while dividing my time on my own game game projects and some other things. I considered waiting until I had made all 3, and then releasing them together, but I figured it was better to let people have access to what I already had, and add more later.

      @ggamedev@ggamedev Жыл бұрын
    • @@ggamedev thanks 👍 I'll be waiting

      @jayn____5926@jayn____5926 Жыл бұрын
    • @@jayn____5926 +1 this series is awesome

      @ahmedshamz@ahmedshamz Жыл бұрын
  • I'm really struggling with this tutorial. Maybe I need some more basic c++ tutorials. I did manage to follow it all in the end but there's definitely a lot of mysteries still left to me and I'm not totally understanding why the code we're writing is like that. It would really help if you could paste the code somewhere so I can review it in text instead of pausing the video. The last bit of code in particular at the bottom is not easy to keep visible in youtube. Thank you nonetheless.

    @sarahlynn7807@sarahlynn78074 ай бұрын
    • Admittedly I should have posted a GitHub version of the project, as I generally do in the following videos

      @ggamedev@ggamedev4 ай бұрын
  • I got a list of errors after I clicked Local Windows Debugger: E0070 incomplete type is not allowed, E1455 member function declared with 'override' does not override a base class member ...... any one had similar issue?

    @zhbitjean@zhbitjean2 ай бұрын
    • Not sure if I solve my own problem. I managed to be able to debug using "Debug Game Editor". The "Development Editor" aren't working for me. I'm using Unreal Engine 5.3.2 with Visual Studio 2022 version 17.9.2

      @zhbitjean@zhbitjean2 ай бұрын
  • It''s just getting better

    @mr.dabolins@mr.dabolins6 ай бұрын
    • Thanks, I appreciate that :-)

      @ggamedev@ggamedev6 ай бұрын
  • I could not display "π".

    @k88.engine55@k88.engine556 ай бұрын
  • 9:08 As a programmer, this is actually the truth on how iterative programming is🤣🤣

    @bill.i.am1_293@bill.i.am1_29310 ай бұрын
  • Thank you for this tutorial! Just wanted to add that if anyone (like me) installs Visual Studio to follow this tutorial, you may struggle to set it up so it actually works with Unreal Engine. I found another very helpful video which guides through the installation process: kzhead.info/sun/e7V9o8-Ajalnp6c/bejne.html

    @Bezayne@Bezayne4 ай бұрын
  • It's a bit depressing seeing the modo icon on the Unreal's toolbar. That software is a walking corpse 🥲

    @LudvikKoutnyArt@LudvikKoutnyArt7 ай бұрын
    • I hear such comments from a few places... but on the other hand; they keep releasing new versions. So, I dunno. They tried a few years back to include features to make it more attractive to game dev, and honestly, I like most of what they did. But, I'm not sure the pricing was 'right' even with the indie version you can get from steam, or that they actually continued with any real commitment to the game dev market. The Modo bridge unreal plugin being a case in point - that thing could have been so useful, but it STILL does not properly support the unreal FBX pipeline, and you STILL cant transfer anything with the collisions in tact, making it effectively little more than a failed gimmick really. Such a shame.

      @ggamedev@ggamedev7 ай бұрын
    • ​@@ggamedev I've been using Softimage XSI for a couple of years, which Autodesk has killed, then Mental Ray renderer, which Autodesk has killed, then 3ds Max, which Autodesk has stopped developing actively but not killed yet. It's a common practice, Autodesk, Adobe and Foundry all do it. Once they get a large userbase that is locked into their software (migration becomes difficult due to the accumulated expertise and assets), they sell the company to investors, who's job is to, for next about 10 years, increase prices, minimize resources spent on development, and divert most of those to marketing. They are aware it's not a viable long term strategy, and that users will eventually get fed up and leave in masses, but they are also aware that escaping the lock in takes about 5 years on average. So they keep tightening the screws, making extreme profits by employing predatory monetization and licensing control schemes, and they are ready to sell the whole company just at the peak when the user exodus starts. They usually sell it to an entity clueless enough to think they are getting prosperous software portfolio with huge userbase. It's a very common cycle: Buy a company with the product users absolutely love and are committed to in near term future. Reduce development resources to about 1/20th while still faking development (usually by having the remaining 1/20th of the developers implement the lowest hanging fruit features at the expense if accumulating technical debt really fast), quadruple the marketing expenses to lock in more new clueless users, and watch the userbase get angry over the years. Once the tipping point starts to appear, sell the company quickly and cash out. It's a regular pump & dump scheme, just at the scale of the corporation. I know this is a long tangent but my point is that I've seen this pattern several times, and the state Foundry software, especially Modo, seems to fit it so perfectly. It's always better to jump the ship in advance, than to be hit with the news of your DCC being end-of-lifed out of the blue. I wish my intuition was at least once wrong, but so far it hasn't been. I'd suggest trying either Blender or Houdini. They both have quite extensive procedural modeling capabilities, which someone like you would certainly enjoy, as you could use your programming/scripting skills to generate the art/content for your game as well.

      @LudvikKoutnyArt@LudvikKoutnyArt7 ай бұрын
  • Because you been ThudUSTRUCT...

    @lcizzlelc@lcizzlelcАй бұрын
  • This looks absolutely awful. Is there no way to just stick with pure code for game logic? I really don't want to bother with visual scripting. I'm coming from Unity because I like C++, but looking at this is really giving me second thoughts about migrating.

    @MeetYourCows@MeetYourCows3 ай бұрын
    • Of course there is. Things will vary from one team to another, or between independent programmers. This is an initial 'dipping your toe in the water' type video, where I'm trying not to scare the crap outta 95% of peeps that wanna use unreal, and also, because a majority of them know BlueprintScripting, and want to move from what they already know to using some, or all C++ in their projects. Don't worry at all, for my own projects, ALL logic is C++ based, and blueprints are only a means of hooking up various assets, managing certain animations, etc. There is no actual 'blue print node scripting' at all (they are called 'data only blueprints')

      @ggamedev@ggamedev3 ай бұрын
    • @@ggamedev Hello, thanks for replying! And what you said sounds much better. Your 'data only blueprints' note sounds kind of like SerializeField macro in Unity. I'll keep researching and see where it goes.

      @MeetYourCows@MeetYourCows3 ай бұрын
  • Terrible. All that code, all that syntax, just to print a string or pi? No thanks. Horrible way to code. I'd love to use UE5 but they made it so unwelcoming to write C++ in it. And then they offer people Blueprints because they assume coding is somehow complicated. Then it turns out that Blueprints are just as complex if not more. What a mess! Shame, the engine is quite capable, it produces some beautiful games. Only if I could just write C++ my way, the way I want, the way it's supposed to be, and the engine is there only to provide you with the basics: a renderer, a camera, model loading, lights at your disposal, etc. But no, UE5 really wants to complicate things. I have yet to see an engine that will be so good and yet so simple and intuitive, that there won't be a need to re-invent the wheel (and by that I mean making your own engine). I don't think I'll ever see that day coming, the way things are evolving. Maybe AI will step in and will do it for us. Maybe ChatGPT 6, who knows?

    @luigiistratescu2756@luigiistratescu2756Ай бұрын
KZhead