Unreal Engine 5 Modules: How and Why you should be using them!

  Рет қаралды 11,376

Sneaky Kitty Game Dev

Sneaky Kitty Game Dev

Жыл бұрын

Ultimate FPS Framework Plugin: www.unrealengine.com/marketpl...
Patreon: / sneakykittygaming
Discord: / discord
In this video I cover the basics of modules along with how and why you should be using them.
Documentation: docs.unrealengine.com/4.27/en...

Пікірлер: 28
@DrR0bot
@DrR0bot Жыл бұрын
This is really good video. Thank you so much. Bering trying to follow the same process for a Custom Plug-in that uses third party libraries. Although having problems at the moment since is not finding the correct files 😢
@markoleptic4501
@markoleptic4501 Жыл бұрын
Thanks for tutorial! I think a great tutorial you could do in addition to this is showing how you might go about converting an existing project with all classes inside the primary module into separate modules. I'm in that process right now. Say I have a MainMenu module I want to implement, but there's some classes it uses that will also be used by other modules (for example a Pause Menu that shares the same SettingsMenu class). Should those classes be put inside their own separate module as well, maybe a module named MenuComponents?
@SneakyKittyGameDev
@SneakyKittyGameDev Жыл бұрын
Oh boy, read up on redirectors lol. Did that for my entire plugin and without redirectors fixing the blueprints it would of been a nightmare
@markoleptic4501
@markoleptic4501 Жыл бұрын
@@SneakyKittyGameDev Will do! Do you think separating the modules like I discussed is good practice?
@SneakyKittyGameDev
@SneakyKittyGameDev Жыл бұрын
@@markoleptic4501 So id keep related things together. In your case you have a menu system so its probably wise to keep them all together in the same module
@TheHolosim
@TheHolosim 8 ай бұрын
Hey SneakyKitty, I notice the Kantan DocGen module in your folder structure. Have you gotten it working in UE 5? Does it document blueprint well enough for you? Now THAT would be a video I would pay for.
@SneakyKittyGameDev
@SneakyKittyGameDev 8 ай бұрын
Havent tested it in UE5, but it does generate it good enough for my use cases. I need to generate documentation at some point in the coming months so I'll be giving it a go again and hopefully can make it work. If so I'll try and record a video on it
@dzezver
@dzezver 2 ай бұрын
Is there an option to disable module in shipping build? I found "IncludelistTargetConfigurations / ExcludelistTargetConfigurations (array)" and I put it in .uprojet file inside module configuration but it doesn't work for some reason
@cekconi1773
@cekconi1773 Жыл бұрын
👍👍👍
@ivanmalau4945
@ivanmalau4945 2 ай бұрын
Hi what would a process of turning on engine plugins using a custom plugin in unreal engine c++ look like? Could you talk me through it I am having a hard time wrapping my head around it. Also would it be better to use modules for this instead of a plugin workflow? Thanks for sharing your knowledge it is very valuable.
@SneakyKittyGameDev
@SneakyKittyGameDev 2 ай бұрын
Are you referring to making your plugin dependent on an engine module? and having your plugin automatically turn it on?
@destinythedrifter8592
@destinythedrifter8592 Жыл бұрын
A bit late to this but I did all these things and I can create a class belonging to the module but I can't actually see the module folder in the content drawer?
@SneakyKittyGameDev
@SneakyKittyGameDev Жыл бұрын
So with modules you do not have an actual content folder for assets if thats what you are asking. If thats something you want then Plugins are better suited. Regardless you should see a C++ folder in your content browser which contains your modules classes. If you dont see it, try deleting your binaries and intermediates folders and regenerating project files and confirming that the module is active in the .uproject
@lyrics2703
@lyrics2703 Жыл бұрын
at 6:27 why did you add "CustomDoor" to public dependencies array. isnt it already itself
@SneakyKittyGameDev
@SneakyKittyGameDev Жыл бұрын
It is itself but it doesnt recognize itself if that makes sense, its kinda weird. Its like trying to include niagra headers without adding Niagara to your build.cs
@lyrics2703
@lyrics2703 Жыл бұрын
@@SneakyKittyGameDev i think there is something wrong with it. after i try it, i will inform from here
@hrishikeshandurlekar2178
@hrishikeshandurlekar2178 2 ай бұрын
Yes. I think it is better added in the project.build.cs public dependencies chain.
@DynamicalisBlue
@DynamicalisBlue Жыл бұрын
It is good to use Modules for game-specific stuff but I find it too much effort to do. I may try it again. Currently, I usually make a Plugin for anything that isn't tied to the game itself and could potentially be reused in another project, coz then I can easily add it to any other project.
@SneakyKittyGameDev
@SneakyKittyGameDev Жыл бұрын
It's not much effort. Create a folder, copy/paste files, add a few lines and you have a module. I use the plugin workflow often as well if its something I'll consider selling later on. I kind of want to make a video on the differences between gameplay modules and plugins. The main thing I like about plugins is you can have content with it if you need it where as modules are just the core classes. Both have their place. Either way features should be in one or the other lol
@canishelix6740
@canishelix6740 Жыл бұрын
@@SneakyKittyGameDev A discussion on plugin vs modules would make a great topic. I recently moved to putting 95% of my game code into plugins based on the functionality. A plugin for generic non-game/genre specific stuff, another for character features, another for adding interactions, another for all save/database related function. Given it's mostly C++ they may be better off as modules...
@vegitoblue2187
@vegitoblue2187 3 ай бұрын
Why not use a plugin instead of a module since it does the same thing anyways
@SneakyKittyGameDev
@SneakyKittyGameDev 3 ай бұрын
They do the same thing differently. Two main reasons for using a plugin would be 1: If your building something that may contain content then use a plugin. 2: If your module is going to be distributed to people that don't know how to compile or are using a blueprint only project then use a plugin as it can be compiled and have its binaries created so those users can just plop it in and go.
@vegitoblue2187
@vegitoblue2187 3 ай бұрын
@@SneakyKittyGameDev plugin it is then. I know how to use them and so do my team members
@meerkatpowergaming9412
@meerkatpowergaming9412 8 ай бұрын
That is a lot of manual effort for something so simple.
@SneakyKittyGameDev
@SneakyKittyGameDev 8 ай бұрын
Its simple once you do it a time or two as it will take 1-2 minutes to setup once you learn it. Its like learning classes, difficult at first, second nature after making a few of them
@meerkatpowergaming9412
@meerkatpowergaming9412 8 ай бұрын
@@SneakyKittyGameDev I am trying to get a 3rd party library implemented. So it is required. I *think* I have it but I think I need to understand game instance subsystems first so I can get to a place where I can implement the 3rd party library. I have a External module, which has a lib and include directory. In the Build.cs I set it to Type = ModuleType.External; Added the include folder with PublicIncludePaths; Added the binary with PublicAdditionalLibraries; and created a new module which depends on the 3rd party library Module in PrivateDependencyModules (because nothing else but this module should touch it). Does it sound like I am on track?
@SneakyKittyGameDev
@SneakyKittyGameDev 8 ай бұрын
@@meerkatpowergaming9412 Yea I'd say your on the right path. I've seen some other plugins (that require their own libraries prebuilt to use in multiple game engines easily) follow a similar suite and it seems like a fairly clean approach
@meerkatpowergaming9412
@meerkatpowergaming9412 8 ай бұрын
@@SneakyKittyGameDev I attempted to do it and was successful. Yeah its pretty clean. You basically have one module as the "container" then have another which depends on it. I couldn't get the native library ws2_ws.dll or whatever websocks2 is to load, giving me missing syms so I had to scrap. I am using FSocket and ISocketSubsystem, which has been very annoying because Unreal has an extreme lack of example usage code and shit that dates back to unreal 4. Not to mention sockets and ambiguized by the modeling term sockets.
Unreal Engine C++ Project Setup, From Scratch
30:46
Alex Forsythe
Рет қаралды 79 М.
C++ for Blueprinters | Unreal Engine
28:14
Unreal Engine
Рет қаралды 106 М.
I Built a Shelter House For myself and Сat🐱📦🏠
00:35
TooTool
Рет қаралды 33 МЛН
1🥺🎉 #thankyou
00:29
はじめしゃちょー(hajime)
Рет қаралды 84 МЛН
Final muy inesperado 🥹
00:48
Juan De Dios Pantoja
Рет қаралды 12 МЛН
Increíble final 😱
00:37
Juan De Dios Pantoja 2
Рет қаралды 72 МЛН
I went through ALL Unreal Engine Plugins, here is what I found
36:35
The Most Common Mistake Beginners Make in Unreal Engine | UE5
12:17
Ali Elzoheiry
Рет қаралды 90 М.
Blueprints vs. C++: How They Fit Together and Why You Should Use Both
47:14
How to Make a Forest in Minutes with PCG in Unreal Engine 5
13:53
UE5 Understanding hard and soft references - Be a better game dev
19:58
Using Physics to Improve your Shots in Unreal Engine 5
11:35
William Faucher
Рет қаралды 256 М.
How to Setup Visual Studio 2022 for Unreal Engine 5
17:29
Nu Makes Games
Рет қаралды 23 М.
Create and Sell your own Unreal Engine Plugins | Part 1
11:04
I Built a Shelter House For myself and Сat🐱📦🏠
00:35
TooTool
Рет қаралды 33 МЛН