Getting very angry at Plugin Development

Few fixes

UE4 reflection system is the one that does not support types that it’s can’t handle, but you are free to use them as long as you not gonna use it with reflection system (meaning outside anything maked with UPROPERTY() or UFUNCTION()), in fact engine it self uses those types, even non-UObject classes or functions in USTRUCT()

Those have nothing to do with blueprint classes, and it’s not generated by UBT but UHT (UnrealHeaderTool). It’s a header file that contains extra body for your class which you paste in to it via GENERATED_BODY(), it’s generated based on UMACROS (UPROPERTY(), UFUNCTION() UCLASS() etc, they in reality are dummy macros which compiler replace with emptyness, so it ignored by it), it not only generates header files, there extra cpp file generated which i will talk in a secound.

C++ it self does not have reflection system (in fact it does not need it, main point of C++ is to generate native code), everything is turned in to memory addresses and if non of those addresses are helt in pointer, generated native code (code executed by CPU generated by compiler from your C++ code) is not self aware of what functions and varables it has… because native code exclusivly use memery addresses. Or else C++ program register those addresses, thing is registrating those addresses require a code, so designing reflection system usally involves C++ functions that registers invidual functions and varables as a pointer varables in memoery, which C++ code can refrence to them, sounds like a extra work isn’t? …so why you never did that in UE4? Thats what UHT what do for you :slight_smile: It takes UMACROS and based whats inside it and thing below it it generates extra C++ code in header files for each UCLASS() located in “Intermediate\Build\Win64\UE4Editor\Inc\ModuleName”. Cpp file to do registration, header files (as i said above) add extra stuff to your class (for example declers *_Implementation and *_Validation ,in USTRUCT it declers StaticStruct() function) , include of generted header it needs to be last so it takes all other includes used in header file (as include pastes content of the other file in to this file). It’s not just reflection system but do some other automatization work.

So saying it’s “blueprint class” is kind of out of place, it makes engine see you classes, functions and varables which later can be used to build extra features based on that data in engine and mostly in editor. Reflection system also allows to also create virtual classes, function and varbales… and this is what excaly blueprint does :slight_smile: it attach classes and oither stuff which sits in virtual machine that powers Blueprint in to it and because they are equile there with native code form C++ it allows to interact with eachother, C++ can call VM functions and VM can call C++ functions. So UE4 reflection system not only functions as reflection system for native code from C++, but also as reflection system for blueprint VM

So yea there is no such thing as “UE4 C++”, it’s normal C++ just with fancy tools

1 Like

I just looked in that folder, does it matter I have these lying in there?
f0ef4ed48c3d713e70f2bce670a80168d77f2952.png

You’re probably safe to delete them if you’re reinstalling. I think one of them might contain marketplace content though, so check the sizes.

I would really not want to set up all this one more time. Where does Unreal write down the modules to include in all projects?
There has to be a config file or SOMETHING where I can delete a line to remove the module all together so the engine stops caring about it.

Where do I remove the plugin from the list of plugins that the engine loads with newly created projects??

Where do I remove the plugin from the list of plugins that the engine loads with newly created projects??

Is there no single place where the engine looks for plugins to include? At this rate I will have to uninstall everything and reinstall because of a plugin wizard that didn’t work :confused:

You should probably read this document:

It describes plugin locations and has some additional info.

Oh, man U are my timesaver, it works !!! THX , u have finaly found solution i’ve been searching for hours
:slight_smile:

The most fun part of Plugin development is when you change something… You build for the Editor, you package a Debug build for testing, you package a Shipping build for testing; everything works fine…
Then you submit to Marketplace team and they come back to you with a ton of esoteric compilation errors :rolleyes:

Lots of fun!

1 Like