#engine-source

1 messages ยท Page 28 of 1

shut solstice
#

but, there is no VT for this year, is it?

brisk silo
#

well, its too early to comment

#

i think epic will go ham on VT and GPU lightmass once raytracing and the new renderer are working

#

VT actually helps them in fortnite

shut solstice
#

is lightmass still alive? idk

brisk silo
#

wel... paragon is ded

#

and fortnite is all dynamic light

#

the only project where they use lightmass is for robo recall "lite: that they gonna put in oculus Quest

shut solstice
#

Epic doesn't care GPU lightmass, they have enough CPU power for themselves games.

brisk silo
#

they hired the gpu lightmass guy

#

and gpu lightmass is not only faster

#

its significantly higher quality

shut solstice
#

really? I am happy to hear this. I am starting to like using discord. very informative! thanks @brisk silo

low dust
#

this happened a while ago

#

they also hired the ex Maxwell renderers team lead (or whatever his title was)

#

@shut solstice

shut solstice
#

I show my respects for Juan Canada and @low dust.

granite dust
#

Master branch just bumped to 4.23

#

Looks like the first 4.22 previews will probably come out this month

#

Or maybe they'll wait until GDC

#

dev-rendering finally merges into master two days ago

#

Maybe we'll see a 4.22 branch pop up next week

#

Maybe that's the purpose of the "promoted" branch

elder falcon
#

I think they said somewhere that promoted is just a version of master where they've made sure it compiles and passes basic testing

brisk silo
#

@granite dust 2 days ago it had all the new mesh code

#

and its when denoised RTAO and RTshadows were live

granite dust
#

<It'sHappening.gif>

low dust
#

and yes, it contains that dev-rendering merge from 2 days ago

granite dust
#

I'm cloning now ๐Ÿ˜ƒ

low dust
#

I already fetched the changes

#

will see what gameworks things move over without too much pain

#

I don't have RTX hw yet so can't test the new rendering stuff

#

5 GB of dependencies now ๐Ÿ˜„

elder falcon
#

an insane amount of changes

swift ivy
#

6 million insertions, did they add two more copies of boost? ๐Ÿ˜„

low dust
#

seems like I might just make it without starting to swap

elder falcon
#

actually

#

yes

#

someone added another copy of boost

brisk silo
#

well, they are still at heavy dev in dev-rendering

#

so i dunno

#

dev-render is now 23

dense wharf
#

Hi, my 4.21.1 source engine keeps crashing when I load certain assets, not sure why. Here's the error:

dusky zinc
#

I'm having a really big issue with compiling the engine constantly crashing windows insider preview. The errors that I keep seeing is that it can't find the correct .net files in the temp folder and I also noticed that the .suo that is generated when running generate project files is the visual studio 15 version. How can I change the visual studio version if I can't run the engine yet? where would I set that in source files?

#

@dense wharf same dude

spiral mortar
#

windows insider preview ๐Ÿ‘€

dusky zinc
#

@spiral mortar i would take it all back if I could

#

but I can't roll back and I can't reinstall at this moment

#

the preview is awful and the only thing I wanted from it was a system wide dark mode to save my eyes

#

the nightmare will be over when I build my new pc

#

in the mean time I just need to sort out this engine issue

#

I can't seem to find which config file in the engine sets the visual studio version

spiral mortar
#

It's in UBT @dusky zinc

#

You want to change the compiler version?

#

There's

#

in your BuildConfiguration.xml

thick storm
#

and python

#

last merge with python was over 1.2mln lines -;-

hollow plinth
#

Its probably python source

#

I just added tar.gz with python source to my engine

granite dust
#

Compiled 4.22 and updated SculptrVR to work on it.

#

Instanced stereo crashes, but it runs without

#

Cascading shadow maps don't work

#

Tonemapping seems to be different

#

VR Preview window is upside down

#

Lots broken, but updating was surprisingly straightforward

#

Only took about 30 minutes if fixing deprecated calls, etc

dense wharf
#

Turns out its my main project thats crashing, I dont think its the engine's fault. I dont know why I'm getting that crash however. If anyone has suggestions, please let me know. If not, then I'll just make a new project and migrate

brisk silo
#

@granite dust does it do the autoinstancing on vr?

#

havent tried it

granite dust
#

It crashed on start if I leave instanced stereo on

#

I don't know if it was auto instancing otherwise, though

#

I didn't get a chance to profile

bold hare
#

How to make sure my shaders usf can be successfully compiled for GLSL_ES2?

#

Right now, they not compiled, and i don't see any errors, except when trying to launch the game i get:
"Ensure cooked successfully"

terse dragon
#

anyone got a link to the 80.lv leaked roadmap? I can't find it anymore.. wondering if they took it down

granite dust
#

K the recent update fixed instanced stereo. It does not crash now

#

also cascading shadow maps is a complicated issue. Apparently they work if AO is off or there's at least one active point light in the scene

#

VR preview window is still flipped upside down, though

#

I think I'm going to try to fix this cascading shadow maps bug myself, since I doubt many other are going to encounter the issue

brisk silo
#

i want to see that roadmap again too

#

read what they were commenting about the mesh renderer which is now live

#

@granite dust how is perf in your game

#

tho you dont use that autoinstancing stuff

granite dust
#

I will find out after lunch!

#

It's really hard to perf test on my laptop at home because clock rates are so dynamic

granite dust
#

Well in its current state my 4.22 build has significantly slower rendering than 4.21 has

#

Like 50% longer render time with the same scene

#

I didn't measure it exactly, though

pale smelt
#

so right now im committed to the 4.14 engine for my game, because i dont want to change anything close to release that might cause me extra work as epic add new features and change things on each release. this being the case, if i want to apply patches, is it worth me working with a source code build, and manually applying patches to it?

#

basically backporting fixes for stuff from the newer versions?

#

(i'd only want the fixes and only those that directly affect me, not new features)

low dust
#

going through NvPhysX fork's github issues

#

someone wrote hi, i hope if someone can help me to merge VolumetricLighting, HBAO+ and VXGI2 in unreal.. i downloaded all of them and they are working fine but i didn't know they'd be separated engines..! plus the size is big on each.. so please tell me how can i merge them (without coding) for version 4.19 or 4.20.. thanks.

#

if you know how to merge these without coding, do tell me as well kappa

summer pelican
#

@elder falcon Robomerge is just a tool that monitors commits and merges them to other branches. Some of them are automatic, some of them are manually triggered by a #robomerge tag in the commit message

weary star
#

How do I add the unreal studio plugins to a source build?

#

google hasn't helped

astral sapphire
#

what is dev-core branch?

limber jacinth
#

the core of the UE4 Engine

#

dev-editor is the editor, dev-networking is the networking side, etc

astral sapphire
#

and master is amalgamation of all?

limber jacinth
#

yeah

astral sapphire
#

ok, i just wanted to have one bleeding edge branch and i was not sure if i should switch from master

limber jacinth
#

4.22 or master

#

is what you want

weary star
#

for my question, googling "datasmith UE4 source build" helped. They need to have a better way to deal with marketplace plugins and source builds

astral sapphire
#

@limber jacinth nah...i don't want to switch from branch to branch later when 4.23 emerge...master is consistent in updates

limber jacinth
#

thats up to youi

#

but i avoid keep switching brances for a production game

#

just more hassle and errors

#

or at least updating

astral sapphire
#

@limber jacinth ahahah...i'm not that dare to build a game on master

limber jacinth
#

our game is still on 4.18.3 ๐Ÿ˜„

astral sapphire
#

i'm just testing some things on it, to make sure they are still relevant

thick storm
#

I tried to enforce opposite direction

#

we sitch to latest version ASAP

#

switch*

#

it's far easier to keep it updated in case you need new features or particular fix

#

than trying to pick individual CLs

stable hemlock
#

I added a bit of code on BodyInstance file.
But something weird is happening.
Any errors I introduce inside any function aren't being detected by the compiler. But anything done wrong outside of a function is detected.
Any idea what might be the problem?

limber jacinth
#

how can i force source build to use a local cache

#

over a shared cache?

astral sapphire
#

Is anyone here using incredibuild?

#

@limber jacinth DDC?
If you compiled the engine from GitHub source then just create an environment variable UE-LocalDataCachePath and set the path as it's value. Keep in mind, that in this case it will change the DDC directory for all compiled versions of the engine you have. This should work - I tested it.

limber jacinth
#

ok

astral sapphire
#

Can anyone help me on ue4 build config?

#

i need to replace cl.exe path

#

with msbuild it's done like that:
msbuild.exe /p:CLToolExe=cl_blah.exe /p:CLToolPath=somepath

#

afaik UBT uses msbuild anyway, but i can't find where it's set

spiral mortar
#

@astral sapphire Doesn't seem to

#

You want to change the cl path? ๐Ÿค”

astral sapphire
#

yes, i want to replace cl.exe to clcache

spiral mortar
#

๐Ÿค”

#

What for?

#

incredibuild?

astral sapphire
#

for cache

#

incredibuild doesn't work for me

#

it only uses 8 cores

#

seems limitation of free version

spiral mortar
#

Where is clcache?

#

What does it do?

#

Uh doesn't seem to be useful with UE?

#

What are you really trying to do ๐Ÿค”

astral sapphire
#

use build caching

spiral mortar
#

That already works?

#

No need for custom stuff

astral sapphire
#

like xge suppose to do

#

it doesn't

spiral mortar
#

What doesn't work exactly

astral sapphire
#

caching

spiral mortar
#

I mean

#

Give me an example

#

You edit a file, rebuilds the entire module?

astral sapphire
#

yes

spiral mortar
#

That's because of unity build

#

All the files are merged into a single cpp

astral sapphire
#

huh?

spiral mortar
#

Compiles faster (each include is included only once)

#

Or more precisely

#

Recompiles faster

#

Downside is obviously that everything is rebuilt every time

#

Add bFasterWithoutUnity = true in your build.cs

#

You'll see

astral sapphire
#

where to exactly? i'm building ue4 editor

spiral mortar
#

Oh

#

Errr

#

It'll be a shitton slower to build the first time then

#

What are you editing?

#

Using a git repo for the source?

astral sapphire
#

i only care about rebuilding...im on master and i'm rebuilding engine twice a week

spiral mortar
#

Ah lol

#

I see

#

Not sure it'll help then

#

As most stuff changes anyways

#

So no black magic will help you there

astral sapphire
#

meh

spiral mortar
#

ยฏ_(ใƒ„)_/ยฏ

#

Why being on master?

astral sapphire
#

@spiral mortar i'm testing if my tweaks still working on latest changes

dapper rapids
fickle yew
#

@dapper rapids What's unclear about that error?

#

That plugin is referenced in your project, install it or edit your project opening file and remove the part about the plugin

dapper rapids
#

I need the plugin and since I'm building it for the dedicated server there is no source version available for the plugin

#

What should I do in this instance?

astral sapphire
#

Just modified Engine\Build\BatchFiles\MSBuild.bat

granite dust
#

Ok 4.22 perf issues are getting resolved rapidly

#

I think my perf is better than 4.21 now, but I'm packaging a test case now

hidden hedge
#

@dapper rapids well obtaining the source is probably your only option to build it

#

is it this?

#

the source code is available for it

granite dust
#

Nope. The render thread time on 4.22 seems to be about 10% larger than 4.21 still. Much better than the original 50% I was seeing!

hidden hedge
#

you should see the 2ms+ hit that per-object shadows took in 4.21

granite dust
#

I still believe. Once 4.22 is out it might be faster..

hidden hedge
#

yeah in 4.22 D3D11 uses an RHI thread

limber jacinth
#

how can i make -ddc=noshared always be added when loading the editor

hidden hedge
#

make a batch file or shortcut

limber jacinth
#

so its not possible even when i launch from inside VS?

#

must be a way to do it

hollow plinth
#

Just disable shared ddc in defaultengine.ini

limber jacinth
#

i did that but it was still complaining

#

i solved it now anyway ๐Ÿ˜„

stable hemlock
#

Trying to add conversion functions as in PhysXSupport.cpp.
Declared my functions with the ENGINE_API macro, header is included where needed, no Intellisense error. However, I always get linker error saying unresolved external symbol...
Any idea of what I might be missing?

astral sapphire
#

what cl-filter.exe does?

chilly swift
#

Can anyone tell me if the visual studio code SourceCodeAccessor can open code when clicking in the reletive spots in the engine?

#

Like in FirstPersonCharacter blueprint and up at the top right it has Parent Class: FirstPersonCharacter, but clicking on it doesn't open the correct file like it does for Clion

limber jacinth
#

Clion is broken, it doesnt even debug properly, and ive never used VSCode with UE4

chilly swift
#

you mean CLion the app or the plugin is broke?

#

CLion is ssssssllllllloooooowwwwww, its big heavy laggy its ui is laggy, intellesense is laggy, and I can't believe people pay money for that piss poor performance, and all this because its built on java.

#

visual studio code does everything that clion does, minus the c++ refactoring tools and opening source/header files under UnrealEngines source tree via inside the editor its self, but faster, way way faster.

#

Yeah, looking in the code, I don't think they coded in an ability to open the source from UE4 its self, only the project.

limber jacinth
#

that sucks

#

VS is fine for me, i know its a bit bulky but it works

#

shame VSCode is lacking on stuff. I mean they dont need to make it bloated but there are some useful things its missing

chilly swift
#

Yeah.

cosmic stump
#

when solution is opened in MSVC, there is project, then platform and then drop down with Blank Program, etc. What is that one for ?

limber jacinth
#

just a blank program

#

๐Ÿ˜„

#

that is it, nothing more

#

its like a base

#

for a program that does stuff with/for/to the engine

astral sapphire
#

How to exclude modules from ue4editor build?

#

i should say "plugins"

#

there're .uplugin files, that list the modules, but i can't find where are list of those defined

astral sapphire
#

I assume it just parses all the subfolders in the plugins folder?

red dust
#

is there anyway to change the priority on the shader compiler? some reason its compiling all my materials below average and wont let me change it in the task manager

quick crystal
#

Has anyone had an issue where they can't launch their game via the .uproject?

#

I don't know that I have ever gotten it to work for my project. When I switch the uproject ue4 version to the prebuilt one, then the uproject launching works

#

when I switch back to the engine source code compiled one, it stops working and complains about a missing modules manifest

#

no idea what a modules manifest is... I haven't modified the engine source code at all

#

I've tried rebuilding the UE4 sln, regenerating the uproject's visual studio project files, now I am doing a complete rebuild of the game project's sln. I have no confidence that this will make a darn bit of difference

hollow plinth
#

did you recompile your project after setting it to custom engine?

#

modules manifest is probably .modules file in binaries folder in your project binary folder

#

i suppose it shall be result of UBT => shall be done during compilation

quick crystal
#

I can't remember what all I have tried because I've mainly been ignoring it until now. It's finally starting to get in the way so I want to fix it. I just rebuilt the UE4 sln and I am almost done rebuilding the game project's sln

#

I'll report back in a few once that it done and let you know if it fixed it

#

I know that I started off with using the pre-compiled edtior

#

then I right clicked the uproject and pointed it to the custom build and that forced a new build prior to launching the editor. This was a couple of months ago though

#

no go

#

same error

hollow plinth
#

is compilation suuccessful?

quick crystal
#

Yeah

#

and I can launch the editor by using Visual Studio

#

and then running as debug

#

I'm running under the Debug Editor / Win64 config

#

would that impact the ability to run the game via the .uproject?

#

To clarify, when I say "run the game from the .uproject", I mean I right-click on the .uproject file and then click "Launch Game"

#

Googling that error gave me nothing useful. Google can't even match more than one result for the test "Module manifests are generated at build time"

#

the rest of the results don't have that text in them

#

Which of course the one search result has nothing to do with my current setup

#

<

hollow plinth
#

try development mode for both editor and project

quick crystal
#

Ok

astral sapphire
#
void IMeshPaintEdMode::OnVRAction( class FEditorViewportClient& ViewportClient, UViewportInteractor* Interactor, 
    const FViewportActionKeyInput& Action, bool& bOutIsInputCaptured, bool& bWasHandled )

is that a proper use of a class reference?
all the code above is using FEditorViewportClient* ViewportClient

astral sapphire
#
    virtual bool ProcessCapturedMouseMoves(FEditorViewportClient* InViewportClient, FViewport* InViewport, const TArrayView<FIntPoint>& CapturedMouseMoves) override;
    virtual bool StartTracking(FEditorViewportClient* InViewportClient, FViewport* InViewport) override { return true; }
    virtual bool EndTracking(FEditorViewportClient* InViewportClient, FViewport* InViewport) override;
    virtual bool InputKey( FEditorViewportClient* InViewportClient, FViewport* InViewport, FKey InKey, EInputEvent InEvent ) override;
#

code from \Engine\Source\Editor\MeshPaint\Private\IMeshPaintMode.cpp (.h)

cosmic rampart
astral sapphire
#

@cosmic rampart it says pushed to 4.10...still bugged?

cosmic rampart
#

@astral sapphire yes, as far as i have tracked this because i started back in 4.13 and it worked back then, but i think it was reintroduced in 4.19 or something. I have not checked this in later version yet because we dont plan to upgrade anytime soon. you can check this thread where i also posted https://forums.unrealengine.com/unreal-engine/feedback-for-epic/1456417-4-19-something-wrong-with-cloth

astral sapphire
#

yeah, iirc they made total overhaul of shaders back then

cosmic rampart
#

yeah, could be the cause, i just would like a fix ๐Ÿ˜„ blurry capes suck...

astral sapphire
#

@cosmic rampart Apex cloth is different from default ue4 cloth?

cosmic rampart
#

mh, i have only used the built in cloth. i did not try it with imported apex.

astral sapphire
#

APEX (Legacy) Assets

#

@cosmic rampart ok, so it's default one

cosmic rampart
#

yea the one you can paint inside the skeletal mesh editor

astral sapphire
#

i need to make a scene just for testing the shader -_-

cosmic rampart
#

๐Ÿ˜ƒ thx for looking into this !

astral sapphire
#

@cosmic rampart can you show the screenshot of the issue, so i could verify it exist on my machine?

cosmic rampart
#

character cape blurred extremely strong

#

on the shoulders where the skin wheight is 1 there is no extreme blur

#

the camera is moving with the character so there should be nearly no blur at all

astral sapphire
#

@cosmic rampart i can't reproduce this on my end -_-

cosmic rampart
#

what version are you on?

astral sapphire
#

4.21

#

i can test on 4.19 (lowest i have)

cosmic rampart
#

that is where i have the problem, mh well i will upgrade and just test if it is fixed for me there too.

astral sapphire
#

ok, i'll test on 4.19

cosmic rampart
#

that would be nice ๐Ÿ˜ƒ

#

i just hope it is nothing just on my end...

astral sapphire
#

@cosmic rampart well, you may open the content examples cloth map and test it on infiltrator

cosmic rampart
#

i will do that

#

mhh well for me it is happening. shaders still compiling xD

#

this is 4.19

#

downloading 4.21 now

#

maybe it is a simple fix i can merge down

astral sapphire
#

yeah, it exist

#

on 4.19

cosmic rampart
#

good so that is confirmed then

astral sapphire
cosmic rampart
#

so now i need to find the needle in the haystack xD

astral sapphire
#

@cosmic rampart if you want to stay on 4.19, probably those 2 functions in GpuSkinVertexFactory.ush may solve the issue:

float3 GetClothSimulNormal(int Index, bool bPrevious)```
cosmic rampart
#

alright thank you so much for the help! ๐Ÿ˜ƒ

astral sapphire
#

you may backup the ush in the 4.19, copy those 2 from 4.21 and then hit Ctrl+Shift+. to recompile the shaders
r.ShaderDevelopmentMode in ConsoleVariables.ini probably should be set to 1

cosmic rampart
#

i will try this. i let you know if it worked! ๐Ÿ˜ƒ

astral sapphire
#

don't forget to add float4x4 PreviousClothLocalToWorld; on the top

#

i've tried and now have to wait till 5000+ shaders will compile

#

well...that was bad idea

#

i completely ignored the fact PreviousClothLocalToWorld never been modified...in any shader

#

yeah, it's in \Engine\Source\Runtime\Engine\Private\GPUSkinVertexFactory.cpp

cosmic rampart
#

alright i keep that in mind ๐Ÿ˜ƒ

astral sapphire
#

@cosmic rampart yeah, unfortunately not possible to make it work on 4.19 w/o recompilation

cosmic rampart
#

well that is not such a big issue, as long as it is fixable that way for now

mystic star
#

Does anyone know if the prebuilt binaries from the launcher built with any special settings? Doing some experiments with size, but with a clean release-branch build my binaries come out just slightly larger than the prebuilt ones, trying to figure out why.

spiral mortar
#

@mystic star binary build right, not source build?

mystic star
#

@spiral mortar I might be getting the terms wrong, but I tried it this way: Building the engine from source, with shipping win32 as target, the built default UE4Game-Win32-Shipping.exe in my Engine/Binarie/Win32 is 202 KB larger than the corresponding one in my launcher-installed version. That size difference is also present later when doing a full rebuild/package on identical empty projects, though a tad smaller

spiral mortar
#

@mystic star You're using VS to build the engine?

mystic star
#

@spiral mortar yeah

spiral mortar
#

The launcher build are binary builds and not source builds

#

"./Engine/Build/BatchFiles/RunUAT.bat" BuildGraph -target="Make Installed Build Win64" -script=Engine/Build/InstalledEngineBuild.xml -set:WithDDC=false -set:SignExecutables=false -set:EnableSymStore=false -set:HostPlatformOnly=true

#

It's built using smthg like that

#

Also why it's only ~30GB instead of the 70GB of a source build

mystic star
#

Aight, thanks, I'll look into those parameters then. To be clear I'm just looking to generate the same sized game executables as the launcher version

spiral mortar
#

I see

#

Not sure it'll help then

mystic star
#

It's only a difference of 150-200 KB, but when optimizing for mobile sizes I was hoping to get rid of that difference, or at least get an idea of why it's there

pliant pagoda
#

Damn it

#

I cannot get 4.22 project files generated

#

it says that no visual c++ 2015 installation was found, but I have it installed with all c++ tools

spiral mortar
#

Use VS 2017

pliant pagoda
#

Can't I use 2015?

#

Is it not supported anymore?

spiral mortar
#

Indeed

#

It was dropped in 4.20

pliant pagoda
#

Wow

spiral mortar
#

2015 was still working but not recommended

#

So I'm not surprised if it doesn't work in 4.22

pliant pagoda
#

I haven't compiled engine from source for a while, I guess I am not up-to-date

#

alright then, time to switch, thanks ๐Ÿ˜‰

astral star
#

Does anyone know how to compile the engine from source in the most efficient manner on a completely average computer? (I think it was estimated to be 20 hours long in total ๐Ÿ˜ฌ) All of the support topics online are about compiling game code, not compiling the actual engine. I am using Windows 10 with an AMD A10 processor and 7.5GB of RAM. Thanks in advance.

spiral mortar
#

@astral star what's your exact CPU

#

Should take around an hour

astral star
#

AMD A10-9600P

#

Visual Studio was compiling around 2314 items and took around 20-30 seconds on each

#

I left my computer on for around an hour and a half and it wasn't even a quarter through

spiral mortar
#

Ok so I'd say 3 to 4 hours with your CPU

#

Do you have a HDD or a SSD?

astral star
#

I have an HDD

#

2TB

spiral mortar
#

Ok, why are you even compiling from source? ๐Ÿ˜„

#

Just for fun or for smthg specific?

astral star
#

It's for Chosker's IBL and Saimon Ma's toon shader models

#

It's maintained for 4.21 by kusogaki77

#

The game I am developing right now uses toon shading as a central aspect in the overall graphics design

spiral mortar
#

You can achieve toon shading without a custom engine

astral star
#

Using post process?

spiral mortar
#

Yup

#

I suppose it's not what you want

astral star
#

Yeeeah, post process was my last resort

#

The current source I'm trying to compile is feature-rich and has everything I need

spiral mortar
#

Ok so with a hdd and your CPU building might take up to 8h I'd say

#

(kinda random number)

#

As it takes me 45min with a SSD and a CPU 4 times faster than yours

astral star
#

Woah

#

So this extremely long compile time must be normal because my CPU is so average

#

Would upgrading the RAM make it faster?

spiral mortar
#

Maybe

#

Depends if it uses 100% of it at some point or not

#

It's a laptop ?

astral star
#

It was using 100% disk usage and 85% RAM usage

#

yes

spiral mortar
#

Hum yeah so might be thermal throttling as well

#

Can you link the repo?

astral star
#

Thermal throttling, huh

#

I'm somewhat paranoid

#

If I leave my PC on for all 8 hours would something bad happen?

spiral mortar
#

Nope your CPU will just be very slow to not overheat

#

You really really need that fork?

astral star
#

Yes

#

I really, really need it ๐Ÿ˜„

spiral mortar
#

Ok if you're lucky I'll make a binary build of it tomorrow

#

Don't count on it though

astral star
#

Thanks! And thanks for the help

granite dust
#

Engine compiles in < 3 hours on my laptop from an HDD. It's a laptop i7 with 4/8 threads and 2.6ghz, though

spiral mortar
#

Would be interesting to know the exact impact of SSD vs HDD

limber jacinth
#

33mins with NVME and Ryzen 2700X ๐Ÿ˜„

spiral mortar
#

Shh

bold hare
#

Guys, what IDE you use on Linux for unreal engine code?
Tried a bunch of different options, all pretty bad: The only one that works pretty well is surprisingly VSCode.
Tried QtCreator, CLion, and KDevelop. All where terrible.

spiral mortar
#

I personally gave up on using Linux with UE dep

limber jacinth
#

Clion is just bad, KDevelop useless, QTCreator isnt bad but not suitable for UE, VSCode is obvs the best choice so far

#

i heard there maybe another IDE that has support for UE4

#

cant remember what it is but i think its Python one or something

hollow plinth
#

Clion. No typical ide stuff works but whatever

hidden hedge
#

what's the issue with clion in UE4, just not performant enough with a large code base?

hollow plinth
#

you have to teach clion index your project and ue source by giving cmake-type project to it or other type of project that is acceptable by clion's plugins

hidden hedge
#

well there is a plugin for that already

#

so i imagine the issue is with just general IDE performance

astral star
#

It took 6 hours and 39 mins for me to compile

#

I noticed disk usage was 100% the entire time so maybe an SSD would speed things up

granite dust
#

SSDs are good

bold hare
#

I was unable to debug unreal engine code in CLion: "Command Timed Out", googled it, apparently it's a "thing" in clion world.
https://blog.jetbrains.com/clion/2015/06/clion-1-0-4-update-fix-for-command-timed-out-problem/
Also, it took me some time, hacking through clion's .idea/*.xml files to make it show the source directory as directory and not flat files
Not to speak the ammoun of RAM it eats and still performs badly.

stable hemlock
#

Im currently editing the engine so that i can read the SceneTexture: CustomStencil from the base pass and i got that working. Now the thing is, when i try to use the output of the scenetexture to pass to the opacity mask value of a masked material, it just goes black instead of clipping the pixels

#

bCanMaskedBeAssumedOpaque is also not the case since if i do an uv.x > .5 ? use stencil : 0 in the material, the else clips just fine

stable hemlock
#

The GetMaterialMaskInputRaw() in \Engine\Shaders\Private\MaterialTemplate.ush:1682 seems to always return 1

#
    float4  Local0 = SceneTextureLookup(GetDefaultSceneTextureUV(Parameters, 25), 25, false);
    float  Local1 = (Local0.rgba.r / 255.00000000);
    float  Local2 = ((abs(Local1 - (1.00000000 / 255.00000000)) > 0.00001000) ? (Local1 >= (1.00000000 / 255.00000000) ? 0.00000000 : 0.00000000) : 1.00000000);
    float  Local3 = (1.00000000 - Local2);
    
    PixelMaterialInputs.OpacityMask = Local3;

this is in the generated shader file which seems just fine to me

bright olive
#

merging to 4.22, git is doing inexact rename detection on every commit I cherry-pick from my 4.21 changes, even though they mostly modify one file with the same path between the two
any idea what is going on there?

#

I have about 60 commits so it might add several hours onto my merge..

brisk silo
#

like a total madman

#

i have implemented deferred transforms in unreal

#

as a feature

#

in the scene component

#

its part of some research work im doing. "Can the slow as balls transform system be optimized?"

#

im going to make it deferred + parallel, but only on scene components. It will still call the usual code in the static meshes and other similar stuff

bright olive
#

@brisk silo deferred as in lazy eval?

brisk silo
#

@bright olive kinda

#

ive implemented a transform system, hooked into the ticks, that performs all the movements

#

when UpdateComponentToWorld gets called on a deferred scene component, this gets bypassed and the transform sys gets notified

#

then it calls it later

#

in a loop

#

ive seen that its easy to actually only move stuff once per frame with this, which is sweet

#

but of course it needs to be ultra limited

#

my goal is to use that in pubg for attachments

bright olive
#

so it squashes down multiple UpdateComponentToWorld into one?

brisk silo
#

and actually use a data-oriented transform system

#

yes

#

it comes from the transform systme i was developing for my ECS experiments

#

eventually, i want that transform system (the ecs one) to be literally a checkbox

#

and be parallelized

bright olive
#

and if you read it in the mean time it forces an eval?

brisk silo
#

pubg is a case where we have 100 players, and there are tons of attachments (weapon, inventory, etc) where those transforms could be done in parallel

bright olive
#

or is it always deferred

brisk silo
#

allways deferred

#

lazy eval would be very hard to get working

bright olive
#

the main place that does lots of transforms to the same thing is in movement replay right?

#

for character movement saved moves

brisk silo
#

yes. The issue in pubg is the attachments

granite dust
#

this is good just for stuff that has no physics, I suppose

brisk silo
#

that is exactly the idea

#

weapons, weapon attachments, and all the socketed holstered weapons

#

thats a LOT of transforms

#

when you multiply by 100

granite dust
#

Have you seen how the late update code works for hands?

brisk silo
#

nope

granite dust
#

it only updates the render transform right at the end

brisk silo
#

what i want to do is to defer transforms + parallelize

granite dust
#

so you can bypass updating the physical transform

bright olive
#

there is some kind of world transform caching system already right?

brisk silo
#

there are 100 players doing the same thing

#

so it should be possible to parallelize a bunch of their transforms

#

but not all of it of course

bright olive
#

from a few versions back

brisk silo
#

there is

#

for the movement component

bright olive
#

but it is cached on each instance I guess

brisk silo
#

its... hacky

bright olive
#

so not good for cpu cache

brisk silo
#

FSCopedSavedmove stuff

#

and yeah, the pointerific stuff aint good

granite dust
#

But dive into the late update code a bit @brisk silo you might be able to get additional gains by just not updating the transforms and only updating the render transforms

brisk silo
#

my transform system is ECS and its super cache oriented

#

its similar to the stuff i was doing in my own engine

#

to update 400.000 transforms in 2 miliseconds

#

@granite dust thats something i wanted to do

#

straight up skip all the game bullshit and update render transform itself

granite dust
#

yeah

brisk silo
#

at least for the holstered weapons

bright olive
#

I may have been thinking of this:

    FRotationConversionCache WorldRotationCache;

    /** Cache that avoids Quat<->Rotator conversions if possible. Only to be used with RelativeRotation. */
    FRotationConversionCache RelativeRotationCache;```
brisk silo
#

but its mostly pure experimental

granite dust
#

well LateUpdate has an example of that for you

brisk silo
#

the biggest problem i see is just the component lifetime

#

Pie, editor, blueprint window, etc

#

its already fucked me quite a bit until i got the deferred transform working

#

its going to be hacky as fuck

#

and im ok with it

granite dust
#

the hackier the better.. especially with giant projects being worked on by tons of people

brisk silo
#

if we can skip 0.5 ms or 1 ms im golden

#

i already managed to cut 3 miliseconds from pubg PS4

bright olive
#

@granite dust well hacky is ok if the non-hacky way is converting all of UE4 to an ECS

brisk silo
#

by straight up replacing Overlaps

#

enterely

granite dust
#

nice! Overlaps are so damn expensive

brisk silo
#

i literally added code to 100% nuke overlaps from the engine

#

but added a new collision system, simplified, data-oriented (faaaaast)

#

takes...

#

0.01 ms to execute

#

so yeah, from 3 ms to 0.01

#

and once its fully tested, probably a thousand lines of hacky code just removed

granite dust
#

[REDACTED]

brisk silo
#

oh really?

#

we are on 4.16

#

and we wont really update much

#

the only thing they do is cherrypick specific stuff

granite dust
#

[REDACTED]

#

[REDACTED]

brisk silo
#

neat

#

how do you know that

granite dust
#

Someone told me

#

maybe I'm not supposed to talk about it?

spiral mortar
#

lol

brisk silo
#

secret

#

you snitch

granite dust
#

Epic folks are all super open in person, but they don't make public announcements until the moment a thing is done

spiral mortar
#

Makes sense, as that way they can always cancel it if needed

granite dust
#

I've released a version of SculptrVR on every Engine version since 4.10 except one.. I can't remember which one

#

one of them had an awful bug where cubemap skyboxes whited out gameplay

brisk silo
#

Intruders: Hide and seek released today on PSVR

#

they are on 4.14

#

for PSVR

granite dust
#

jesus

brisk silo
#

i guess you know what that means @granite dust

#

people just told them to not update and they took it to heart

#

at the end it sabotaged them HARD

#

delays for days just from PSVR bugs

#

they were going against me in a PSVR contest in spain

#

won due to some bullshit

granite dust
#

Each engine update took me about a day or two on average. More in the early days when I had more engine changes

#

over time Epic implemented almost all my changes ๐Ÿ˜›

#

Now I have only 5 files with changes and another 10 or so specific to PS4

brisk silo
#

neat

#

i made an article explaining the issues i had with psvr

#

a bug where timing would get fuckd when going into rest mode

granite dust
#

I had to rebuild most of the save system, and the enter-into-VR process

#

There was also no way to delete saves on PS4 until 4.21, lol

#

oh wait... that might be secret, too?

#

gah

thick storm
#

so what was redacterd ?

#

epic working on finally optimizing those ridiculous transforms ? ;s

#

wouldnt suprisme a bit

#

optimizing it

#

would like milions of dollars saved

#

on AWS instances

stable hemlock
#

Does anyone know the point behind having AddForce methods in both PhysScene_PhysX and PhysicsInterface_PhysX, but using the interface ones only on BodyInstance's impulse related functions and the scene ones on the rest of the functions on BodyInstance?

thick storm
#

work in progress

#

PhysicsInterface is new abstraction over physics

stable hemlock
#

Oh ok, makes sense. I thought it could have a deeper meaning.

#

And also I understood that the PhysX portion was already ported to the new abstraction, never assumed it to be WIP

#

Thanks!

brisk silo
#

so, remember that stuff about "ima make transform faster"

#

well

#

it works

#

and it indeed makes transforms faster

swift ivy
#

oo any stats you're able to share? I'm interested in the results

brisk silo
#

at the moment, due to its deferred-ness it can make stuff only transform ONCE and only ONCE per frame

#

which is very, very good

#

parallelism is possible, but i still havent implemented it there

#

SceneNodes can now be "fully ECS", and basically skip all unreal transform code

#

but when the transform updates a mesh or similar, it goes and sets the component location directly. Also no physics nor overlaps nor anything. Final location + mark render state dirty

#

as expected, RIP physics

#

about 30% faster right now

#

once i have some stuff more optimal + MT it will be more than twice faster

swift ivy
#

How do you handle threaded updates when one transform relies on another? Like a hierarchical relationship?

brisk silo
#

only the components you mark as "deferred" will go multithreaded

#

so... dont put deferred if one of your parents is already deferred

swift ivy
#

Yea gotcha

brisk silo
#

the usage is something like

#

mark deferred on a player mesh

#

and then all the attachments get their transofrm multithreaded

#

i have 2 flags

#

one is deferred, and other Skiptransform

#

skiptransform essentially forces the transform to be calculated ECS only

#

(no physics, no overlaps, no rendering)

#

if the proof of concept gets validated and i integrate that into pubg, i will be responsible for optimizing like 5 miliseconds of CPU time beetween that and the physics stuff

#

not a bad thing to comment

swift ivy
#

5ms ๐Ÿ‘€

brisk silo
#

the overlap optimization (nuke it from orbit and create a faster version) upgraded about 2.5-3 miliseconds on console

#

at the start of the game

granite dust
#

that's awesome

#

I was wondering about the deferred child of deferred situation, but yeah it seems like just not allowing it is the thing to do

brisk silo
#

its allowed, but only becouse right now i havent finished parallelism

#

could be allowed to have deferred child of deferred, but it would cause a perf hit

#

becouse deferred works by doing Add on an array with the scene component pointer

#

just an array of "this needs updates"

#

so if you have child deferred, it will get added back again. It can still be parallelized no issue, but it would be quite inneficient

#

for the paralelism, the system is going to calculate the entire transform chain, and for the stuff that should actually update, it gets added into a queue

#

and then it calls SetWorldTransform (simplified version tho) on a loop

#

my current issue is some bullshit with the order in which components get attached. I want it to be done at startup properly, but weird shit happens some times

#

due to update orders and similar

#

so either i add a specific pass on BeginPlay to connect everything AFTER stuff spawned, or maybe try to JIT it

bronze crest
#

I was able to optimize some engine navmesh code from 30 ms to 2 ms, just by replacing TArray with TSet in a function... The function was doing 22000 times AddUnique on a TArray

brisk silo
#

LOOOOOOOOOOOOOOOOOOOOOL

#

did you PR it?

granite dust
#

holy hell

bronze crest
#

@brisk silo no, I just noticed that a few minutes ago ๐Ÿ˜„

green idol
#

@bronze crest was that code running every frame? or just once during some build step?

brisk silo
#

you really dont know the true omniscience

#

just use linked lists everywhere

#

godot style

bronze crest
#

@green idol it was 30 ms spikes, not every frame. on average it resulted in just ~1ms or so. but 30 ms spikes in VR are very annoying

green idol
#

yup awesome. so it did happen at runtime. that's mostly what i was curious about.

brisk silo
#

@bronze crest if it really is a 1 liner, PR it

granite dust
#

I went to a local "demo day" meetup this weekend and one guy gave a whole presentation about speeding up some code he wrote by changing from an array to a Map. A map that always points to 1 because he didn't know about sets.

bronze crest
#

@brisk silo well it's not a 1 liner, more like 10 liner

brisk silo
#

good enough

granite dust
#

cpp only?

brisk silo
#

epic likes those tiny changes

granite dust
#

yeah the only changes I've successfully PRed are small cpp only changes

bronze crest
#

yeah, cpp only

#

all within 1 function

brisk silo
#

@granite dust wait, a map just to know if something exists?

#

filthy casual

granite dust
#

lol yeah

brisk silo
#

do you even bloom filter

#

thats an operation for a bloom filter. a bloom filter gives you "definitely doesnt exist" or "probably exists"

thick storm
#

@bronze crest pr it

brisk silo
#

and its extremelly trivial to implement

thick storm
#

Mieszko will look at it

#

and if not

#

I poke him to look at it (;

bronze crest
#

since when do you guys talk so much here in this channel ๐Ÿ˜„ last I looked much into here, which was probably a few years ago, #engine-source was always very quiet

granite dust
#

I spent a bunch of time building my own sets and maps recently. I tried puting a bloom filter before gets, but it just slowed things down

#

I think they miiight make sense with absolutely giant datasets

bronze crest
#

@thick storm I'd poke him myself ๐Ÿ˜›

granite dust
#

but I suspect they don't really make sense until you are storing your set/map on disk

brisk silo
#

@granite dust interesting. On my own ive used tech similar to those to optimize my ECS

#

even if its a 1 bit bloom filter?

#

thats just hash and lookup val

granite dust
#

Yeah I that's what I did

brisk silo
#

interesting

#

mine uses bloom filters to accelerate the search when querying components. Each component gets 1 bit, and that builds a "pattern", then i use it to check if a given mem block has that pattern

#

or fits that pattern

granite dust
#

Maybe it works for second-indirection sets/maps

#

like yours

#

mine have small keys and values, so they are inlined

#

I'm sure it also depends on size dramatically. If the bloom fliter pushes you just beyond L2 cache it will definitely hurt more than help

brisk silo
#

bloom filter pushing beyond l2?

#

a bloom filter should be basically an u64

#

it can be used to accelerate searches on a hashmap

#

in your hashmap data strucutre, you have pointer to memory + bloom filter

#

when you have to hash (becouse its a hashmap after all), check on the bloom filter first

granite dust
#

Google made a new hashmap that checks 8 bins with one lookup using vector intrinsics, and it's apparently kickick all the asses

brisk silo
#

you mean robin_map?

granite dust
#

no

#

gimme a sec

brisk silo
#

btw, those array-based hashmaps are damn fast

granite dust
#

unfortunately all of these benchmarks are way outside my range of interest

#

I have little 8k-16k element maps all over there place

#

used for connecting vertices during meshing, for example

brisk silo
#

open hashmaps excel at small maps

#

becouse they are kept in caches

#

@granite dust have you thought of doing something like what i did for the acceleration of my space battle thingy?

#

calculate morton code + sort it

#

you get an array of "buckets" per tile size

granite dust
#

that's basically how RTX works

brisk silo
#

not really, but it is how some gpu particle systems do work

#

becouse its 100% parallel

#

its a parallel for to calculate morton code, and then parallel sort

granite dust
#

I think RTX is a hardware accelerated sort and hardware accelerated binary search

brisk silo
#

nope

#

its BVH fixed harward

#

well, BVH and triangle

#

so its ray->AABB intersection, and ray->triangle intersection

#

and i think the AABB part actually works BSP style with some prefetching or similar

#

i also dont know if those are SIMD

#

would make sense to have both parts be SIMD and work on ray batches

granite dust
#

but yeah I'm doing open hashmaps with quadratic probing

#

the google hashmap is actually open as well

#

sort of

brisk silo
#

btw, unreal TMap is open adressing

#

i found it to be quite satisfactory in perf

granite dust
#

they kind of have a chunked hash map with bloom filter headers

#

the bloom filter header thing is built to check a ton of bins in the open map simultaneously using vector intrinsics

#

switching from TMap to my own thing resulted in a 45% perf improvement

#

Something like that at least

brisk silo
#

nice

granite dust
#

UE4's TMap uses "sparse vectors", which is just a dense vector with a bitfield basically acting like a bloom filter

#

it got beat by almost every map I tried

#

other than std of course

brisk silo
#

i compared it against unordered map

granite dust
#

std is god awful

brisk silo
#

unordered is like 10 times slower

#

truly godawful

#

do you even linked list, bruh?

#

std standard commite

#

tho std unordered keeps objects in-place

#

even if it resizes

granite dust
#

by adding a second indirection

#

whaaat

#

what a shitty tradeoff

brisk silo
#

it was designed in the 90s lol

#

most of the open adressing hashmaps are newer

#

i do think std should add a std::open_map or similar

#

which basically relaxes the "pointers must be kept valid" requirement

granite dust
#

A nice compromise, yeah

brisk silo
#

my biggest issue with the stl

#

is just HOW SLOW it is in debug mode

#

absolutely comical

#

i have a obj loader that outputs std vectors, and uses iostreams internally

#

in debug mode

#

it takes 10 minutes to load stanford dragon

granite dust
#

I just hate iterators. Simple code becomes verbose and hard for me to read

brisk silo
#

ranges tho. We are finally getting the truly good shit

#

only took till C++20 to be in

#

with ranges, we finally get the true potential of iterators

#

std::sort(myvector)

#

and it sorts it

#

no need to .begin .end

granite dust
#

woah shit

brisk silo
#

thats ranges kiddie mode

#

you can go wild on them

#

becouse you can do stuff like

#

reverse(vector) | foreach(vector,[](auto idx){ i ^3}) | take(vector, 5)

#

reverse a vector, then run a for loop on it, and take the first 5 elements

#

you know what the truly fun is?

#

the for loop is only called 5 times

#

becouse ranges are lazy

#

and becouse they come alongside Concepts

#

if you do mistakes

#

the error messages are readable

#

you can also do this

#
 for(auto it: myarray | view::take(10)) {
}```
proper vine
#

once thats out

#

then once Epic adopts it

#

and once Nintendo adopts it

#

and then Microsoft adopts it

#

and then Sony adopts it

#

and then Apple adopts it

#

And then Google adopts it

#

then we might be able to use it in ue4

crisp river
#

๐Ÿคท my last company was just barely getting on the C++11 train when I left, Unreal already has them beat there ๐Ÿคฃ

#

I think they were still fighting the holy wars of auto

hollow kernel
#

Anyone here running Win10 w/ Japanese as the Display Language? Windows automatically converts \ to ๏ฟฅ and it seems to be causing probs with Skookum Script being able to find projects.

Unfortunately, I have to keep the windows display language as Japanese. Changing the VS font to Lucinda Console (something that fixes it for DOS) doesnt seem to fix it.

stable mantle
#

Hello, I am trying to debug the AutomationTool program for HTML5. Specifically, I am trying to get some breakpoints working on HTML5Platform.Automation.cs
I can debug the UnrealBuildTool program, by adding some command line arguments and setting UnrealBuildTool as startup project
However when I try to do the same with Automation Tool I can't get it to run
is it possible to debug the AutomationTool program?

brisk silo
#

so, on that fast transform stuff

#

it works

#

its super fucking fast

#

and its multithreaded

#

and its actually not even that complicated

#

@granite dust . There are 3 functions you need to "force" a scene component to a given world location, and to do it bypassing EVERYTHING

#

and 2 of those 3 can be done in parallel becouse they are fully safe

#

SetComponentToWorld() to set the world matrix. CalcBounds() to update the bounding box, and MarkRenderStateDirty so the render thread updates the matrices of the proxies

#

you need nothing more than that

#

bypasses physics, bypasses overlaps, and bypasses child updates

stable mantle
#

@proper vine, why Epic and UE4 in first and last, respectively? Do you mean Epic is on the vanguard, but not UE4? Are they running different speeds?

brisk silo
#

Epic games experimenting

#

they are allways on top of all the fancy new features, but until the feature is supported by every single platform, and there are no regressions, it wont be done

#

in the early days, UE4 didnt use all the C++11 features

#

for example, you had OVERRIDE as a macro (for virtuals)

stable mantle
#

@brisk silo you mean, the nice stuff is in specific branches (such as dev-mobile for me fro HTML5) or not even there? are we missing the good stuff in general?

#

*for HTML5

brisk silo
#

not even there

#

epic games has research teams who have internal branches doing crazy shit

#

or just doing ue5 stuff

stable mantle
#

can we access that?

brisk silo
#

no

stable mantle
#

lol

static spoke
#

Is the Source Code now generating solutions with VS 2019? Do you still need 2017? Thanks.

elder falcon
#

vs 2019 is a preview release, you shouldn't even be thinking about using it in production

stable mantle
#

@brisk silo @elder falcon do you know what is necessary for debugging the Automation Tool whilst packaging for HTML5? Specifically, I am trying to get some breakpoints working on HTML5Platform.Automation.cs

elder falcon
#

no, I never had to debug the automation tool

stable mantle
#

do you have any insght, though?

#

*insight

elder falcon
#

were you able to attach a debugger to it in general and it's just that file specifically not working?

stable mantle
#

i add breakpoints but they dont "turn on"

elder falcon
#

it might have something to do with it compiling those files every time it starts somehow

stable mantle
#

but the automation tool.. does it run on packaging or much before that?

elder falcon
#

it controls the entire packaging process

stable mantle
#

I am trying to debug whilst packaging, maybe I'm wrong

#

ok, cool

#

so there must be a way

#

do you know what kind of logging can I use in programs code?

elder falcon
#

probably the Log.TraceInformation(bla)

#

same as UBT?

stable mantle
#

LogInformation(etcetc) gives me no output

#

hum, ok, I'll try that one, thank you

#

aaaah, wait, I think I've tried that one already but it wouldnt compile I think

#

or maybe not, Ill try agaibn

#

*again

stable mantle
#

@elder falcon do you know why there are so many programs in the source solution, yet only a few can be selected for building on the drop down list?

elder falcon
#

drop down list?

stable mantle
#

ahhh, sorry

#

its a different name

#

sorry, non native here

#

drop down something

elder falcon
#

no list is good I just wasn't sure which one you meant

stable mantle
#

the thingy next to Win64/32/

elder falcon
#

oh

stable mantle
#

on the right

elder falcon
#

that's a good question

#

never thought about it

stable mantle
#

just curious

#

my guess was... maybe they arent meant to be built per se?

#

but again, then why are UBT and others?

#

not built, run per se

#

i mean

#

anyways, I can't seem to find a way to debug AutTool, with LogTracewarning(lalalala) I get "CommmandUtils.Logs(lalalala) is a method, which is not valid in the given context"

#

however if I use LogInformation(lalala) I get no output at all

stable mantle
#

ah, because it is deprecated

#

๐Ÿคฆ

#

"Deprecated renamed CommandUtils.Log to CommandUtils.LogInformation, to avoid conflicts with the underlying Tools.DotNETCommon.Log class."

steep blaze
#

Hi all, if I compiled my own version of the engine on my machine, and i want to move it to another machine... should I copy the source and rebuild on other machine or can I just move the final binaries over?

cosmic pulsar
quick crystal
#

I seem to run into a problem quite a bit - I go to compile and VS tells me that the build failed because a process is holding on to a file in the ue4 build phase... but I just launched my computer. This is the first build attempt of the day

#

It also happens after I have closed the editor. That at least makes more sense - something didn't close a file handle properly or something of that nature

#

But on first start up??

#

I guess my question is: has anyone else come across this problem and if so, short of pressing delete on anything VS tooling related in proc manager what did you do to get around it?\

stable mantle
#

@quick crystal , are you compiling a solution with both game and engine or just the engine?

quick crystal
#

I'm not sure what you mean. I would think both? I open up the game sln and build from there

stable mantle
#

ok, and are you using the github source of the engine?

quick crystal
#

Yeah

stable mantle
#

ok

quick crystal
#

A forked copy

stable mantle
#

I'll give you my 2 cents, hopefully it may help

quick crystal
#

Ok ๐Ÿ˜ƒ any help is appreciated!

stable mantle
#

i am having the same issue when I make changes, related to HTML5 deployment

#

please hear me to the end

#

in my case, when any change is made, I have found instructions to build in this order:

#
  • AutomationTool
    • AutomationToolLauncher
    • UnrealBuildTool
    • UnrealHeaderTool
    • HTML5LaunchHelper
    • ShaderCompileWorker
    • UnrealPak
    • UnrealLightmass
    • UnrealFileServer
#

and then, finally, bulild UE4

#

and only then

#

build the game one

#

I guess you could try first, just building UE4

#

and then your game

#

so, in VStudio, right click on UE4 and build

#

after built

#

right click on your game and build

#

maybe all the other steps are not necessary in your case

#

then, after akll built, set you game as the startup project and run

#

or if you dont want to debug, run without debugging or just open the .uproject that you've just updated

#

this is all I can tell right now

#

of my knowledge

elder falcon
#

@quick crystal are you using build solution?

quick crystal
#

I just do build solution

#

not rebuild

#

from the game project

elder falcon
#

only build targets one by one, ubt seems to have a bug currently where the wait mutex doesn't work

#

so right click your game project > build

quick crystal
#

Yeah I do recall seeing something about a mutex

#

Ah

#

Ok

#

I will start to do that and see if that fixes it

#

Thanks everyone

stable mantle
#

๐Ÿ‘Œ

#

@elder falcon CommandUtils.LogWarning(blablabla) has just work right now on Automation Tool. I managed to get some prints of variables values I wanted to check. Perfect, this solves my problem right now. But for future it would be really nice to know how to really debug (breakpoints, etc) any program of the engine

#

in my case, debugging Automation Tool whilst packaging for HTML5

elder falcon
#

yeah I dunno, I never needed to debug automation tool before

stable mantle
#

and others? UBT, etc?

elder falcon
#

not those either

stable mantle
#

ok

spiral mortar
#

I can think of a hacky way

#

Add a while (myBool) {} at the beginning of the program

#

Attach to the process

#

Change myBool to false

elder falcon
#

that's pretty br_big_brain

spiral mortar
#

๐Ÿ˜…

#

Should work though

stable mantle
#

โค

whole mauve
#

is there a way to turn on debug symbols for Android shipping builds?

#

I don't see anything in the target rules

gloomy hamlet
#

@stable mantle Simplest way is to just run the program from VS. Open the C# project for UAT/UBT or whatever, set the right startup project, then in project properties Debugging tab, specify the command line arguments you need. Then hit F5.

stable mantle
#

@gloomy hamlet yes, for me that works for UBT. But I can't make it work for UAT. Maybe the good command line arguments for UAT must be somehow different than UBT?

#

@gloomy hamlet when I use the same commandline arguments of UBT in UAT and run I get an error "Failed to find command ********"

#

where ****** is the game project name.

#

so maybe the syntax for commandline arguments are differnt for UBT and UAT?

stable mantle
#

for UBT this works -> ******** HTML5 Debug C:***.uproject

#

but not for UAT

#

my guess is that UBT calls UAT (but I cant debug UAT this way)... and that UAT isn;t meant to be run?

#

run autonomously, I mean?

gloomy hamlet
#

@stable mantle Other way around, UAT calls UBT.

#

If it needs to.

#

And yes commands are different. If you're doing something common like build/package/cook, you should be able to see the command arguments you need by doing it via the editor/project launcher and checking the output log.

stable mantle
#

ahh, ok ๐Ÿ˜ƒ thanks

#

@gloomy hamlet you mean, launch the editor via VStudio and check output log, or just launch editor by itself, tell it to package for HTML5 and then check the editors output log?

#

I mean, output form VS or inside editor?

gloomy hamlet
#

Editor output log.

#

I think packaging from the editor runs the automation tool.

#

If it doesn't, then use the project launcher instead.

stable mantle
#

thanks @gloomy hamlet

stable mantle
#

@gloomy hamlet hum... I do get command arguments on output, but only for UBT

gloomy hamlet
#

See the bit at the bottom of the 'Command Line' section.

stable mantle
#

purrfect ๐Ÿ˜ƒ

stoic harbor
#

What would be the purpose of this folder's content?
C:\UnrealEngine\Engine\Extras\VisualStudioDebugging

#

I noticed it when installing the UnrealVS extension. Also I noticed the VisualStudioSnippets, but those are clear what they are

lofty charm
#

@stoic harbor I believe that's for better debugging, in the sense that if a type is a bit obscure and hard to read in the VS debugger, that extension should simplify it.

#

I've seen that before in other engines when there are weird containers which, due to their odd layout for performance reasons, don't just expose to you an easily-browsed collection of elements.

#

In that case, a .natvis file helps you get that nice view ๐Ÿ˜ƒ

stoic harbor
#

Thanks @lofty charm , that makes sense since for some of the variables it says that they are optimised and wouldn't show their values while debugging in VS. Have you ever used this plugin before?

lofty charm
#

@stoic harbor I haven't! Only noticed it recently tbh. But I've seen similar kinds of plugins for other engines, as I mentioned

#

Give it a go!

stoic harbor
#

Will do, thanks once again ๐Ÿ˜ƒ

lofty charm
#

@stoic harbor To be clear, though, I don't think it can necessarily help the optimized variables problem - that's what you get in a build that doesn't have full debug info (e.g. you're trying to debug Development Editor instead of DebugGame Editor).

#

It's more for types where the values you see in the VS debugger, while not optimized away, are kinda non-sensical or not what you generally want to inspect.

stoic harbor
#

Aha, that is why then. Yeah, I'm using the Development Editor

lofty charm
#

If you're using a build from the launcher, make sure you download "Editor Debugging Symbols" under "Options" when downloading the engine. Makes it easier to step into engine code as well.

#

That coupled with using DebugGame Editor... you'll be sweet ๐Ÿ‘Œ

stoic harbor
#

I'm using a source version of the engine and I have built the engine using Development Editor. Do I have to build the engine using one of the Debugs as well, or I can only build the game project using the DebugGame Editor for this to work?

lofty charm
#

Bad News

#

๐Ÿ˜›

stoic harbor
#

hahaha

#

Thought so

lofty charm
#

Have fun ๐Ÿ˜„

stoic harbor
#

I already am ๐Ÿ˜‚

stable mantle
#

@lofty charm about downloading debugging symbols. Is this possible but with source engine? I can't even add it to the Epic launcher, let alone symbols ๐Ÿ˜ƒ

lofty charm
#

@stable mantle You should get them by building in debug, since you have the engine ๐Ÿ˜ƒ

stable mantle
#

nice ๐Ÿ˜ƒ

#

what about command line arguments... when compiling debug, ok "Debug" but when debug editor, should it be"Debug Editor" (with a space) or just "Debug" again?

#

for instance "ProjectName HTML5 Debug C:ProjectName/ProjectName.uproject

#

if Debug Editor should be

#

"ProjectName HTML5 Debug C:ProjectName/ProjectName.uproject

#

or

#

"ProjectName HTML5 Debug Editor C:ProjectName/ProjectName.uproject

lofty charm
#

Ah sorry, I was speaking in short-hand. I tend to use DebugGame Editor

#

I'm not sure of the exact wording for that particular command though, sorry.

stable mantle
#

ok ๐Ÿ˜ƒ

#

but anyways, do you put a space between DebugGame < SPACE> Editor?

#

i mean when adding command line arguments for debugging, for istance the UnrealBuildTool program

echo gyro
#

Any way to package for Xbox from ue spruce build?

pale smelt
#

how does ue4 determine which monitor to start up a game on in a multi-monitor setup (multiple monitors on the same output device)

#

and is there a way to set that e.g. from command line that is generic to most/all ue4 games?

echo gyro
#

@pale smelt as far as I know it would start on the main monitor set in the OS

pale smelt
#

ah ok

#

i have a main monitor which is 1920x1200, which ue4 games always seem to boot on

#

and a secondary which is 1920x1080 which has a hardware video capture device looped through it

#

it would be nice to force the games to boot there, when using the editor its no issue as i put my play-in-editor window on that monitor

#

but for packaged/cooked games...

echo gyro
#

Well thereโ€™s defiantly ways to do that as I see most games now have an in game option to choose which monitor to play it

bold hare
#

I'm trying to understand APlayerController::UpdateRotation function.
And i can't understand what is the purpose of this call: SetControlRotation(ViewRotation);
If pawn is rotated using:

APawn* const P = GetPawnOrSpectator();
    if (P)
    {
        P->FaceRotation(ViewRotation, DeltaTime);
    }

Why set control rotation?

clear cloak
#

How do I properly navigate the editor source code? Like for example lets say that I wanted to find where the functionality for pressing "End" and having the actor snap to the actor below it in the level

green idol
#

@clear cloak i usually start with the Widget Reflector (under Windows -> Developer Tools I think), then you can capture the reflection data about whatever you mouse over, freeze it with escape, then open the source from there.

bold hare
#

Open Code in any IDE, vscode for example:
Search for 'Snap to floor'

#

Engine/Source/Editor/LevelEditor/Private/LevelEditorActions.cpp

clear cloak
#

awesome thank you

fringe night
#

Hey folks, I have been bashing my head on this for too long and am looking for advice from someone with a little more experience than me. I created a Slate Window that pops up during PreSave that asks if you want to delete a certain kind of volume. What I can't figure out is how to cancel the Save if the user clicks cancel or closes the window. If anyone has some advice I would really appreciate it. Thanks!

limber jacinth
#

wrong channel ^

frail pine
#

Not sure what the right channel is for this, but I'm trying to configure UnrealBuildTool settings on a project-wide level. I see that the setting is tagged with XmlConfigFile, but it seems like the only places to specify those settings (BuildConfiguration.xml) are in per-user folders, not per-project folders? (Engine/Saved/UnrealBuildTool/BuildConfiguration.xml, %APPDATA%/Unreal Engine/UnrealBuildTool/BuildConfiguration.xml, My Documents/Unreal Engine/UnrealBuildTool/BuildConfiguration.xml)

Is there any way to set these settings (or defaults for them) project wide without modifying UBT?

vagrant mica
#

i can build the engine at home, but i sync'd on another computer to build it and i'm getting an error with the UHT

#

it can't parse the parameter for a timer

#

EngineTypes.h(2859): error : Unable to parse delegate declaration; expected 'DECLARE_DYNAMIC_DELEGATE' but found 'DECLARE_DYNAMIC_DELEGATE_OneParam'.

#

my delegate is declared as such
DECLARE_DYNAMIC_DELEGATE_OneParam(FTimerDeltaDynamicDelegate, float, DeltaSeconds);

#

is there an issue with floats as a paramtype?

vagrant mica
#

nevermind its not my delegate if i delete it it just complains about another one

vagrant mica
#

ok found it. when i was checking code in, i missed the defaultengine.ini in engine/programs/unrealheadertool/config...

#

hopefully this helps someone in the future

bright olive
#

am I reading this right, multi user editing in 4.22??

#

Engine/Plugins/Developer/Concert

#
    "FileVersion": 3,
    "Version": 1,
    "VersionName": "0.2",
    "FriendlyName": "Multi-User Editing",
    "Description": "Allow collaborative multi-users sessions in the Editor",```
elder falcon
#

yes

limber jacinth
#

so like networked access to someone elses editor, a bit like teamviewing in?

elder falcon
#

is it bad that I'm just expecting it to either crash or be unusable in some other way

stable hemlock
#

Anybody know why the FRotator's constructor parameters arranged by Pitch, Yaw, Roll when everything else is Roll, Pitch, Yaw? I've been debugging all night because I didn't notice this stupid arrangement ๐Ÿ™ƒ

thick storm
#

n

#

no

#

it's fully features multi user level editing

#

you have dedicated server

#

which track sessions

#

you can start hosting session

#

and your editor will act as master

#

you connect to server and publish your session

#

other people can join

#

and it is working quite well

limber jacinth
#

so like i said

#

its a networked accessed edtior

#

which people can join in and work on

#

maybe the teamviewer bit wasnt a concrete example, but you are technically working in the same editor space surely

thick storm
#

Scene Fusion - it works exactly like it

wooden tusk
#

Because from my basic understanding is that it is a new physics engine. But I could be wrong

brisk silo
#

its a physics library

#

definitely looks like it

#

what the shit

#

they were developing it outside of unreal?

#

looking at the code, stuff is SoA, vectorized, and data oriented

#

well shit, this is definitely ultra-early but its written from day1 with absolute perf in mind

#

super heavily templatized, more than anything else in the codebase

astral sapphire
brisk silo
#

the entire thing also has parallel-fors for days

#

its common to see parallel for->commit data into array

#

promising

astral sapphire
#

Clang-CL Windows build-fixes - accepted

brisk silo
#

definitely faster than godot physisc

#

@wooden tusk so thats pretty much my quick overview. Seems like its just math code, not very attached to stuff

#

i see some interesting stuff. I wonder whats the plan for that. Interesting to see code so hilariously over-templatized

#

very bullet-like

dapper cipher
#

Hey everyone, just wondering if someone can answer a question for me. I've been looking at the TextAsset Plugin in the Unreal Academy talk - https://academy.unrealengine.com/Class-Viewer/plugins - and I can't seem to figure out how to implement the asset thumbnail. Been trying to figure out how to get the Icon128 in the resource folder to act as the thumbnail but any way i attempt to implement it doesnt seem to be working

wooden tusk
#

Thanks for the insight @brisk silo ๐Ÿ˜ƒ

astral sapphire
#

I assume Chaos is mentioned physics system for Niagara

limber jacinth
#

@dapper cipher dont post same question in multiple channels

#

at least 3 channels with the same question :/

dapper cipher
#

ah, didnt realise i had posted in editor-scripting cheers. wasn't sure if here or plugins was the right location so hedged my bets

limber jacinth