Unreal Engine 4.6 Preview!

[]
I have a question regarding future support for SLI and NVidia’s VR Direct. I know based off of earlier posts a couple months back, there was some discussion about and it was stated I believe that because of the design of the renderer, it would be very problematic for Epic. Now that the rendering looks to be segregated in 4.6, will allow the team to implement SLI without major repercussions?
[/]

Alternate Frame Rendering is still very problematic, because making algorithms that do smart things requires maintaining GPU state. Tons of UE4 systems do - GPU particles, temporal AA and all its applications (7 features are affected), DFAO, eye adaptation, etc. I expect that we will use more GPU state going forward, not less. is because GPU’s are becoming more powerful and we can move more and more operations there.

Nvidia VR direct appears the be the marketing name for all of their Maxwell improvements. A bunch of them are under the hood, meaning the app doesn’t have to do anything. I don’t know what the plans are to leverage the rest in UE4, Whiting drives VR efforts.

With some major refactoring it might be possible to do each eye on a different GPU, but is not planned AFAIK.

[]
I am still seeing a 16 texture sample limit in 4.6 Preview, did the change not make it in time for 4.6-Preview? Please tell me it will be in 4.6 proper, I need badly!!
[/]

To be clear, the sampler limit has not changed, but the unique texture limit has been increased to 128. Samplers are how you tell the GPU what texture addressing and filtering modes to use. Historically we had to have a 1-to-1 mapping between sampler and texture, because of OpenGL limits. To make use of increased limit you have to use the shared samplers under Sampler Source on a TextureSample node, the default is still to use a sampler per unique texture.

[]
Give me the powers!! I will stress test for you!
[/]

Heh, to be honest I did not test all the way up =) But the D3D11 specs say 128 unique textures, so there you go.

[]

  1. Is instanced foliage light baking also supposed to work for Speedtrees?
    [/]

As long as they have valid lightmap UVs. You can use the auto lightmap UV generation introduced in 4.5.

[]
2) How is one supposed to view the new emissive Gi-incorporation? Adding an emissive material next to a wall and baking seems to yield no visible difference?
[/]

The wall with the emissive material has to be Static, with a lit material containing non-zero hooked up to Emissive Color. Note that Lightmass has a bunch of limitations on what materials can be exported, basically it only knows about UV0 (no world space, camera vector, vertex color, etc). Try with a material with a constant color going into emissive color.

The full 4.6 notes will have instructions on how to use these new features.

Any news on whether the new 4.5 skin shader has been fixed to work in VR yet?

Pumped up to try web browser support!

[=;180535]
Alternate Frame Rendering is still very problematic, because making algorithms that do smart things requires maintaining GPU state. Tons of UE4 systems do - GPU particles, temporal AA and all its applications (7 features are affected), DFAO, eye adaptation, etc. I expect that we will use more GPU state going forward, not less. is because GPU’s are becoming more powerful and we can move more and more operations there.

Nvidia VR direct appears the be the marketing name for all of their Maxwell improvements. A bunch of them are under the hood, meaning the app doesn’t have to do anything. I don’t know what the plans are to leverage the rest in UE4, Whiting drives VR efforts.

With some major refactoring it might be possible to do each eye on a different GPU, but is not planned AFAIK.
[/]

Thanks for the response . Bummer, it looks like it would probably be more of an as time goes on. NVidia almost touted VR Direct as a standalone or form of SLI and I figured I’d jump on the SLI train (first time since 3DFX Cards :D). My game also relies on VR so I was hoping I could draw from the extra horsepower and/or if VXGI becomes available in the future which could be extremely helpful. I guess never say die but I guess I can at least agree that NVidia’s Marketing on one was effective lol

Well, so much for SLI :frowning:

Is it true that UMG still has no gamepad support in 4.6?

[=Demolition Man;179771]
Hi Guys,
I’ve run into a minor with my UMG HUD when moving from 4.5 to 4.6. The HUD will not re-compile in 4.6 and I am getting the following message

Binding property ‘textdelegate’ on widget ‘textblock_1082’ needs to be bound to a pure function ‘Get_HUD_ArmorValue_Text_0’ is not pure

So the first question is just what is a PURE function? All function does is cast back to the player controller to get a float value for the armor and then convert it to a string to print it on the screen.

P.S. I was able to fix by checking the “PURE” function box option inside each of the functions within the HUD blueprint
[/]

Hi Demoliton Man!

A function is called “pure” when it always returns the same result for same set of inputs and it has no side like outputting something or modifying an argument.
Function like random() or time() are impure, because each call give you a different result/value.

Web Browser Support !!! :smiley:

[=Diat Funa;180832]
Hi Demoliton Man!

A function is called “pure” when it always returns the same result for same set of inputs and it has no side like outputting something or modifying an argument.
Function like random() or time() are impure, because each call give you a different result/value.
[/]

Pure in UE4 only implies that it has no side (doesn’t set any values), random() and time() are both pure functions. In Slate all data bound to the UI needs to come from a const function, so the extension to blueprints mimics by requiring the binding also be pure, otherwise very possible to break stuff.

[=;180807]
Is it true that UMG still has no gamepad support in 4.6?
[/]

No gamepad support in 4.6, it’s still a work in progress. A lot of groundwork had to be laid in Slate first.

[=NickDarnell;180866]
Pure in UE4 only implies that it has no side (doesn’t set any values), random() and time() are both pure functions. In Slate all data bound to the UI needs to come from a const function, so the extension to blueprints mimics by requiring the binding also be pure, otherwise very possible to break stuff.
[/]

Many thanks for post !

[=;180242]
Am I the only one whose montages are broken when opening a project in 4.6? The time scale is wrong and notifies/branch points are all shifted over slightly.

I think montage clip lengths are now shortened to reflect the animation play rates of the individual clips now, and it causes the montages to display incorrectly…
[/]

Hi RythmScript, there has been some changes to montage editing in 4.6 - and it will auto-scale if anim sequences are shorter than the segments in the montage as otherwise the montage would just keep showing the final frame of the sequence. Is what you are seeing or is it something else?

Benn.

[=Crocopede;179671]

Or when physics assets of character will no longer be rejected by the character capsule (as makes ragdolls no longer a viable option)?
[/]

Could you explain a bit more what the problem is you are seeing?

In the DM in 4.6 is PhysX/Apex fully supported?

[=;179680]
Awesome to be getting a preview for already.
Regrettably though, math expression nodes, an incredibly helpful addition which was added in 4.4, then broken in 4.5 (work but you can’t compile projects with them) are still broken in 4.6, which means I have to hunt through my entire project to resolve problems like , and amazing addons like iTween for UE4 that relied on countless math expresion nodes basically have to rebuild everything in a more convoluted way if they want people to be able to build projects with it. Really disappointing considering I heard in answerhub that it was recognized as a problem awhile ago and plans were made to fix it. A blueprint node that straight up breaks your ability to compile your project really shouldn’t be available when you could spend a lot of development time just testing the project in the editor.

EDIT-
Another bug found so far
When I try to get the transform or location of a named bone in 4.6 it immediately crashes (just opened a new project in 3rd person blueprint and found it happening when trying to get a bone of the default character mesh in there)
[/]

Hey , can you describe the issues you are referencing with math expression nodes? We did have a few fixes with editing the graphs directly that would cause a crash, some of the fixes made it for 4.6 and some did not, and there is a known with packaging with math expression nodes that has not yet been resolved. Are any of these the blocking?

[=DaEmpty;179881]
The performance improvements are impressive. Thanks for that.

Some issues:

  • erosion of terrain does not work. I get a crash everytime i try to use it.
  • the behavior of the branch node in materials changed. The input pin >= is now a > but the label is still >=.
  • activating the rift mode is a bit unstable
  • still no gamepad support in umg :frowning:
    [/]

Hi DaEmpty,

I was able to reproduce your branch node error and have entered a bug report, UE-5575, to be assessed by the development staff. Thank you!

[=;180961]
In the DM in 4.6 is PhysX/Apex fully supported?
[/]

Hi ,

From our previous discussions, Support Chunks are now working in UE4. Was there other support you are referencing by “Fully Supported?”

Thanks!

[=DaEmpty;179881]
The performance improvements are impressive. Thanks for that.

Some issues:

  • erosion of terrain does not work. I get a crash everytime i try to use it.
  • the behavior of the branch node in materials changed. The input pin >= is now a > but the label is still >=.
  • activating the rift mode is a bit unstable
  • still no gamepad support in umg :frowning:
    [/]

Hey DaEmpty,

I’m looking into the stability you mentioned for the rift. Could you make a post on the AnswerHub (https://answers.unrealengine.com/index.html) to elaborate what you mean and what behavior you’re experiencing with the rift and I will continue to investigate there.

Thanks

[=Exelcior;180895]
Hi RythmScript, there has been some changes to montage editing in 4.6 - and it will auto-scale if anim sequences are shorter than the segments in the montage as otherwise the montage would just keep showing the final frame of the sequence. Is what you are seeing or is it something else?

Benn.
[/]

Maybe sorta? The problem is, I built my montages, and then later, I went back and retuned some anim stuff by changing the play rates of the component animation files (mostly setting the play rate to 1.3x or 1.5x). worked fine; the way UE used to handle it (at least as of 4.5) was to simply play through those portions of the montage faster. So if I had a notify or Branch Point that occurred 25% of the way through a clip, it would always occur 25% of the way through a clip, whether the clip was played at 0.5x or 3.5x, the Branch Point occurred at a certain point in the underlying animation.

NOW, it seems that changing the play rate of the clip simply adjusts its length in the montage, meaning that at 1.3x the playback rate, the Notifies, Branch Points, and segment start/stops all start occurring 33% later than they’re supposed to. It also makes it much harder for me to retune animations if I want them to play a little faster or slower after seeing them in action a bunch. I CAN work around , it’s just a PITA since there’s no good way to move a whole bunch of notifies and such at once, so I was sort of hoping was a bug rather than a “” and the 4.6 official release would fix it without me having to manually fix every single melee combo montage I’ve created so far :confused:

[=NickDarnell;180866]
Pure in UE4 only implies that it has no side (doesn’t set any values), random() and time() are both pure functions. In Slate all data bound to the UI needs to come from a const function, so the extension to blueprints mimics by requiring the binding also be pure, otherwise very possible to break stuff.
[/]

Yeah, I can see how that might cause some problems if you let HUD draw calls change the game state… drives me nuts though, since I currently use the HUD BP to do things like parse a score float into a legible Score string (i.e. turn 12343526.0002 into 12,343,526) with For Loops and some String vars for temporary storage, and now the HUD can no longer perform any of these operations so I have to move them somewhere else.

Hi

Try deleting and then replacing the ‘Event Any Damage’ node. In 4.5.1 it was a custom event node, now it is a standard event node.

Afterwards, if you continue to have , please create a bug report on the AnswerHub, post a link to it , and we will continue to investigate it further.

https://answers.unrealengine.com/index.html

Cheers,

TJ

[=Demolition Man;179790]
Hi again
I may have found another. time the problem is with the apply damage node within blueprint. When I run my game in the editor and step on my landmine which is coded with blueprints, it correctly fires off the radial damage routine. However, my pawn class does not appear to be receiving any sort of damage event message at all. So even thought the landmine should score 750 points of damage the result is nothing since the pawn class never receives the information. was running correctly in 4.5 and I was getting the information via the any damage event in the pawn class.
[/]

[=;181122]
Yeah, I can see how that might cause some problems if you let HUD draw calls change the game state… drives me nuts though, since I currently use the HUD BP to do things like parse a score float into a legible Score string (i.e. turn 12343526.0002 into 12,343,526) with For Loops and some String vars for temporary storage, and now the HUD can no longer perform any of these operations so I have to move them somewhere else.
[/]

You can still do it in the WidgetBlueprint, just do it in the Tick function and store the result in a member that is bound to the UI.