I have just checked this option in 4.9.1 and in the latest main branch. Both versions have this feature listed as ‘Placement’.
This fix has been made and will show live after the next publishing.
I will bring up this topic during our next meeting and see what everyone’s response for this change is.
Thanks again!
Howdy ,
Thank you for your feedback. I have fixed the Documentation to include Interface in the Table. I have also entered UEDOC-2497 into our Database so that we can address the issue.
Howdy Drout,
I have just entered ticket UEDOC-2500 into our database so that this page can be fixed. I am unsure as to when this will be fixed but I will be sure to keep you posted when I see an activity on this ticket.
Hi, Drout. Thanks for your suggestion! What you said will work fine, but the way that the code is currently written should also work. You’ve brought up an interesting issue that I think is worthy of some explanation.
As long as the compiler knows that UCollidingPawnMovementComponent is a class, and we don’t refer to anything inside of that class, a pointer to it can be declared in CollidingPawn.h without including UCollidingPawnMovementComponent’s class definition. This is because pointers are all the same size (they are just memory addresses, ultimately), so the compiler doesn’t care what a UCollidingPawnMovementComponent is, beyond the fact that we promise it’s a real class somewhere in our code base. Putting the word “class” in front of UCollidingPawnMovementComponent is all the the compiler needs to handle CollidingPawn.h, although the linker will complain if we don’t fulfill that promise.
CollidingPawn.cpp, on the other hand, actually uses the UCollidingPawnMovementComponent class, meaning that the compiler does need to know what’s inside UCollidingPawnMovementComponent to compile CollidingPawn.cpp. Including CollidingPawnMovementComponent.h directly in the CollidingPawn.cpp is good enough to handle this. Including it from CollidingPawn.h as you suggested would also work, and we could remove the word “class” before the pointer to UCollidingPawnMovementComponent if we did it that way.
However, if we include CollidingPawnMovementComponent.h from CollidingPawn.h, then any other file that includes CollidingPawn.h will also include CollidingPawnMovementComponent.h, which means the compiler will be forced to parse CollidingPawnMovementComponent.h (and anything included by it) every time CollidingPawn.h is #included, regardless of whether UCollidingPawnMovementComponent is used for anything other than declaring a pointer. For this tiny project, to be honest, it doesn’t matter. In large projects, though, unnecessary #includes can increase compile time substantially.
Again, thanks for bringing this up. This technique is really more general C++ software engineering than Unreal Engine-specific, but it’s still good to discuss.
I spoke with a couple of Team members about their thoughts on moving the Blueprints How-To. We are planning on possibly doing a major overhaul on the TOC, but I am unsure as to when this will take place (should be fairly soon). I will be sure to update you when I know more.
I was wondering if the documenation backend is written in PHP. If it is, then you could actually make references to other pages without having to redirect the to other links. Using PHP imports, one can display content from other pages directly inisde an element on the page that the is currently viewing. I use this feature extensively throughout my own website to get around some convoluted details of CSS. For example my header and footer are separate pages, but I import them. One could forseeably break up the documentation pages into separate pages that act as containers and then display them wherever they want them. In my case what this did for me, is that it reduced the issue of typographical errors. It created consistency across my pages and I didn’t have to re-write content or code.
UE4 is a rather large piece of software and perhaps should have two different forms of documentation? A guide that can be read from start to finish, and a reference that can be used to quickly find details on a specific feaure. I’m not sure how feasable this is, but I see it done with lots of other software products. I think that many companies might turn to this model because things get muddled when they try to mix a guide with a reference. It would be like trying to learn english from a dictionary that has the lessons thrown in where the words use a particular rule or rules english.
Hi guys. I have some unfortunate news. I will be stopping using Unreal Engine for the time being. I’m feeling really stuck with the state of affairs of the blueprint documentation and I don’t particuarly want to learn C++. Yet another language. I already know javascript, C#, Java, PHP, and ASP among others. I’m very resistant to learning C++ because I quite prefer the idea of managed code. I will check back in in a week and see how things are going. For now I’m going to pursue Unity and if my game is finished on Unity before I can finish the Unreal Engine documentation for blueprints and make something sensible ontop of it, then I guess my choice of engines will be made. I like to use the best tools, but I need to use the tools that I can put into my work.
SEEKFREELOADING: Only use cooked data.
SEEKFREEPACKAGEMAP: Override the package map with the seekfree (cooked) version.
SEEKFREELOADINGPCCONSOLE: Only use cooked data for PC console mode.
SEEKFREELOADINGSERVER: Only use cooked data for server.
These entries should be removed, they aren’t used in UE4, but I remember them from the UE3. Besides it would be nice to have some kind of switch to load cooked content only…
Thank you for the feedback about these pages. We has a couple of pages go through our publishing that had minimal to no information on them. These pages were supposed to be placeholders but got pushed live. We are hoping to get these pages filled out with information soon.
/** FActory method for instantiating templatized TobjectReplicator class for subobject replication */
virtual class FObjectReplicatorBase * InstantiateReplicatorForSubObject(UClass *SubobjClass);
There is no such thing as FObjectReplicatorBase or InstantiateReplicatorForSubObject in the engine code, probably was removed in <=4.9.
I have gone in and switched the links on the page you have reported. These links should be updated after the next publishing.
I have updated the link so that you are no longer brought to a 404 page and are sent to the Wiki page where that tutorial is located. This will link correctly once the next publishing is complete.
Thanks for the heads up Chariots! I think this is an easy fix. On that page it looks like the 14 mips info got added to the chart but just not updated as the number in the info located higher up on the page.
On the FString page, section “Numeric and Other Variables”
The first section is titled “From FString” but the table is to string.
Likewise, the second section is titled “To FString” but the table is from string. It also incorrectly labels the column in the table as “Conversion to String” instead of from.
Thanks for pointing out this error in our Documentation. I have just fixed this page internally with the fixes you have provided. This page fix will show correctly after the next publishing.