Unreal Engine 4.7 Released!

[= ;228310]

Known Issues for 4.7.0


UE-6988 Game does not gain focus when launching

[/]

I reported bug when preview 1 was released so I was pretty bummed when I that it was not fixed in the final release :frowning:
But I did a few tests and it seems like you guys actually fixed it but just forgot to remove it from the bug list :smiley:
You guys are… EPIC!

[=Zoubi;228545]
How can I take advantage of the PDB files now delivered with 4.7? Once I install the new engine, I just regenerate my VS project , targeting the freshly installed 4.7 version, and I just run the editor from within VS like I used to do before?
[/]

Yes, that’s pretty much it. Full source browsing and engine debug symbols should work out of the box. Simply recompile your project and hit Debug.

I hoped your blueprint cycle dependency fixes would fix , but I have still one blueprint which is always “dirty” after compiling. I click compile, it compiles without errors or warnings, but it’s still not really compiled. How could I fix ?

[= ;228523]
Amazing huge update as always. Soooo many great changes and additions!

And, oh well, I thoug UE-9829 was already fixed. Will take a look as soon as I backup my whole pipeline and projects :slight_smile:
[/]

Guys, 9829 is fixed.
However I see a non listed bug on updated project now: child actor components of Blueprints created on 4.6 lose reference to class used as child. Need to manually re-assign the class to the child field in the Blueprint editor.

Also that annoying warning about “externally referenced packages” is still there.

Also, I get some errors with " only variables". In many blueprints I get the error “cannot pass a -only variable to a reference parameter”. The “variable” is a box collision component and it worked very well in 4.6.1 and 4.5.

Bug with shipping for windows 64 bit is NOT fixed… Still got

Amazing stuff! I … I think I love you all.

[= ;228563]
Also, I get some errors with " only variables". In many blueprints I get the error “cannot pass a -only variable to a reference parameter”. The “variable” is a box collision component and it worked very well in 4.6.1 and 4.5.
[/]

We changed component anchor variables to be -only in 4.7. Can you post a picture of the sorts of nodes you’re seeing the error on? We’ll have a look.

Cheers,

Hi ,

I have a function which does some stuff with box collision and destroys it afterwards, that’s why I need to it be passed by reference. I think I don’t need to show you a picture of a component connected to a function node :cool:
Why have you done ? What advantage do I have from not being able to pass components by reference? I do in many many of my blueprints, why do you just set it to only in 4.7 without giving me any possibility to change the variable to be NOT only? :frowning:

I see that it didn’t make it into release, but I would really love to know when we will be able to paint blueprint actors with the foliage tool? There is a lot of functionality I want my trees to have that can only be controlled in a blueprint I made.

[=Unreal C++ Programming Improvements]

  • We’re continuously working to make C++ in Unreal Engine easier to use and more familiar to .
  • No special constructors needed! Your class constructors no longer need to take an Object Initializer argument.
  • Creating sub-objects for Unreal classes now has a new simple syntax.
  • You can now have more than one Unreal class in a single C++ header file
  • You can declare special Unreal types (such as Unreal enums or delegates) in a header file, even without an Unreal class in that file.
  • You no longer are required to name your source file the same as your Unreal class name.
  • You can now use any name you want for properties! Previously, certain names like “Color” were reserved and impossible to use.

[/]

Holy amazing c++ improvement! All of the things that bothered me with c++ in unreal is fixed, it actually works like real C++ now :smiley: OMG You made me happy. <3

[= ;228591]
Hi ,

I have a function which does some stuff with box collision and destroys it afterwards, that’s why I need to it be passed by reference. I think I don’t need to show you a picture of a component connected to a function node :cool:
Why have you done ? What advantage do I have from not being able to pass components by reference? I do in many many of my blueprints, why do you just set it to only in 4.7 without giving me any possibility to change the variable to be NOT only? :frowning:
[/]

You can pass component pointers by reference in general, but you can’t modify the ones created by the simple construction script. Any -added component variable (grabbed from elsewhere or created via Add Component) should be fine; the change only applies to the auto-generated variables for construction script components.

[edit] It’s possible you’re still getting the error incorrectly though. If it is preventing you from modifying values in the component (as opposed to the component pointer itself), then that’s not intended.

Cheers,

What exactly is the “simple construction script” and what exactly are " added components"? I manually added the box collision component with the “add component” button :confused:. Inside the construction script I call the function of the parent class which needs a box collision reference as input and destroys it at the end. was perfectly possible in 4.6.1.

[= ;228600]
What exactly is the “simple construction script” and what exactly are " added components"? I manually added the box collision component with the “add component” button :confused:. Inside the construction script I call the function of the parent class which needs a box collision reference as input and destroys it at the end. was perfectly possible in 4.6.1.
[/]

Sorry, to clarify: A constructed component is one added to the components tree (e.g., via the “Add Component” button). The variable that is autogenerated is always meant to point to that component, and it was a bug that previous versions allowed you to point it elsewhere.

A variable is one added via “Add Variable” or “Promote to Variable”. Those can be modified to do whatever you want. When I referred to Add Component earlier, I meant an Add Component node in the graph, not a component added via “Add Component”.

RE: Your setup, some potential options:

  • You could change the parent to not destroy the component (seems odd to make a component and then immediately destroy it just to pass around a bounds); could just use a pair of FVectors for the extents or whatever.
  • You can subvert the protection by creating another box component variable and copying the value from the auto-generated variable to that variable. Blueprint ‘const’ support isn’t as fully developed as C++, so any assignment can cast away constness. isn’t great since you’re still throwing away a component you asked to be created, but it would be a quick workaround.

Cheers,

Now how do I get the engine contributor banner? :open_mouth:

I did download 4.7 right now, but It missing now in the launcher… :confused:
note: I have folder with 11 gigas C:\Program Files\Unreal Engine\Launcher\VaultCache\UE_4.7

@ Thanks for the clarification, but I think you have not really understood what I try to do :o

Why have previous versions allowed me to point it elsewhere? I just pass the variable to another function, I do not overwrite it. It stays what it is, until I call “Destroy Component”. I never use any “set” node.
And I could call “Destroy Component” directly from the construction script. But I don’t want to have the “Destroy Component” node in the construction script because that would look ugly (one unnecessary node).
I think it’s ok to prevent the variable to be overwritten by another variable, but I never intended to do . I just want to pass it to a function by reference so I can destroy it there. And that’s not possible in 4.7.

The important thing for me is that I can call the function and destroy the component with one single node. The easiest workaround for me would just to call the function and then use the “destroy component” node not in the function but directly from the construction script. But that’s ugly.

Incredible update, thank to you awesome guys and gals

Is it just me or is a bug? I have create a blueprint class, and blueprint actor component that rotates the owner. It works without any problem but while that actor is in my scene i’m not able to save the scene. Message says Graph linked to a private objects in an external package for my component class with error :

Warning Can’t save G:/Unreal Projects/ProjectFolderHere/Content/MySceneFileHere.umap: Graph is linked to external private object (unknown culprit) (unknown property ref)

It’s just a spinner blueprintable component like in your release note example to try .

wow you guys managed to fix my distance filed instances AO problem and I posted it on the 22nd EPIC!