Unreal Engine 4.27 Released!

Ugh, 4.27… I hate you! j/k

So, my 4.26.2 project had skeletal characters. After upgrading to 4.27, everything seems to work fine, except skeletal meshes don’t render on Oculus Quest 2. Characters seem to work and anim plays fine. It’s just skinned/weighted mesh itself doesn’t render.

Has anyone had such issue ?

1 Like

Okay, it finally happened. First, the launcher crashed at the end of the installation:

Assertion failed: !bIsInitialized [File:D:/build/++Portal/Sync/Portal/Source/Programs/EpicGamesLauncher/Layers/DataAccess/Private/Analytics/CommunityPortalAnalytics.cpp] [Line: 183] FCommunityPortalAnalyticsAnalytics::Initialize called more than once.

Afterwards the engine looked successfully installed, so I converted my working 4.26 project and it crashed at loading 75%:

assertion failed: !generatedwrappedtypes.contains(typeregistryname) [file:d:/build/++ue4/sync/engine/plugins/experimental/pythonscriptplugin/source/pythonscriptplugin/private/pywrappertyperegistry.cpp] [line: 1455]

What I see is a python script plugin, an alien to me experimental beta feature, that I’ve never used before, for some reason apears to be forcedly turned on in the engine and ruins my project? :exploding_head:
A new sample based project appears to be working, I even tried to uncheck the aformentioned plugin, but it didn’t help.
I also tried to launch a marketplace sample project “Zen Garden”, once again converting from 4.26, then the crash was motivated by an error in “oodle texture”

Assertion failed: !bIsInitialized [File:D:/build/++Portal/Sync/Portal/Source/Programs/EpicGamesLauncher/Layers/DataAccess/Private/Analytics/CommunityPortalAnalytics.cpp] [Line: 183] FCommunityPortalAnalyticsAnalytics::Initialize called more than once.

also met this Error…

Same here, getting

Assertion failed: !bIsInitialized [File:D:/build/++Portal/Sync/Portal/Source/Programs/EpicGamesLauncher/Layers/DataAccess/Private/Analytics/CommunityPortalAnalytics.cpp]
[Line: 183] FCommunityPortalAnalyticsAnalytics::Initialize called more than once.

UE4 Unreal Engine 4 Steam sessions plugin does not work 4.27 - YouTube fix steam sessions plsss or tell me where i did fail thanks : D.

@VictorLerp @Amanda.Schade I have a feeling it’s no use at this point, but…

There is a big issue when building a project with streaming VTs for forward rendering Android Vulkan (ASTC):

vulkan.txt.txt (8.7 KB)

The gist of it:

UATHelper: Packaging (Android (ASTC)): LogWindows: Error: === Critical error: ===
UATHelper: Packaging (Android (ASTC)): LogWindows: Error:
UATHelper: Packaging (Android (ASTC)): LogWindows: Error: Assertion failed: CompressedFormat == PF_Unknown || CompressedFormat == CompressedMip[0].PixelFormat [File:D:/Build/++UE4/Sync/Engine/Source/Runtime/Engine/Private/VT/VirtualTextureDataBuilder.cpp] [Line: 676]

I figured it out (I think) and it’s just preposterous - project with VTs gets built when building Android ETC2, but doesn’t when building with Android ASTC… WTF… ASTC is what most phones support (the ones that don’t shouldn’t be even having projects with VTs built for them) and that’s the format Oculus recommends for Quest.

Case # 00346661 which was never turned into an Issue (at least not to populate Issues Tracker)

SteamVR seems to cause 4.27 to crash on start. When I uninstalled mine it works.

I’ve been looking into Bink. Big announcement with no documentation or tooling. You can create a bink media player and text that follows the same mediaplayer process.

There’s no way to encode a video to bink2 as far as I can tell. There is a commit that hints to adding Bink2ForUnreal.exe/pdf but the files are not in any repo or release.

Does anyone know where this is at? Not for general use?

After I built it as Android ETC2 and removed/regenerated mips from VT textures, it started building as Android ASTC :man_shrugging:

I really wished Epic would use more defensive programming in UE.
If you’re on 4.27 working with sequencer and metahumans expect a lot of crashes.
I’m getting an index error crash and I assume hitting an asset. It would be nice if internally they checked the validity of values and tried to avoid letting it go until it crashes.

With a codebase this big, it’s more common to use offensive programming - put asserts all over the place, catch bad values as early as possible and stop the show to force other programmers to fix their underlying cause right away. Otherwise you’ll have a growing web of hidden issues that are compensated for by the defensive programming until it explodes completely.

1 Like

Just wanted to say, for some reason adding diffuse boost to a object in lightmass baking will turn the scene into a nuclear reactor. Is this a bug?

That’s fine (asserts sprinkled in code) as long as they’re addressed. If they’re not addressed and result in a corrupt project that’s a problem.

Another example: 4.26 if you used an invalid file path for Movie Render Queue (easy to do if you change external hard drives or simply get preset from a friend for best render settings (the path is stuck in that info as well) the system would simply render each frame, post an error in the log and continue running for hours rendering nothing to a file.

A simple defensive check of user input values (such as an invalid file path) would be a much better approach. It could bring up Alert to the user that you’ve tried to provide an invalid file path, please correct (for the user)

For sure, it doesn’t make sense to use offensive programming against user input. More on internal stuff.