Unreal Engine 4.9 Preview

The packaged IOS game still crashes on ios9 public beta2…

Mobile Rendering Updates:

  • Dynamic Point Lights are now supported
  • Dynamic Character Shadows can be used with otherwise static lighting and shadowing
  • Decals are now supported

Dark materials and texture clamping.

Thoughts on this?

Awesome yet again! Props to all the hardworking people at Epic getting these new features into the engine! Looking forward to getting into the new POM node as well as the distance field particle stuff!

Does this make the raw PCM samples available as well?

Awesome! This update came surprisingly fast. Well done :slight_smile:

It’s not accessible because it doesn’t exist. The only time it’s valid is after widgets have been laid out that frame. If we allowed accessed to the value outside of events and tick, it would never be predictably accurate. You’ll just end up introducing frame-behind and hysteresis problems.

One day we may add it, but I suspect the function name will end up being, GetTheLastGeometryForTheWidgetYesIAcceptAllResponsibilityAndAmAwareOfThePandorasBoxIAmAboutToOpenIGotThisBro()

Why do you need it on mobile? Lots of people ask for it, but it’s rarely the case they actually need it on every widget. They can usually just cache it themselves in their own Tick, and access it outside of Tick all they want.

This still happens with some right click context menu options. I don’t really know how to explain it but here’s a screenshot:


OMG, finally. :slight_smile:

Now if you would make parameters available as local variables (which there in fact are) then it wouldn’t be such a pain to build functions in blueprints (currently you have to create a local variable for each parameter by hand and set it manually to reduce the amount of wires)

scroll, scroll

No VR rendering improvements (late-latching, hidden-area-mesh etc.)?

On GitHub, the latest master (and promoted, and 4.9) still have FSteamController inheriting from IInputDevice and not from IMotionController.

I’m sure I saw a commit on there that changed this, but I cannot find it now, and if it’s not in promoted or 4.9 then it probably won’t make it into the 4.9 preview or release? Or do the binary releases differ from what’s on GitHub? Edit: And I just checked the 4.9.0-preview-1 tag, it also does not inherit from IMotionController.

Edit again:
Nevermind. I was confusing SteamController and SteamVRController. The latter does indeed inherit from IMotionController.

On the master branch on github a couple weeks ago I saw some commits related to LEAP Motion pass-through hands mode (images of your real-hands). Any news on this feature?

This one?


that helps me alot, thanks!

It works for me. Are you on OVR SDK 0.6.1?

Its larger the list of bugs than the list of new features, and for what i have seen what was of 4.82 seems we are gonna get stuck on 4.76 for a while…stability and fixes should go first in my opinion, and i repeat is just my opinion. Also it looks like there is no intention to take seriously the VR community since the lack of fixes on leap motion and vr preview to name a few basics…
Beside that, thanks for the effort at Epic, very interesting tools to play when they get stable. Keep up doing such a wonderfull engine.

Sorry, I made a mistake. I was confusing SteamController and SteamVRController.

iv been using unreal engine 4 on windows 10 insider preview soon as it came out and works fine just for me so i dont need the compatabilty realy

After starting up my project in 4.9 again I actually get the whole log spammed with this:

LogStaticMesh:Warning: Adjacency information not built for static mesh with a material that requires it. Using default material instead.
Material: /Game/Assets/Buildings/MainBuilding/M_Wood_Floor_Walnut_Polished.M_Wood_Floor_Walnut_Polished
StaticMesh: /Game/Assets/Buildings/MainBuilding/Main_Building_Single.Main_Building_Single

I can actually cut down the material to only a texture sample which goes into the base color, but I still get the warning in the log and the default material on the mesh. Once I disable “flat tesselation” and set it to “no tesselation” and apply it the problem disappears.

Nothing has changed about the API we’ve simply moved the ogg decompression (mostly) off the main thread so it doesn’t block and hitch when the audio device requests additional data.

These are the new timer nodes:


Now I want to execute a function named “DoStuff” once after 1 second. How? Before I just typed “DoStuff” in the text field of the set timer node. But how do I get a delegate from the function now? Events have delegate pins, but not functions. And even with events, if I want to start a timer for a event from a function, how do I get the delegate from the event? :confused:

Another thing, if I try to start my game in standalone in 4.9, I get this:


What has changed in 4.9 so that I get this now?

I did something similar in my own branch, but it’s bugged in some way, so I guess I’ll just dive into the guts of the new system to get what I need. Thanks Mark :slight_smile: