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

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

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 😢
@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
@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
@cekconi1773
@cekconi1773 Жыл бұрын
👍👍👍
@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
@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?
@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.
How to Optimize Performance in Unreal Engine 5
17:40
Nu Makes Games
Рет қаралды 18 М.
Китайка и Пчелка 10 серия😂😆
00:19
KITAYKA
Рет қаралды 2 МЛН
Как быстро замутить ЭлектроСамокат
00:59
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 13 МЛН
小女孩把路人当成离世的妈妈,太感人了.#short #angel #clown
00:53
I went through ALL Unreal Engine Plugins, here is what I found
36:35
How to Make a Forest in Minutes with PCG in Unreal Engine 5
13:53
Mastering Events in Unreal Engine with C++
5:17
Scripted Adventure
Рет қаралды 5 М.
The Most Common Mistake Beginners Make in Unreal Engine | UE5
12:17
Ali Elzoheiry
Рет қаралды 90 М.
Using Physics to Improve your Shots in Unreal Engine 5
11:35
William Faucher
Рет қаралды 255 М.
10 Unreal Engine 5 PLUGINS I can't live without!
9:37
Cinecom.net
Рет қаралды 459 М.
I Struggled With Blueprint Interfaces for Years!! (Unreal Engine 5)
16:48
Glass Hand Studios
Рет қаралды 171 М.
Modular Game Features in UE5: plug ‘n play, the Unreal way
25:43
Unreal Engine
Рет қаралды 70 М.
Modular Game Features | Inside Unreal
1:36:41
Unreal Engine
Рет қаралды 40 М.
Китайка и Пчелка 10 серия😂😆
00:19
KITAYKA
Рет қаралды 2 МЛН