#engine-source
1 messages ยท Page 27 of 1
I've had some complaints from users about AO artifacts
It would be good to allow either method, I guess. But the baked AO increases mesh computation time by ~50%
It's noticeably slower to sculpt (for me)
baked AO is really creamy and nice, though
AO works in forward now, but it's unusable with MSAA, fyi
you mean the artifacts?
unreals SSAO does rely on TAA to smooth things out
it didn't look that horrible when used sparingly on my tests tho
HBAO+ has separate blur pass but like mentioned, it's fairly heavy
@terse dragon or did you mean the UE4's MSAA edge artifacts rather?
@low dust I meant the fact that it relies on TAA so it's really noisy without it. would it be difficult to port the HBAO+ blur pass to work with SSAO instead?
neither will do separate pass
they both rely on TAA
unless I remember totally wrong
SSAO is definitely tad noisy but it didn't look all useless on desktop IMO
no idea on the blur pass on HBAO+, part of the HBAO+ is closed source, I didn't check if you get control over the passes easily
Forward+SSAO+MSAA in 4.21
:barf:
That's basically what SculptrVR looks like on PC right now.. I should at least switch to TAA...
well
I think TAA was actually a bit too expensive last time I tried it
I should just give the baked AO option ๐
good news is that since the AO is using ScreenSpaceAO RT, it should be possible to add custom blur pass there right after AO has computed
bad news is that doing any kind of mod in ue4 internals is a lengthy process
but at least where the RT data is, is nice separated
And all your work will get murdered with the rendergraph update
heh
well, if they actually make that stuff easier to modify, it would be great
it's crazy hardcoded right now
Seems like it'll be much easier to modify, yeah
@granite dust how does your baking work? cast some rays from each vertex to calc occlusion then set it in the vertexcolor?
Close. I shoot out four cones from each vertex
cone tracing on the CPU is only doable because of our weird voxel format
there's a SVO but each voxel contains gradient information as well as density
so you can do linear interpolation with a single voxel instead of having to do trilinear
in total it's 6 or 7 samples per cone and 4 cones, so it's like like 100 ops per vertex
that's cool
That's what it looks like in our mobile renderer
that's actually an unlit shader with faked lighting
I've noticed that when I regenerate the vs project files for a project using an engine version built locally from source (4.21), the project doesn't add ..\Build\Win64\UE4Editor\YourModuleName back to the NMake\Include Search Paths values. Without it, you start getting the intellisense errors that generated files etc can't be opened.
What would I need to edit to add this step to re-add that for projects using my source built engine?
I just don't want to keep adding it back manually each time I need to regenerate vs project files
@mint thicket There's an issue in 4.21 for that
any idea where that code is handled that regenerates the include paths?
ah sweet ty
Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.csproj
Hey is it possible to disable content migration and/or export from the engine? I don't want people working on my game to "take" the assets I've paid for..
@unique sparrow Not from the engine but I think you might be able to do this through source control and permissions maybe
Engine\Source\Programs\UnrealBuildTool\ProjectFiles\VisualStudio\VCProject.cs
within VCProjectFile.WriteProjectFile(..)
at line 1019
and the include search paths get populated at line 671, in case anyone was looking as well
without spending a couple days looking at this, I think only place to do a quick and dirty hack to add ..\Build\Win64\UE4Editor\Inc\YourModuleName to the project files include search paths is in VCProject.cs within the VCProjectFile class' WriteProjectFile(...) method.
You can just check if VCIncludeSearchPaths variable already contains the relative path, and if not, jam it in at the end of the method before it returns. Probably should check to make sure the path actually exists as well, but something is very wrong if it doesn't exist
didn't they claim to have fixed this twice in 4.20 already
how can it still be broken
shenanigans. its fine for binary engine distros but source builds still drop that include on regeneration
I have my project on a different drive than my source engine so maybe that might be part of it but I really don't wanna keep going through the UBT source to figure out the entire call chain lol It's all over the place
funny story: if you open up your engine source build and look in the task list, filter for HACK entries, all but 4 of them are in UBT ... lol
task list?
and damnit, the include fix above only fixes the intellisense includes for my own project. Still gives the cannot open source file error for engine's .generated.h headers
is it possible to filter this so I can make it show only todos from my project in a source build?
sorta. You can setup your own annotations in vs settings and filter by them
interesting
super handy
gonna have to check it out later
you set them in visual studios Options\Environment\Task List
I usually just do @todo: [Category|Breif where category and brief are just ways for me to categories like [Refactor|Urgent] etc
omg, do you have to tell this thing to iterate every generated header from the engine in the engines intermediate directory too to fix this?
looks like thats it, as well as any plugins you use
@elder falcon and sorry, yes you can make it filter by project specifically with the drop down on the left
Anyone ever tried to build source 'n had this issue ? LogMaterial: Display: Missing cached shader map for material WorldGridMaterial, compiling. Is special engine material.
The end of the log:
[2018.11.30-18.53.44:447][ 0]LogMeshReduction: Using QuadricMeshReduction for automatic static mesh reduction
[2018.11.30-18.53.44:447][ 0]LogMeshReduction: No automatic skeletal mesh reduction module available
[2018.11.30-18.53.44:447][ 0]LogMeshReduction: No distributed automatic mesh merging module available
[2018.11.30-18.53.44:454][ 0]LogMeshMerging: No distributed automatic mesh merging module available
[2018.11.30-18.53.45:296][ 0]LogMaterial: Display: Missing cached shader map for material WorldGridMaterial, compiling. Is special engine material.
The thread 0xb670 has exited with code 0 (0x0).
The thread 0xac10 has exited with code 0 (0x0).
The thread 0x814c has exited with code 0 (0x0).
The thread 0xdc48 has exited with code 0 (0x0).
'UE4Editor.exe' (Win32): Loaded 'C:\Windows\System32\TextInputFramework.dll'. Cannot find or open the PDB file.
'UE4Editor.exe' (Win32): Loaded 'C:\Windows\System32\CoreUIComponents.dll'. Cannot find or open the PDB file.
'UE4Editor.exe' (Win32): Loaded 'C:\Windows\System32\CoreMessaging.dll'. Cannot find or open the PDB file.
'UE4Editor.exe' (Win32): Loaded 'C:\Windows\System32\WinTypes.dll'. Cannot find or open the PDB file.
'UE4Editor.exe' (Win32): Loaded 'C:\Windows\System32\WinTypes.dll'. Cannot find or open the PDB file.
'UE4Editor.exe' (Win32): Loaded 'C:\Windows\System32\WinTypes.dll'. Cannot find or open the PDB file.
'UE4Editor.exe' (Win32): Unloaded 'C:\Windows\System32\WinTypes.dll'
'UE4Editor.exe' (Win32): Unloaded 'C:\Windows\System32\WinTypes.dll'
The thread 0xd480 has exited with code 0 (0x0).
The thread 0xa7d0 has exited with code 0 (0x0).
The thread 0xc4ec has exited with code 0 (0x0).```
@placid pike You ever seen this? ^ Haven't tried working with UE4 source in half a year, no idea why this error is happening after I finished building everything 'n trying to launch the editor :/
@bronze parrot I've never built from source, sorry I don't know what's going on ๐ฆ
k
Tried again and it worked ๐
hello programmers creed. can you enlighten me how the console command "delete" works and what type of syntax it needs?
simply typing the name of an actor in there won't delete the actor
ok seems the delete command will only delete actors in the editor and not ingame
in editor it works. is there any chance to delete specific actors or type of actors vie console ingame?
make your owen Exec function to call destroy on an actor
Any sort of idea where to start to find out what happens when an asset is opened for the first time?
does anyone know how to fix this ? (broken material after updating to 4.21)
Anybody familiar with lower level rendering code? Particularly, the OpenGLES implementation? Trying to fix a bug that I've mostly tracked down, but low level rendering code isn't my domain.
All good - managed to fix it.
I think the compiler is f-ing with me.
I'd go for a typo in a forward declaration @blazing axle
There's no forward declaration in that class.
Oh.... I screwed up somewhere above during a TSubclassOf<class ...> and that registered it as a valid thing. Durr
Didn't see the UUSer
That's a forward declaration too ๐
Yeah, one I didn't realize existed since I put that there trying to fix another bug I had earlier.
Heyo
Hoping someone here can help me with an issue
I'm trying to build Microsoft's fork of UE4 for the UWP version (4.19) and I keep getting a couple of errors
'/FU' requires an argument
and
MSB3075 - The command "..\..\Build\BatchFiles\Build.bat UE4Editor Win64 Development -WaitMutex -FromMsBuild" exited with code 5. Please verify that you have sufficient rights to run this command.
Anyone got any solutions?
I would like create a C++ class and then I want to build my project
But I have got this problem : ERROR: UnrealBuildTool Exception: Unable to compile source files.
Do someone have a solution ?
- #cpp unless you're modifying a github engine
- Surely that's not the only thing output by ubt
@spring yacht If it's #cpp we can discuss there if you're still iffy on it. Stupid question, but did you regenerate your project files?
Does anyone know what the difference is with frame buffer pixel formats?
Any of you friends happened to test compiling the UE4 Source in Visual Studio 2019 Preview? Apparently there is an issue while Generating Project Files in regards to XML.
Hey guys,
Would someone tells me how to force Recompiling All shader ?
Like Ctrl + shift + . Doesn't work -.-
Same thing if i recompile my material, it doesn't update my changes in the .usf file
Ok, doesn't know why, I just had to change the shortcuts.
Hello everybody. OK, we can use IPropertyTypeCustomization to customize the editor for UPROPERTY types. But is there a way for me to customize how a Datatable (based on a custom UStruct) handles data (ie. enable/disable fields based in other values)?
I was checking the DataTableEditorModule but couldn't find a way to "plug" anything into it. =\
Hey everyone. A friend compiled a project using the source version of UE4 for using the dedicated server. Can I compile that same project with the Epic installer version of UE4 without any issues? I don't need the dedicated server. However, if I compile the project from my end, would that cause problems for my friend to open the files later on and use the dedicated server again? Thanks.
P.S. I don't have much time to test this out as the source engine build is taking long on my PC, hence I'm asking.
@crystal cloud It'll modify the .uproject
But that's about it
Changing the associated engine in it
@spiral mortar Thanks.
anyone know if you can mark an SWidget as modified for the purposes of Transactions ? Its created with SAssignNew(name, type). Or am I missing the boat here?
why does 4.21.1 package Engine/Binaries/ThirdParty/PhysX/ with the game - seemingly containing ancient physx libs that haven't been used in years?
actual physx libs are in Engine/Binaries/ThirdParty/PhysX3/
4.20.3 didn't package this ๐ค
nvm
I somehow accidentally merged my new game folder with an old archived one from another project
๐ค
lol
Hello, so, i'm guessing this should be here, i've been getting a "Cook Failure" error ever since i wanted to export my first dev build of a small game i'm building, i don't have any experience with UE4 so i'm just guessing a bit, and grabbinjg tutorials from the internet, please don't expect me to understand true programming language, anyways, i've been having this error for about 3-4 days now, and i've been looking into it a lot but just can't find a fix for it, is anyone here able to assist me? These are my logs. https://pastebin.com/K0Ut0zhb
How do people fix issues with NetCL being different from the binary release when building from github source? I want to avoid everyone having to build their own client (or have a separate client release)
Hey guys I think I've stumbled upon a misnamed class method in the source code. Is there a policy for renaming class methods that I can read about so that I can make sure that I fix this bug properly and therefore get my PR accepted?
Epic strictly adheres to the Coding Standards outlined in the Documentation when dealing with community PRs
https://docs.unrealengine.com/en-us/Programming/Development/CodingStandard
Skimming through it, I don't see anything regarding the correct way to rename a method. I imagine it must involve copying the old signature and adding a DEPRECATED() macro, then renaming the original to the correct name? It can't really just be that simple, though, can it?
Thats typically how its handled. Search the engine source for an example of a DEPRECATED method and follow the same style.
What's the method @regal thistle ?
Depreacted is not really used for renaming, its saying Dont use this no more, use that instead
Well yes, "Don't use OldName, use NewName instead"
And after an engine version you remove OldName
Deprecated has been used for renaming before. There was some function I used that got renamed in either 4.20 or 4.21.. but I can't remember the function
hey! I would like to customize editor behavior when user drag&drops a static mesh from content browser onto a scene. I want to instatiate a specialized version of AStaticMeshActor. Seems like a typical use case when customizing the editor but I couldn't find reasonable way to do this(except directly finding and modyfing editor code).
@valid vortex It's usually quite easy to add new type & new actions for it
Overriding existing actions however isn't easily possible
What do you want to do with that custom AStaticMeshActor?
Right. One would hope there will be a hook for this action as it seems to be quite common use case ... but I guess that deep diving into the code is the way to go
I need to add extra properties to all static meshes in the scene
More specifically I want to use GameplayTags on static meshes
Hello, did someone ever built an UE version with Nvidia technology ? I'm very interested in HBAO+ and TXAA
@deep fiber I tried out their flex branch, IIRC just followed the guide and it all went smoothly
@normal siren This is what I wanted to hear ahah X) but actually I can't find their github, when I go on their website / physx for ue4 / and click on their github link it shows me a 404 error.
@deep fiber make sure you are signed in on GitHub, and have agreed to terms on Nvidias website
@normal siren There probably was a problem with my github account linking, now everything is fine :) thanks
@deep fiber glad to have helped :)
is anyone here familiar with Gauntlet yet?
@sly mason I read something about it here : https://www.tomlooman.com/ue421-highlights/
but I don't tried it yet
This is almost magical, how does nobody notice this issue
void FMaterialProxySettingsCustomizations::AddTextureSizeClamping(TSharedPtr<IPropertyHandle> TextureSizeProperty) is completely broken
What is supposed to happen is that it's supposed to override limits for FIntPoint in a specific property (the handle is given), but what really happens is that it affects every FIntProperty out there, like for example the level position, making it impossible to enter the level positions numerically D:
@radiant hazel you mean FIntPoint can't be set correctly inside a detail tab for example ?
because few months ago I found a similar issue
Yes
The bug manifests itself as FIntPoint being clamped to 8192 or 16384 every time you enter a value that's beyond 0..16384 range
Regardless of where it is (in my case, it was in the level properties - I was trying to enter level position, but it kept resetting)
my dirty workaround was to copy the FIntPoint value, past on text editor change values and copy to paste it in editor.
I simply commented out the broken function (AddTextureSizeClamping) in our custom engine
It adds nearly zero value, but breaks all FIntPoint's lol
PR?
I can't be bothered to dig into the property system to figure out what's the proper fix for this, if any exists at all
Just commenting out that one thing fixes it and as far as I checked, no other places in engine try to do it
I finally got cross platform multiplayer working again in 4.21.
They changed a ton of stuff between 4.19 and 4.20
The keys turned out to be PreLogin in game mode base
And RegisterPlayer in OnlineSubsystemNull
They changed how UniqueNetIds are dealt with and I had to wrap those functions up with safety code that can convert to a common form
Took me a week to figure out, and if course it was 3 lines of code in the end ๐
Hey i have a nasty bug, even though i freshly installed my UE version and updated VS 2017 and I hope I'm in the right place here to ask, I have 2 days Time for an application Task for a Job opportnity i recently got so I would be grateful if somebody could help me 
: ERROR: UnrealBuildTool Exception: Unable to open log file for writing (C:\Program Files\Unreal\UE_4.20\Engine\Programs\UnrealBuildTool\Log.txt)
--> The file is NOT only read and i dont have whitespaces in the path to my project
error appears when i try to build from Visual Studio
When i open the Project i get the error "The game module 'ApplicationTask' could not be found, please ensure that this module exists and that it is compiled."
WAIT A SECOND ๐ i missed a bracket in one of my cpp files and now i could rebuild everything and get it to work.... I'm a bit confused that not even the project would open without that fckn bracket lol
Still --> I can only run it when starting the Project as "DebugGameEditor" from cpp with Visual Studio being started as an Administrator
I had a question: after forking, cloning and building UnrealEngine source, I get a lot of extra files that are not in the gitignore. Anyone got a better ignore file? Or should I just commit/make a PR with my changes only and leave the rest?
what are the files
Engine/Binaries, Engine/Documentation, Engine/Extra Engine/Source/Thirdparty directories, .dll, png etc files. 19k files
what git client are you using
if it's git kraken, use a different one
git kraken does not work with unreal
and they refuse to do anything about it
Will look into that. Switched to GitKraken after SourceTree. No problems for Unreal Projects so far (blueprint and c++). Only now with Engine Source from master
the .gitignore is apparently too complex for git kraken to understand
I reported it like 2 years ago and nothing happened ๐คท
also don't use master branch
that's unstable
grab release instead if you need to change some things
Made a Pull Request for the Engine itself so had to be master
ah
Quickly checked GitHub client, now it's 6 files... wow GitKraken...
Great advice ๐
it can also help to make 2 clones of the engine
one you actually use, and one to quickly switch between branches without having to update dependencies or cause rebuilds
ah good idea, I'll keep that in mind
Is Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile the biggest lie of unreal engine 4
I encountered these warnings so many times while developing our project from 4.4 all the way up to 4.22 and basically everything that involved that error message never broke between versions
But the API that didn't have those warnings would always break lol
This amuses me to no end
Ah we already deprecated it, no need to remove it
Time to remove this, but it wasn't even deprecated? Guess nobody used it
They broke the physics API (rightfully so considering how big of a change it is, sure), but some random forgotten API calls from 4.4 still work fine derp
I'm a good boy though, I clean up all these deprecation warnings (just to see more appear every few versions or so)
no warnings allowed when compiling project or engine >:(
Hey guys, I didn't find a more appropriate channel to ask this, so I'm asking it here:
My Engine folder is taking up 90GB of space and my project's folder 75GB (even though the game is not so big) and I'm running out of space on my SSD. I package my game for Windows 64 and 32 bit and Linux (dedicated server).
Are there any folders that I could delete to free some space?
Is there a noticeable performance loss (for loading times, compiling and packaging) if I move the Engine folder to my HDD?
Would also like to see some tips to reduce size. 70GB for just plain GitHub repo + build is quite a lot
none of the files are unnecessary - if you remove them they will just come back eventually
get a larger ssd, they've really fallen in price recently
i recommend a 512GB SSD for small to medium projects
for large games you may need 1TB
especially if you're building for multiple platforms
prices have come down a lot... you can get a 512GB Samsung SSD for $129 at BestBuy, and probably cheaper even on Amazon
as for things you can delete, there really isn't that much. you could check your Intermediate folder and delete any build configurations that you no longer need. for example, if you built Debug and Development, but only use Development now, you can get rid of the Debug folder
you can also check your project's /Saved/ folder to see what's in there (log files, etc.), but it usually doesn't amount to much
delete stuff in your Windows Downloads folder, and run Disk Cleanup to remove temporary installation files, browser cache, etc.
make sure you don't fill your SSD all the way up. performance tends to drop considerably when they're close to full, i.e. 90%
Thanks @gray bay and @elder falcon and sorry for the delay
I'll try deleting the folders of builds I'm not currently using
but buying an SSD is not an option for me right now specially because a 512gb SSD costs around $310 where I live
@ivory spoke that sounds terrible. where do you live?
perhaps buy one off eBay and have it shipped to you
if you get a used one, make sure there's a screenshot of how much data was written to it (Samsung Magician)
Samsung drives are pretty reliable. I have a bunch with 100TB+ written, still going strong
There could be many taxes when importing a product so it would be basically the same as buying here
I might be able to find one for 220-250 maybe
But I'll do it next month or the other probably
thanks for the help!
aw, that sucks, Rapalo. I just checked my purchase receipt and saw that I actually got a 1TB Samsung SSD for $135 (incl. tax). If I ever travel to Brazil, I'll bring you a stack ๐
anyone here on linux wanting to test intellisense fix?
in vs code? Sure
@valid vortex vs code should be enough, check that patch: https://github.com/EpicGames/UnrealEngine/pull/5356
there are UE-45139, UE-63664 and UE-67548 (mine) for the same thing and I think that patch fixes all of them
Will give it a try.
i got these errors when i tried to build the source. any idea why they happened? https://i.imgur.com/RT9owNo.png
Not sure why that would happen, but it's unlikely you need to build the minidump diagnostics anyways... ๐
Does your project build?
before i sumbit a pull request, how likley would epic be to deny a pull request that only cleans up code and doesnt change stuff
or change functionallity at least
it changes the code to make it more readable
stuff like that
or replacing the old style C++ iterators with the for(auto I : Arr) syntax
and removing a couple unused #includes in some of the .cpp source files
simple stuff that just makes the code simpler to read and understand
not changing any interfaces or the likes
Feel free to try man, what's the harm
whats the worst that could happen anyway
i'll just clean up a few more includes, test compile it overnight and then submit it
I think if you make IWYU compliant files non-IWYU, they won't accept it.
split up the PR along module lines though.
Some of them are straight up duplicate imports tho
@ivory spoke its because Engine and Project generate lots of .obj and lib files when u compile each build (Development, Shipping etc)
mount your Intermediate/Saved folders to HDD
anyone know where engine content arttools is located in source or is it generated during build?
do anyone know what are flags for "generate *.generated.h and *.gen.cpp and *.modules and *.target && give me information about compile and linker flags" task for UBT/UHT in 4.21 or similar version?
i encountered 'JsonExport' flag but wasn't able to understand when it is generated
so i use tweaked XGE export to xml instead and it looks like it spends x2 time for some kind of building after generating actions for compilation+linking
im trying to compile one of the dev branches from github
and it asks for net framework 4.5
but its installed
wtf
1179,5): error MSB3644: The reference assemblies for framework ".NETFramework,Version=v4.5" were not found. To resolve
this, install the SDK or Targeting Pack for this framework version or retarget your application to a version of the fra
mework for which you have the SDK or Targeting Pack installed. Note that assemblies will be resolved from the Global As
sembly Cache (GAC) and will be used in place of reference assemblies. Therefore your assembly may not be correctly targ
eted for the framework you intend. [E:\Gamedev\UnrealEngine\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.cspr
oj] ```
what's interesting in the branch? ๐
but yeah, I dunno if those are even meant to compile/work
seems all that was needed is to update visual studio to the absolute latest
seems to be working now, and compile it
gonna check out what happened in deferredRenderer.cpp, where ive done plenty of work for DWVR and i "know my bearing"
@low dust seems like the render targets are now more abstracted
and it has more direct rhi renderpass stuff
part of the render graph thing?
so instead of getting the render target for "base color", with it being a hardcoded var, its now a "GetRenderTexture("BaseColor")"
the rest of the code looks very similar
for example
GRenderTargetPool.FindFreeElement(RHICmdList, Desc, DistanceFieldNormal, TEXT("DistanceFieldNormal"));
@low dust HBZ now runs through render graph
and also volumetric fog
nothing else tho
the most interesting use is in volumetric fog
volumetric fog uses multiple passes
and they are handled through render graph
a local one, in fact
it creates one, adds the passes for the volumetric fog, and executes it
becouse its one compute shader after another
btw, render graph for execution of compute shaders looks amazin
in the volumetric fog, there are a few separated rendergraph passes, some of them compute, and some of them not
LogSlate: Could not find file for Slate resource: ../../../Engine/Content/Editor/Slate/Launcher/Mac/Platform_Mac_24x.png```
Anyone else getting these on startup of release branch source 4.21.1
Iโm on win64 dev editor build release branch
is this supposed to happen?
yes
it's intellisense error anyway
it still builds fine
you can add the extra parenthesis there like on one answer there if it really bugs you
it'll make the engine recompile fully tho
@amber obsidian
thanks
say i want to update some stuff inside of a blueprint library
how dangerous would it be to turn a namespace enum into an enum class?
if they were both marked as UENUM(BlueprintType)
would anything break if i did that and updated the related function?
i have cpp UENUM(BlueprintType) namespace EScreenOrientation { enum Type {would it be dangerous to turn it into cpp UENUM(BlueprintType) enum class EScreenOrientation : uint8 {
no
and update the function that uses it
would that sort of thing get accepted if i put it in a PR?
for bp, both of these are an enum property with identical values
there would be no harm in updating all legacy enums in the engine
I don't know why they don't
ye you'd need to update some of the code that uses it ofc
but the question was specifically about bp I think
works fine
compile fine != works fine
Lots of tricky cases
There's a reason all that stuff is still that way
because it would be way too risky to upgrade it
for no real benefit
well the cast would be faster than a switch case
That's not safe
the switch may be there for a reason
converting platform specific enums to this one
they would have to update the switch case either way with that
that way they have to update the enum instead
They need to update both, and remember to do so
well they have to update both either way
Can you show the original switch?
id also like to ask, how often is someone going to add to that enum
it was last touched 30 months ago
That doesn't matter
The code with the switch is safe
The code with the static_cast isn't
a good pr fixes an actual issue you have when using the engine
not changing random stuff because it can be changed
that just wastes time reviewing it
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
but all the bug are really complicated and im not that good at C++
well time to whack my head against a bug
heh, making a PR ain't easy
Knowing advanced C++ stuff != being good at C++
๐ค
Like you can know everything about variadic templates
And still write shit code
Or take ages to understand code
you can know everything about variadic templates are you sure
lol
LogSlate: Could not find file for Slate resource: ../../../Engine/Content/Editor/Slate/Launcher/Mac/Platform_Mac_24x.png```
So no info on this
I canโt be the only person on the planet seeing this
It happens when editor loads up after launching the uproject file
Is there some settings Iโm missing to make my source build understand the editor shouldnโt attempt to load android and Mac images?
Itโs build in vs 15.9 using dev editor win64 and unrealbuildtool
Project is migrated from 4.19.2 launcher created project over to my source 21.1
@proven grove if you write a PR that's shit enough, they'll feel bad for you and bring it inline with the engine, perhaps not even having any significant contribution from you in the final PR.
Uh?
@tired spade IIRC the default dependency-download for source builds doesn't download Mac files
you need to add Mac to the list of includes in Setup.bat
Otherwise Mac dependencies will be missing
@long wave I get that but Iโm good with them missing I just donโt understand why the editor is attempting to load them if i didnโt specify that platform
Thatโs a โdummyโ warning for source editor that doesnโt happen in launcher prebuilt
editor style probably references those images
it doesn't cause any problems if they're missing
looks like a bug to me. those resources shouldn't be referenced when running on Windows
i think you can safely ignore it. if something is using it on Windows, it will show up as a white square or something like that
warning has been there for a long time
Iโm also getting some warnings on bool vars not correct initialization that seems to be new to 21.1
Iโm pretty sure they are declared and set to false in header
LogClass: Warning: BoolProperty FBHeadSolver::bPrintDebugText is not initialized properly
LogClass: Warning: BoolProperty FEffector::bIsEndEffector is not initialized properly
LogClass: Warning: FIKChainSolverSimple::SpineRotationEffectWeight is not initialized properly
LogClass: Display: 4 Uninitialized script stuct members found
LogAutomationTest: Warning: BoolProperty FBLookSolver::bPrintDebugText is not initialized properly
LogAutomationTest: Warning: BoolProperty FBHeadSolver::bPrintDebugText is not initialized properly
LogAutomationTest: Warning: BoolProperty FEffector::bIsEndEffector is not initialized properly
LogAutomationTest: Warning: FIKChainSolverSimple::SpineRotationEffectWeight is not initialized properly
LogEngine: Initializing Engine...
Might be an order of operations thing because after studying the Solver BIK_BIKSolver.h file it is clearly there //------------------------------------------------------------------- // Debug //------------------------------------------------------------------- bool b_print_debug_text = false; I think it's because as an engine plugin it may be loading before the engine is completely Initialized. "if you look at the LogEngine: listing"
Itโs not affecting the build as far as I can tell and packaging is fine
But yet another thing dirtying up my logs
is it weird that with UE4 stock binary my Android project builds in no time, but with UE4 built from source (I built Development Editor) it takes ages to build my project ?
(my project is BP-only)
whaaat
For light bakes?
or for real-time reflections?
(I guess I could check myself..)
primitive shaders too
and an entire PBR pathtracer in-engine
UpdateGPUScene is a extern tho, cant find the implementation :/
omg, it can upload the entire scene into GPU memory
all of it
for primitive shaders and RTX
lol one commit adds support for reflected shadows. It's 30 lines of code
what world is this?!
@granite dust RTX OP
only works because of the 60000 lines they added previously ๐ค
probably. it's basically just an added call into TraceShadowRay
no wait.. that's a new function that just calls TraceRayInternal
high level language. You don't write the details of the trace, that's handled by RTX
but I guess they would have called it HLRL
HLR = Hype Level RTX
could be just some internal codename too
Anyone interested in helping writing a replay reader for the engine?
Currently writing it in Java but having a few issues with some things that have no documentation
If so, tag me ๐
Hi, I'm semi newish to unreal. So dumb question but how do I change the debugger in the editor? For some reason it only does it in Development mode and not debug mode even if I have both me project and ue4 engine in my solution configured for debug x64
Also on that note, why does the ue4 compiler in visual studios differ from the ue4 compiler in the editor?
@cosmic stump thatโs because stock is prebuilt and source has to build all the binaries
Even a top of the line i7 takes awhile
@tired spade I am guessing besides Development Editor for Win64 I also need to compile Development Editor for Android and Development Client for Android ?
(so that when next time I build android projects it shouldn't take more time than when using stock launcher version of UE4 ?)
It will still take a bit longer unless you rocket build
But not as long as the first build
@cosmic stump
So yes that will help
Aye, thanks
What gives rocket build?
BuildGraph
Anybody know where the TMap details panel customization is? Going to fix a long standing infuriating issue with it
Which issue? ๐
There's FPropertyHandleMap that does some stuff
FDetailLayoutMap
It's not so much of an issue more of an irritation of mine.. but if you have a TMap that's keyed with integers or enums, ideally when you 'add' a new entry it should just auto-add the next available entry - rather than crying that you already have a default value.
Just want it to auto-increment if it's keyed with a numeric property of some kind when you hit the 'Add' button
FPropertyHandleMap looks like the place... tah!
@clear yarrow try generating the visual studio project from within the editor, and then close the editor, open the visual studio project, and change the setting to Development Editor or Debug Editor. whenever you are compiling the project you are building the editor itself as well
admittedly, even Development Editor is good enough
because you can still set breakpoints
unfortunately the compilation process for Unreal optimizes the crap out of the game, even in Debug, and I don't see a difference between those two options aside from the default value of FVector()
@long wave heh, I'm actually blocked by this rn ๐
I'll probably use strings as indices with a nice post edit property instead 
I tried that @quaint sinew no go. But you are right. Development Editor is good, it just doesn't give me as much info as debug would in some cases so its frustrating
But if there's not much difference with the debug editor then no real loss when unreal I guess
Thanks for answering
there are strats to beat the optimization, but a useful tool is GEngine->, one of the functions there prints stuff onto the screen if you do EnableOnScreenDebugMessages or whatever in the console
also i advise making temporary variables, you can see what the values of certain stuff is (eg, FHitResult::GetActor() is a soft reference that doesn't resolve in Intellisense properly)
Ooh thank you! Gonna try that after I practice with how blueprints functions and coding differ from regular coding
blueprints are meant to be an extension to your regular programming
if you got any questions on that let me know
but generally you make a blueprint based on a native C++ class
and you can have blueprints either call a native function (UFUNCTION(BlueprintCallable)), have a native function that they can override (UFUNCTION(BlueprintNativeEvent)), or have a pure function that they need to override (UFUNCTION(BlueprintImplementableEvent))
as well as properties and stuff
Yes, this I saw in the documentation but I'm a tactile learner so I actually have to practice to fully get it. Thanks~
Hey guys! For the first time of my 2-year experience with UE4, I have read the EULA and I have question about 1(A)f.
So if I use my very own integration of other programming language cooked within my project, I must provide source code of this integration for every UE4 licensee?
Additionally, what if my language only integrates into my game code without changing the UE4 source code, actually only dynamically creating C++ code
they way I understood this part is that it must be released as open source if you want to release the language integration by itself, but it does not matter if you're using it in a game
it would be a better idea to ask epic about license questions directly
Okay, thanks, I directed this question to answerhub
(Name=0x00000112655a4bd0 "NODE_AddStaticMeshComponent-0")
This what's failing the NetGUIDLookup in PackageMapClient.cpp
but its very strange because at first this value comes across
+ NetGUID {Value=23 } FNetworkGUID
it breaks here
if ( NetGUID.IsValid() )
{
return true;
}```
result
```[16] = {0x00000112298a8800 (Name=0x0000011266e192d8 "StaticMeshComponent0"),{Value=23 }}```
Just add an actor into a fresh 4.21.1 FPS template and set to block all on the node and test walking over it with 2 clients present
Is there any known commit to fix this?
does unreal use metalkit in its ios renderer or does does it use pure metal?
it would seem they use raw metal on ios
and they still use openGL on macOS as far as i can tell
@alpine maple you don't have to share your own customizations to ue4
how I read it, 1Af is only about redistributing your programming language integration to the other UE4 licensees
if you don't wish to redist that, you'll be fine. otherwise the main option is to just share it via github fork
Thanks for answer Olento
Hey I'm currently getting a crash with PhysX to where I can't even launch the editor. The follow line is where it crashes PxU16 PMaterialCount = PShape->getNbMaterials(); in FPhysicsInterface_PhysX, line 1034.
Anyone got any ideas?
Hey ๐ I recenlty compiled the UE4 source and I kinda got an 4.22 Engine ๐ฎ Anyone knows how this might had happen?
use release branch, not master
@onyx knot master is WIP branch, it contains work done for next engine version(s)
it's can be pretty unstable as well
anyone know if UE4 uses SIMD and vendor specific optimizations under the hood?
Failed to download 'http://cdn.unrealengine.com/dependencies/UnrealEngine-3592632-05a1a0e828ed43e086e4ae40bd8fab5b/5867d6c1e2e8618241732cb1014b0c39fc695b9b': The file or directory is corrupted and unreadable.
(IOException)
:((
what can I do?
I had a bsod while downloading engine dependencies - but it should verify the hash and download again right?
fixed it, needed to run sfc utility as my drive corrupted one of the files
@low dust and @elder falcon Thank you. So I guess I should download them here: https://github.com/EpicGames/UnrealEngine/releases instead
no, you should clone the release branch
have done it
but tehre I got that wierd engine version from
*wierd
or wait ... Iยดve chosen the 4.21 branch, not the release do download 4.21 version
So I guess I should choose the release instead of the 4.21
don't use 4.21 branch
it's as well WIP branch
use either release or actual release tags
I favor latter
like checkout 4.21.1-release
okay, I guess I got it finally, thank you ๐
4.21.1 looks +-good, i encountered just several issues for 2 weeks: warnings about android/mac resources, crash upon modification of container during iteration upon it in linux when adding engine folders and destruction of persistent debuglines
is there a way to strip platform support from a source build the way you can with a launcher build? i hate having to build over 2000 modules every time i make changes
that isn't for platforms - the engine is just that big
you should be building your project target though, not the ue4 one
that way you will skip engine plugins that have been disabled in your project
never tried building engine changes from the project sln but good to know that works
is there a way to reduce the file size though?
no, all files are required
other than deleting intermediates
I'm making a fixed fps game, and I want time dilation to not add extra frames. So if at 1 time dilation it's 60 fps, I want .5 time dilation to be 30 fps. Anyone know how to go about this?
you know what's displeasing
one interface can't inherit another
i want to make sure that implementers of IEquippableItem also implement IUsableItem
@hollow wadi Have you tried this: https://forums.unrealengine.com/development-discussion/c-gameplay-programming/36455-interfaces-inheriting-from-other-interfaces?p=1001115#post1001115
For gameplay programmers writing C++ code.
Haven't tried doing it for ages but pretty sure it worked for me at some point.
Inheriting interfaces can sometimes create more problems than it solves though.
has anyone tried to make UE_LOG add a prefix for client_1, client_2, server etc as the BP PrintString function does already (https://github.com/EpicGames/UnrealEngine/blob/b70f31f6645d764bcb55829228918a6e3b571e0b/Engine/Source/Runtime/Engine/Private/KismetSystemLibrary.cpp#L199)
I assume there's a reason Epic didn't do this.. but its difficult to debug multiplayer C++ code in PIE without knowing which process the log messages come from
write your own macro includeing this information
after this comamnds my pdb files become smaller, but they appear, and my intermediate folder become from 15gb to 2gb
has anyone had issues with the navigation system from 4.19 to 4.20?
ive updated and ran the python script they provided in the my project root
but i still dont have a recast nav mesh
just doesnt show up when i put in my nav meshes...
im reading that i need to add the navigationsystem to my build.cs
can anyone explain to me how to do that?
i mean i know, open it up in visual studio
but what to type
I've had the same issue
I haven't gotten any answers for it too, happens in 4.21.1
im trying this
but dealing with a snytax error, ill let you know if i solve it
oh duh
im an idiot
Ohh your issue might be the engine config
they say to add this to your build.cs PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", โNavigationSystemโ });
but im getting a syntax error with that
Delete anything relating to the navmesh or nav system in the default engine config and itll add the new system in
that last part "NavigationSystem" (i already had the rest)
well theres a python script that renamed it for me as well
which epic provides
Wait where is the python script?
the problem was copy paste
the " " that i copied was not the " " visual studio uses
go figure
download that file
and place it in your project root
install python 3
if you dont have it already
and then double click that file that is now in your root
it will open a window and update all your .ini files
none of this has solved it for me though btw
root of the project root?
your project root, like the folder that contains your .uproject
Ahh okay
so you've been able to actually launch the engine then, the navmesh doesn't build at all?
yes i have been able to launch
without any errors showing up (regarding the nav mesh updates)
but navmesh doesnt build
Ahh I have been able to get it to build
but the AI complete doesn't work
moving AI doesn't work at all
tried both blueprints and CPP
https://answers.unrealengine.com/questions/822173/cannot-compile-unavigationsystem-in-4201.html it says here you now need to include the navigationsystem i dont know if that helps you though
Alright I'll try that
I think you may need to remove the navmesh stuff from your config
try looking for that
might work for you
even if the python stuff changes it, better to let the engine add it in
Yeah I added NavigationSystem in my build file
no changes
@humble kraken but what would i delete?
Anything that looks like it relates to the navmesh
Unreal will readd the proper ones once you boot into your editor again
Thats how I got navmesh building working
i got it working
yay
i just kept looking at the ini file
and there it was, an incorrect link
Np man
Hi there, I am getting an error and I don't know what to do with it:
Severity Code Description Project File Line Suppression State
Error LNK2001 unresolved external symbol "__declspec(dllimport) public: static void __cdecl FWindowsPlatformApplicationMisc::ClipboardCopy(wchar_t const *)" (__imp_?ClipboardCopy@FWindowsPlatformApplicationMisc@@SAXPEB_W@Z) Althas_Blank C:\LaysOfAlthas\Althas_InDev\Intermediate\ProjectFiles\SConversationDiff.cpp.obj 1
I do have ApplicationCore in my publicdependencymodulenames
Relevant code:
void SConversationDiff::FConversationDiffPanel::CopySelectedNodes()
{
// Export the selected nodes and place the text on the clipboard
const FGraphPanelSelectionSet SelectedNodes = GetSelectedNodes();
FString ExportedText;
FEdGraphUtilities::ExportNodesToText(SelectedNodes, ExportedText);
FPlatformApplicationMisc::ClipboardCopy(*ExportedText);
}
At the top I do include
#include "PlatformApplicationMisc.h"
This is in unreal 4.18
Solved, I accidentally modified the wrong build.cs for the applicationcore piece
Hi guys, i was browsing the code when found a comment: "[users] can target [shaders/formats] by adding them as +TargetedRHIs in the TargetPlatform ini."
but i cannot find any "TargetPlatform.ini" anywhere
found it there's a [/Script/WindowsTargetPlatform.WindowsTargetSettings] section on DefaultEngine.ini
Has anyone used the UnrealVS extension for Visual Studios before?
Hi unreal extenders!
Please add a blueprint node that supports 2 dimentional arrays
Would condense my huge box into the smaller box
doing this 4 times because the 1d array variable changes to use another 1d array. would not have to do this if there was a 2d array.
@twilit matrix why not collapse those four red areas into a function?
it at least tidies it up somewhat and makes it a bit more readable
hmmm @darkz
@twilit matrix are you trying to make a 2d grid inside 3d space and store an array of actors in it? i did this in my game and i did it by storing it as a 1d array, using x + y * w to retrieve a coordinate from the 1d array
eventually though, all the initialisation stuff like you show there was moved into a pair of for loops in C++. let me know if you want source code, i'd be happy to pastebin it
@pale smelt sent a friend request. I will try to message you tomorrow. Really need the help. On my way to bed now. But basically i will need to foreachloop of the 2d array, and transfer the index into another foreachloop.. Which uses the index to clear the index of the array, of raytraces that detect any object...
ok, drop me a pm when youre around and i'll see if i can help :-)
Awesome
it looks like some core concepts about how your game represents its level are similar to my own
probably not, but i'll see the message tomorrow AM at that point
Hey All, I've been trying to duplicate a map so that I can set up a killcam using Level Collections. I've duplicated the level I want, but when I go to add the level to world it comes back null. Here's how I'm trying to add it:
if (DuplicatedCollection)
{
for (ULevel* Level : DuplicatedCollection->GetLevels())
{
World->AddToWorld(Level);
if (GEngine)
{
GEngine->AddOnScreenDebugMessage(-1, 15.0f, FColor::Yellow, TEXT("Map Added to world"));
}
}
}
else
{
UE_LOG(LogTemp, Warning, TEXT("Duplicate Level collection not found!"));
}```
I can see from the logs and in the debugger that there's a duplicate level collection, so I can't figure out why this would come back null when I do my check. Can anyone point me in the right direction?
I'm doing this from GameInstance, if that matters.
Unless I'm mistaken there's a level in the DuplicatedLevelCollection, why is the level collection coming back null? It seems that the pointer is not being initialized, but I'm not sure what I'm doing wrong here.
I am hoping someone here might be able to point me in the right direction (blueprint doesn't know) I have an equation generated from an online curve generator (which I entered about 20 x/y values ) ....note, this is a Quintic Regression (which might be the problem) but I am trying to enter the equation as a math expression in Unreal and I either get errors or no output pin (don't know how that's even possible, what does it even DO with the value then if not output it) ...here is the equation from website : y = 9.2948 + 5.901899*x - 0.1058128*x^2 + 0.00112849*x^3 - 0.000005490949*x^4 + 9.316379e-9*x^5
I try to enter it this way as a math expression and get an error about closing ) 9.2948 + (5.901899*x) - (0.1058128*(x^2)) + (0.00112849*(x^3)) - ((0.000005490949*(x^4)) + (((9.316379*(10^-9))*(x^5)))
but when I fix that ), it seems to auto format the rest of it, so it looks like this : ((((9.294800 + (5.901899 * x)) - (0.105813 * x)) ^ (2 + (0.001128 * x))) ^ (3 - (0.000005 * x))) ^ (4 + ((9.316379 ^ (-9)) * (x ^ 5))) I'm not a mathematician but I am pretty sure that wildly changes the values
@weary raptor C++ it
probably doesn't like ^ operator here either
what do I need to right? POW?
@brisk silo I am...not good with C++...i can read it okay but generating it from scratch proves problematic...
not sure, I'd need help setting up the basic layout in cpp, I never write in it
but it does seem like i hsould be able to generate a BP node from CPP, but if anyone wants to walk me through it, I'm a quick learner when I have help from someone
I'm not deeply familiar with AutomationScript project debuging, but in any case You can add some pause to the function you want to debug and attach to process.
Well classes inheriting buildcommand act as an external code so i can't debug them by just adding a break point and running uat :/
I don't know if this is the right channel to ask about resolution and full screen settings, but I am having strange effects in my project. At some resolutions, the mouse seem to be off if where it is drawn and where it actually is. Also, there is a shadow window behind the game window. Really weird.
I use BPs to change game user setting
Hey guys how do I guys learn the UE4 source code? It's so much stuff and so much to learn. I am primary interested in the Rendering pipeline and as well as Procedural Generation. Anyone have any pointers?
Start at the beginning? Trying starting at LaunchEngineLoop.h/.cpp
Search FEngineLoop in symbol search for VAX
I just tried Shift + Alt + O @small cobalt and it worked ๐
๐
Agile coding practices = good function names > comments
But what I see in the UE4 engine source there are comments everywhere even when the implementation is obvious. In Agile, if you comment something, generally this is an indication that you should wrap the commented code in a function with the right name, and then remove the comments.
Agile coding practices = don't keep dead code like this:
// SpectatorPawn.cpp
bCanBeDamaged = false;
//SetRemoteRoleForBackwardsCompat(ROLE_SimulatedProxy);
//bReplicates = true;
BaseEyeHeight = 0.0f;
bCollideWhenPlacing = false;
SpawnCollisionHandlingMethod = ESpawnActorCollisionHandlingMethod::AlwaysSpawn;
I'm guessing Epic Games isn't really adhering to Agile coding practices. So now I'm just wondering what should I do... according Agile this is bad but do I go with Agile or UE4 coding standards
@elder falcon yes, but what happens if you see code in the UE4 source that has got to be wrong/bad-style
Yeah exactly what I mean
What I mean is what do I follow, but I guess this CodingStandard is what I should follow for my own code
Regardless if the source code is wrong sometimes lol
Hi, how are the instanced stereo uniform shader parameters populated ? I see that the view uniform shader parameters are populated inside SceneView.cpp code. There should be an equivalent code to populate instanced view params right ? Any pointers would be appreciated. Thanks
I feel like making a simple game in OpenGL C++ will better help you understand UE4 prior to jumping into UE4 source code, anyone agrees? I think understanding things at the fundamental level will allow you to understand more of UE4 code for example.
as a dev doing debuts in the world of 3d rendering yeah, its always a good experience
even to understand how a rendering loop works
and its fun to make rotating cubes too :p
lol
my first OGL C++ game was a psychedelic pacman with a rotating 3D board
lol, did the controls change according to how the board rotated?
nah it was just a visual treat ๐
when you got a powerup the whole board went crazy and you only saw the ghosts and gums
anyways its a good way to learn how to render vertices, faces, manage cameras, display textures and materials according to light
anyone else having issues connecting to Epic's P4 server?
hehe
very useful thanks...
What does epic's p4 server contain?
Having trouble compiling after adding my first C++ files to the project. Getting this error after Generate Project Files.
https://answers.unrealengine.com/questions/866866/view.html
hi, I built the engine from source after downloading it from github.. I am having some trouble with the swarm coordinator not initializing. I looked for a solution online and found this: https://answers.unrealengine.com/questions/792311/swarm-lightmass-coordinator-not-distributing-jobs.html
he says something about building the swarm coordinator. after pulling 64882dd8e6a8711364a3857047d31167102ed846
Do I need to do that, or is the swarm coordinator also included in the github repo already?
I've been attempting to build the automation tools, I don't know what the proper configuration is. debug, development editor, shipping, etc.
@azure finch what you may find that agile coding practises may be good for business applications where you can spare a few cpu cycles to do extra steps of computation so that the code is easier to read and maintain; when it comes to gaming you're always fighting a balance between optimal fast code and easy to maintain. If they wanted raw speed the whole thing would be written in assembly :P
Plus you probably have a lot of programmers at epic that hail from pre-agile days so they are likely familar with each other's style to make the engine. While also keeping it fairly readable. I mean if they wanted easy to read/follow code with minimal comments they'd use some newer language rather than c++ with all its pointifications and addressables ๐
Stupid quetion: what is the most convenient way to browse the engine's source code without having an actual project? (i.e. is there a Visual Studio solution file for just the Engine itself?)
I would say either the APIs or their GitHub repo
or UE4.sln
How do people usually update forked repos w/ hotfixes?
Using github desktop, i forked 4.21 and modified it. I now want to merge 4.21.1 changes into it.
Is this still the right way? https://docs.unrealengine.com/en-us/GettingStarted/DownloadingUnrealEngine/UpdatingSourceCode
Git pull, git merge 4.21.1-release?
In the Compiled version of Ue4, with an engine crash, the crash reporter opens up to give a stack trace. Could someone please help me in getting that in the source code version of UE4? Right now, only a message box pops open when an engine crash occurs. It doesn't give the whole stack trace. I've currently compiled it to Development_Editor. Thanks.
@hollow plinth you doing this in command line? I'm having probs doing this in github desktop. Doesn't look like there's any merge functionality in it.
Edit: @hollow plinth Thanks. gitbash did it for me.
Is there a setting to show symbols or class names when you hover the mouse over parts of the editor (like in Blender)?
There is widget reflector that shows slate widgets used for interface
Why there is no check(false) when this shouldn't be used anyway by design? As it is, the user doesn't get informed when using that "move" constructor.
FORCEINLINE TSharedRef( TSharedRef&& InSharedRef )
: Object( InSharedRef.Object )
, SharedReferenceCount( InSharedRef.SharedReferenceCount )
{
// We're intentionally not moving here, because we don't want to leave InSharedRef in a
// null state, because that breaks the class invariant. But we provide a move constructor
// anyway in case the compiler complains that we have a move assign but no move construct.
}
Because the compiler can still use it, and it's not meant to crash ;)
It still satisfies the requirements of a move constructor, it's just doesn't give any performance benefit over a normal copy is all.
Why they didn't just make the type non-movable I don't know, but probably just a hack to deal with differing compilers.
Compiled 4.21.2 overnight. It took just under 7.5 hours. Does that sound right? CPU is AMD FX6300 6-core, RAM 8 GB DDR3
If you were building both the Engine and the DDC then that sounds about right for that hardware spec (assuming you have an SSD.) If it was just the source build of the Engine alone without any DDC then I'd suspect that disk I/O was bottlenecking it.
How do I limit the number of processor jobs when compiling the Editor?
that's not going to do anything for unreal
vs just calls ubt, the only purpose of the vs solution is to let you view the code
Huh? UBT is just a build event that runs before the msvc compiler?
Also there's a BuildConfiguration xml that lets you modify the concurrency scale, that might be what you want to use
you do not compile the editor with vs
when you click build in vs, it calls ubt
which then manages everything about the build
and creates compile processes
so if you change config in the vs solution, that doesn't do anything since nothing is reading this config
ubt has its own config system
Hmmm
the concurrency scale only works for hyper-threaded processors
I have 8 cores, but I run out of ram when compiling.
Yall definitely wanna fuck with BuildConfiguration
Is UE4.18 a good version of the game to work off of?
Because itโs the only version that supports a plugin I need for the game.
I'm not aware of any particular problems with 4.18. What's the plugin? @kind ravine
Can someone tell me where in the source defined those rounded corners of the main ue4 editor window?
i've tried to find it but failed few times already
Use the Widget reflector?
Itโs DoNโs (drunk on nectar) flying AI plugin
@kind ravine is it unmaintained?
is it opensource if so i could make it work with 4.21
Well I got it from a forum so probably
All Things Related to the Unreal Engine Marketplace. Discuss Marketplace Offerings, Request New Content, Promote Your Work.
Hereโs the link
it seems he updates it for 4.21 from the marketplace
Wait he did?
Did you try downloading it? Because I couldnโt do t for any other engine
Although I didnโt have 21 installed at the time either
yeah you need 4.21
source engine doesnt register properly with launcher
so if you have 4.21 source engine it will never allow you to add it
not found out a way to register it yet
Now I feel silly
Anyone here hookup skookumscript from github on 4.21?
https://github.com/AgogLabs/SkookumScript-UnrealEngine/tree/4.21
There isn't a wiki on how to install it, but seeing as the 4.19 marketplace version installs to the engine, I'd imagine I'd need to rebuild the local custom 4.21 engine I've got.
This is really old http://skookumscript.com/docs/ue4/setup/ but I'll see if it works.
SkookumScript UE4 Plugin installation and setup You must have the Unreal Engine installed on your system before you can install the SkookumScript โฆ
I have "AssetRegistry" in my build.cs under PublicDependencyModuleNames
However, I notice that the dedicated server returns 0 in my array. While the client/pie works fine.
What do i need to do, to get AssetRegistry to build with my game?
(Yes I am abusing it)
Nevermind:
When searching for assets use:
Turn off: Filter Include Only on Disk Assets (edit you don't have to do this, just make sure you add your asset types/dirs to the project settings as said below)
Also, in project settings, for asset manager:
Find the Primary Asset Type: Map
and make sure that :
Is editor only is turned off!
If you want other things like GameModes to be searchable like this, you need to add those to the asset registry in project settings as well
@formal flower skokum script is abandoned now
Weโre pleased to share that Agog Labs has become a part of Epic Games, where we are working on exciting new projects with the Unreal Engine team. โฆ
source code license is discontinued
(ffs at least make it open source goddamit)
so
where was the UE4's tick flush again?
I thought it was on World.cpp but I don't spot it
did they share any details about the new script language for unreal at all yet?
have they confirmed such?
reading at the skookum blog, it seemed like those guys were mainly working on editors python scripting
it's fairly obvious considering this and all the talk about unreal scripting going on at the same time
why though?
they were really against it
they wanted to limit the ue4 scripting to blueprints and c++
or programming
there's no runtime scripting at all but considering Epic's own game projects, why would they need it?
but I can totally understand the editor scripting
did you see the reddit post about it?
nah, I don't really follow reddit
I also find it least reliable sources of information you can usually find ๐
which is partly why don't really follow it
epic preview image
@low dust unrealscript had its issues
but a compiled (llvm) scripting lenguage, with basically the same speed as C++, but compiling instantly AND hot-reloading, would be a huge productivity boost for everyone
@elder falcon ah, thanks for the link
@brisk silo can such a language using llvm be compiled at runtime
@elder falcon yes
because if they make it generate binaries at editor time it would be 100% worthless for modding
blueprints create vm instructions that are expected to be safe to execute
imagine a script system "like" blueprints (with its compile step), but the compile takes 0.1 seconds to compile the entire project, and has same speed as c++
that's different when something compiles to native code
Unity's Burst compilation is pretty snappy, you change code and you can run it some seconds later in the editor
(they do the llvm)
llvm is really fucking OP
(burst is also worthless for games supporting modding)
creating a llvm lenguage is actually damn easy
you just need to send llvm their "pseudo C", and llvm takes care of the rest
you can support modding in many ways
https://llvm.org/docs/tutorial/ @elder falcon enjoy
if you mean traditional "we'll ship all the managed dlls with the game" being moddable, then sure, it will restrict that a bit ๐
a tutorial a bout how to create your own lenguage
and such a lenguage will be same speed as C++
๐ค
but if you actually make your own API and stuff for modders, like proper mod support, that's still on the table
including JIT btw
well no, I mean moddable in the sense that players can write scripts themselves and the game can execute them in a safe manner
if the mod has to be distributed as native code that's instantly failed
https://llvm.org/docs/tutorial/LangImpl03.html this is the important part
of the tutorial
how to send llvm your code
you can even embed whole mono yourself manually if you want your users be able to run custom C# code
you can do that in unreal too if you are crazy enough
yeah s&box does that
but it would be very nice if the "normal" scripting language used for the engine was usable for modding
define double @foo(double %a, double %b) {
entry:
%multmp = fmul double %a, %a
%multmp1 = fmul double 2.000000e+00, %a
%multmp2 = fmul double %multmp1, %b
%addtmp = fadd double %multmp, %multmp2
%multmp3 = fmul double %b, %b
%addtmp4 = fadd double %addtmp, %multmp3
ret double %addtmp4
}
``` this is more or less how llvm works
you create a function, and give it an array of instructions
everything just going through name
llvm does the rest
well
this explains things
like why UE4's API docs are so bloody awful
they should totally rethink this
they are just autogen-d
yeah I know
the thing is. The engine guys are super expensive
but I didn't know they leave that documentation fully to programmers
you want them doing useful work
that sounds like really silly decision
becouse other guys cant really go document it well
it happens to literally every company ever
make the docs guys write it in clear text, then approve it on programmers
well, hire a engine user to write the draft for documentation guys, haven them clean it up, review it on programmers ๐
you wouldn't even need that much extra staff for this
and it would make everyones number 1 painpoint on c++ side go away (at least when starting with UE4)
somehow Unity manages to do this part way better
but...
they are actually moving to that autogenerated crap now
for packages
so, there's that
huh
unity used to have this beautiful documentation with usage examples for nearly everything
are they abandoning that?
for new packages, yes

they still do some manual documentation
that stuff was done by a dedicated team
it takes time
and its annoying as fuck to do becouse it can get outdated real fast
cryengine had this issue
heh
coding documentation got outdated and became useless
CE docs is at whole another level
many of those pages have been there since freesdk days
to be able to use that engine, you use docs that are dated from CE 2 days to CE V docs
all mixed up
they don't usually even differentiate on what engine version some specific doc page is for
only slightly worse than unreal then
but you can tell from the images and dates
that's for the actual engine features
that's not too bad on UE4 either
on CE, they also do the autogenerated crap for API docs
I honestly don't get it
it does help if you browse the code
but you'll never open the website hosting that crap
because it's pointless
usually that stuff just points the obvious
autogenerated docs is completely useless since you can just open the header and see it there
main valuable thing on ue4's api docs is the actual inheritance order
you can see the hierarchy for each class
yeah I guess ๐
interesting how the docs are missing half of these
do you see all the siblings too?
I dunno what's the real name for the classes with same parent
Hey does anyone have any idea where the code for UCharacterMovementComponent is? Specifically the PhysWalking implementation.
I searched the github, I even cloned it and searched through it on my local machine and I can't find it.
Like the header file is in Engine/Classes but I can't find the cpp file.
get the code indexed in visual studio for spelunking ๐
but start here UE_4.21\Engine\Source\Runtime\Engine\Private\Components\CharacterMovementComponent.cpp(4615)
@frozen orbit entrian search / visual assist
@spiral mortar You keep recommending it at some point I will listen.
Probably today, haha.
hi all, I'm trying to work with a class within the WorldBrowser module that is not exposed in the default engine
Engine\Source\Editor\WorldBrowser\Private\Tiles\WorldTileCollectionModel.h
Another class is exposed by default, this one:
Engine\Source\Editor\WorldBrowser\Private\LevelCollectionModel.h
When I include the working one, all is happy, when I include the above one... I get an error that this file can't be found:
#include "Tiles/WorldTileModel.h"
to try and fix this, I included that path in the modules build.cs, under the PrivateIncludePaths array
didn't fix it, anyone have a lead on this?
thanks
Hello
When you set up a function to be called when a component is overlapped, does the engine constantly check for overlapping actors or does it have some mechanism that somehow triggers that event?
I'm wondering this in order to know if, for performance, it'd be better have only the character checking for most overlaps or if it's ok to have other actors doing it
Overlaps are checked everyu frame
so pretty expensive if you have lots of them
i prefer to defer non frame critical overlaps with a timer and custom overlap trace
like do i need to be checking every frame if a player is in a certain zone? is it okay to wait maybe 2-3 possibly 4 frames?
then i decide if i use a timer or not
Is there a way to change something in the engine without recompiling everything because of it? I guess precompiled headers at fault, what would you do? Thanks.
It sucks to change just one header file like GameViewportClient and wait hours
yes, make sure you do not change any engine headers
Tried to, but hardly possible at times, I wish it'd recompile just one module, but I guess GameViewportClient is used everywhere
Any idea if disabling unity builds will have any effect?
Thanks Kaos
My idea is to instead check in the player class
if the player overlaps some specific actors, it'll execute the associated functions
it'd be prettier to deal with that at the actor itself but it's still good at the player class
disabling unity build will make building the engine an order of magnitude slower
they just include everything all over the place so you always rebuild the whole engine if you change any relevant headers
there is nothing you can do about it yourself
btw, do you also know how End Overlap is checked?
it only starts to check after an overlap begins right?
But what if I am tracking the end of overlaps but not the beginning, would it still set a system to verify every single frame?
guess so, thanks Zeblote
How to get SkeletalMeshComponent->BodyInstance? Always return false. Thanks
USkeletalMeshComponent->GetBodyInstance(FName BoneName, bool bGetWelded)
You also have USkeletalMeshComponent->Bodies: "Array of FBodyInstance objects, storing per-instance state about about each body."
SkeletalMeshComponent is used to create an instance of an animated SkeletalMesh asset.
I just checked the documentation, didn't try
@bronze current
float AWorldSettings::FixupDeltaSeconds(float DeltaSeconds, float RealDeltaSeconds)
{
// DeltaSeconds is assumed to be fully dilated at this time, so we will dilate the clamp range as well
float const Dilation = GetEffectiveTimeDilation();
float const MinFrameTime = MinUndilatedFrameTime * Dilation;
float const MaxFrameTime = MaxUndilatedFrameTime * Dilation;
// clamp frame time according to desired limits
return FMath::Clamp(DeltaSeconds, MinFrameTime, MaxFrameTime);
}``` ๐ค
that's from engine code
that FixupDeltaSeconds is virtual so technically it would allow thing that overrides that to use that RealDeltaSeconds
makes one wonder if some epics own game do that as the engine itself doesn't
and that RealDeltaSeconds isn't used for anything
for the ref, MinUndilatedFrameTime and MaxUndilatedFrameTime are something you can set on the ini files directly
from BaseGame.ini: MinUndilatedFrameTime=0.0005 ; 2000 fps MaxUndilatedFrameTime=0.4 ; 2.5 fps
@half ore I'm trying to find UV coordinates from SkeletalMesh hit location. Thanks for help
^^
Just did a tiny change into how function override menu looks, any concerns? https://user-images.githubusercontent.com/252905/51950475-f3deb600-2430-11e9-8da1-a5ca60b51fa0.png
#5509 if anybody wants to see the change (the code can probably be optimized to hell:D)
So is Unreal Engine 4.18 a good version to make a game with or is it a loser outdated version?
any reason you need 4.18?
Anyone tried to customize UDataTable editor? More information about what I'm trying to do in the forum post: https://forums.unrealengine.com/development-discussion/c-gameplay-programming/1578761-customizing-data-tables
I have a collection of data that is uniquely keyed by two enums. I'd like to use a UDataTable to hold this information because the data table editor makes it easy
Does it have some kind of delegates? Like onvaluechange or similar?
UDataTable::OnDataTableChanged
Hmm, I might be able to combine that with FDataTableEditorUtils::RenameRow to change the key to whatever I like, using a UDataTable sub-class. I'll just have to make sure modifying the table inside an OnDataTableChanged callback is safe.
yeah, that's what I mean by safe
If I wanted to save some data from actors when play in editor is ending, would FEditorDelegates::EndPIE be the delegate to use, or are there better places to hook into that?
And similarly, if I wanted to use that persisted data to make changes to the editor versions of those actors, is there a place to hook into after PIE has ended?
UATHelper: Cooking (Windows): BUILD FAILED
PackagingResults: Error: AutomationTool failed to compile.
anyone any idea?
i compiled the automation tool
Why there are 2 SQLite plugins?
Please, can anyone compare Unreal Engine's virtual texture to Graphine Software's Granite or Umbra 3d? Also, It would be nice to know which version of the UE4 Virtual Texture will be ready to use. I mean engine version. Thanks.
@tough oyster ^
@shut solstice The comparison is simple. Unreal's official version is totally nonfunctional as of right now and won't be done for a while. So Granite kind of wins by default
There haven't been any commits to VTs for a while, not since they started pushing in the RTX features, so it's safe to say that won't happen until RTX is finished at least. So it could be Q4 2019 or even sometime in 2020 when it's finally usable.
Never used Umbra personally, but I have used Granite a ton, and Granite is great. It's stable, fast, and looks really nice (really a fan of how it just natively supports UDIM textures). My one and only complaint about Granite (aside from it not supporting procedural virtual texturing) is that the builds they make for it can sometimes be hit or miss. 4.19 for instance, there was a bug where it would CTD if you used the shader complexity view mode. It got fixed in 4.20... but now in 4.20 the support for VTs on the baked ambient occlusion texture layer doesn't work. Nowhere near as vital since it doesn't impact how things look, but still, I like having that texture layer for material functionality
What I do like about Granite as well, if I ever send an email in for support, I get responses pretty fast, sometimes even from the CEO directly. So that's always appreciated.
@tough oyster That's too sad news. I need to find a lot of money for this then. Thanks for your time and informations.
Just so you know, Granite offers a sub instead of perpetual if you prefer. It's about half the price
That's what I did for it, only way I could justify the cost
https://github.com/EpicGames/UnrealEngine/tree/dev-rendering/Engine/Source/Runtime/Renderer/Private/VT But yeah, I've been watching this page like a hawk. They -started- to do some work in 4.21, but there hasn't been a single commit ever since they started pushing RTX features in, so it's probably on hold until that's done
I think I can wait for a while. I hope Epic can solve this issue.
It's not really an issue so much as just priority I think.
VTs are going to take a massive amount of work for them to wrap up, they just barely got started on it, where RTX stuff they had showcased almost a year ago now
So they probably want to finish that before making more promises
4.21 is supposed to have VT lightmaps at least, but in my testing I've found it to be incredibly unstable and very hard to work with
It's nowhere near ready
@tough oyster more likely that VT is paused due to all the render rewrites
its really no joke all the stuff they are doing
And that, I totally forgot render graph was a thing
the mesh renderer, the RenderGraph Graph, and the RTX
All I understand is that I have no choice but to wait.
the render graph makes sure to take care of gpu resources, and to run compute shaders at the proper order and stuff
so using it for VT passes is an obvious fit
and then, having the game scene in the GPU gives you great data to control the streaming details as needed in compute shaders
and more than anything, VT is absolutely perfect for raytracing, as you have less materials and can merge more stuff