#engine-source
1 messages · Page 46 of 1
Hey all - I've got a bit of a lag issue w/ my Visual Studio 2019 as of late. Every time I click (right or Left) on the UE4 Project in VS, it just completely lags out - it wasn't doing it beforehand, either. I've tried Cleaning the Solution & rebuilding, but neither fixed the issue -any ideas?
I'm not sure what the latter half of your message even is, a dedicated server is just a different target you package like you do for your client
and the server signalling ready seems like a backend thing you would implement
What I am trying to get at, is I want to better understand how the server is actually separated from the client. And yes, that is why I wanted to better understand how the server is made
that's a very abstract question
if you want a separate game module that is only compiled into a dedicated server build, then that's something you can do
I'm just not communicating very well I think XD.
In general, I want to know HOW the server and client are separated when the packages are being made. I want to know what objects in C++ drive JUST a server's game loop, and which objects drive JUST the client's game loop
but it is probably not a question asked very often, so its OK if no one here knows
I'm not sure what sudden moment of clarity you're expecting, but the game loop is going to be very similar - just one is headless and the other actually renders the game world.
there are #if !UE_SERVER blocks all over the engine which explicitly remove things like FX and rendering from the server
In terms of packaging, whether client, server or game target, you are compiling a different game executable which is completely separate from the editor
anyone met this error while compile UnrealEngine-4.27.0-release.zip ?
UnrealEngine-4.27.0-release\Engine\Source\ThirdParty\Windows\DirectX\include\d3d12.h(427): error C4668: ‘WINAPI_PARTITION_GAMES’ is not defined as a preprocessor macro, replacing with ‘0’ for ‘#if/#elif’
Build started…
1>------ Build started: Project: UE4, Configuration: Development_Editor x64 ------
1>Building UE4Editor and ShaderCompileWorker…
1>Using Visual Studio 2019 14.29.30133 toolchain (C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133) and Windows 10.0.16299.0 SDK (C:\Program Files (x86)\Windows Kits\10).
1>Building 5 actions with 36 processes…
1> [1/5] Module.ElectraPlayerRuntime.1_of_4.cpp
1>D:\EpicGames\UnrealEngine-4.27.0-release\Engine\Source\ThirdParty\Windows\DirectX\include\d3d12.h(427): error C4668: ‘WINAPI_PARTITION_GAMES’ is not defined as a preprocessor macro, replacing with ‘0’ for ‘#if/#elif’
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.MakeFile.Targets(45,5): error MSB3073: The command “…\Build\BatchFiles\Build.bat -Target=“UE4Editor Win64 Development” -Target=“ShaderCompileWorker Win64 Development -Quiet” -WaitMutex -FromMsBuild” exited with code 6.
1>Done building project “UE4.vcxproj” – FAILED.
========== Build: 0 succeeded, 1 failed, 2 up-to-date, 0 skipped ==========
Anyone know how the class metadata is processed? IE I would imagine they analyze all the base class specifiers, then move to the derived class so they can override as necessary. I think that is the intention, but im not sure about if that is how it happens in their build tool
Or rather, does anyone know how to manually run the "UnrealHeaderTool" correctly? I can put in breakpoints and do my own work from there
Question, have a build and getting a sporadic crash error there but not in editor. Been trying to figure out the cause with log print strings and it seems to crash after a delay (next event is a fade in with fade in audio checked). I don't think it's the looping background sound as I have the same setup in other levels without it crashing randomly.
That's where in the level blueprint it's apparently crashing in builds.
The only log error I see is an orphaned looping sound error (not in editor but in build). It's been a real head banger.
Well it's not the sound shrug same "[2021.08.26-15.26.57:291][812]LogWindows: Error: Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000028"
I'm writing a custom usf vertex shader and trying to use WPO to store custom data but I can't seem to find where WPO is actually being applied so I can remove it. There was one line that added it to WorldPosition.xyz but removing that didn't change anything. Any ideas?
For anyone who cares the solution was as follows - Change to "debug editor", right click the UHT entry (project?) under Programs and "set as startup program", and on the drop down from the start debug menu
then change the command line arguments to something like this (changed for your projects)
"C:\TestDevEnv\AugustDemo\Isekai\Isekai.uproject" "C:\TestDevEnv\AugustDemo\Isekai\Intermediate\Build\Win64\IsekaiEditor\Development\IsekaiEditor.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors -abslog="C:\TestDevEnv\AugustDemo\UnrealEngine\Engine\Programs\UnrealBuildTool\Log_UHT.txt"
im trying to edit a builtin engine plugin directly but recompiling/building the project doesnt seem to do anything - whats the way to get this to work (i also tried dev tools -> module -> recompile but that did nothing as well and also compiling the file in the editor directly)? thanks!
use Visual Studio 2017 or 2019 to compile UE4.27 ? i found GenerateProjectFiles.bat gen VC16(vs2019) .sln
for recent UE builds its using 2019
I remember reading that (and I am using UE5 EA and it uses 2019)
does anyone know where object loading happens? Like where it loads into about UCLASSES? I've confirmed the UHT isn't hosing my flag, and I've confirmed when I go to place the object the flag IS hosed, so I am trying to figure out where in between the problem is happening
can I open a Dev build of the game using a UE4 editor? how? the editor isn't packed into the exe, right -- I presume the user needs to get the engine separately.. ?
not sure what you are looking for, but i don't think you can just take an exe and open it into the editor. not sure that works at all XD
but if you had the project of the game itself, then yeah you would likely have the editor there to open it with
no I'm pretty sure you can open at least a Debug build with an editor; the docs say something about launching via a flag to see your changes reflected but I'm not sure if that means being able to actually save your changes or what..
maybe I'm conflating something like VS or a profiler with the editor proper, though, I have no idea... ?
you can debug anything with visual studio, how much it makes sense its based on both skill and having symbols XD
i've debuged game crashes for thing've I've bought to just get enough into to figure out "ok it crashed on something sound related" despite having nothing 😛
but i still don't think I am getting your question
the bottom line is, just like a photoshop, if you want to actually modify the photoshop work itself you need the project file. If all you have is a jpeg of the final result, you are limited on what you can do
Seriously though, I could use some insight onto how these CPP based blueprints are loaded and saved - I am learning a lot about the engine but i am going crazy trying to debug the game loading in one of my objects
for example, are they considered "packages" or is that only the maps ?
everything is so multi threaded, and even the strings that print out are so obfuscated ctrl + shift F for strings and terms is only getting me so far XD
im guessing i need to download the source to do that? thanks
I have this error before,
Open UnrealEngine-4.27.0-release\Engine\Source\ThirdParty\Windows\DirectX\include\d3d12.h in code editor, go to line 427
Find and comment 'WINAPI_PARTITION_GAMES' like this => * , WINAPI_PARTITION_GAMES' *\
is it really good to modify d3d12.h ??
Yes, it is fine
I failed to compile 6 times before, now it is working
After comment 'WINAPI_PARTITION_GAMES' from d3d12.h
Open command prompt and go to this location C:\UnrealEngine-4.27\Engine\Build\BatchFiles
Paste this command to continue from latest building
=> Build.bat -Target="UE4Editor Win64 Development" -Target="ShaderCompileWorker Win64 Development -Quiet -WaitMutex -FromMsBuild
i saw someone met another errors after modify it
ok, thanks. i'll try. does this error have relation with windows SDK?
C:\Program Files (x86)\Windows Kits\10\Include
10.0.18....is nessesary?
Get Error compiling from source UE 4.27 C++ 2017 any ideas how to fix this? Has anyone managed to compile this build? G :\UnrealEngine->G:\UnrealEngine-4.27\Engine\Source\ThirdParty\Windows\DirectX\include\d3d12.h(430): error C4668: ‘WINAPI_PARTITION_GAMES’ is not defined as a preprocessor macro, replacing with ‘0’ for ‘#if/#elif’\Engine\Source...
Hey guys. Is CameraShake.h missing from UE4.27? In my build from the launcher it isn't present.
Its CameraShakeBase now
Ah OK. That was in UE4.26 too. Thank you!
Is there any way to compile UT source code with VS2019?
i have this error ( always crashes when i laucnh 1 level)
Assertion failed: InDeltaTime >= 0.f [File:D:/Build/++UE4/Sync/Engine/Source/Runtime/Engine/Private/AlphaBlend.cpp] [Line: 90]
UE4Editor_Core
UE4Editor_Core
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Core
UE4Editor_Core
UE4Editor_Core
UE4Editor_Core
UE4Editor_Core
kernel32
ntdll
Hi! i'll ask this on this channel too, maybe someone knows.
I'm trying to add the VaRest plugin to my source version or 4.26
How do i get the plugin folder to add it into the engine source repo?
Found it, just in case anyone needs it.
- download the plugin's version compatibly with your UE4 source code.
- add it as a folder into your directory at UnrealEngineSource/Engine/Plugins
- Open the visual studio project for your Unreal engine source and rebuild the whole engine (it's gonna take less time than the first build)
- remember to enable the plugin on your project
ty, ill try this one
i actually cant find this plugin
oooh
that wasnt about my problem
xD
i'm so good that i can resolve problems that you didn't even had
[Help] how come assets take over to load the first time that class is loaded?
take forever**
if there's a more ideal channel to post that question in let me know
unfortunately the engine channel is a little slow... I've had a question for a couple days that i can't seem to research the answer for or breakpoint find the answer for XD
Ok I must be doing something wrong here: I build the engine from source, the engine opens fine. I then open my project and it opens VS and rebuilds the whole engine again
Why is this?
Why doesn't it just build my project and open it since the engine was already built once?
Some parts of the engine get built separately for a project target, so it could just be that. But if it keeps doing it, then it's just ubt being broken. Nothing new.
@sly token They get preprocessed for things like mesh reduction, texture compression, etc. Results are cached.
I'm thinking of making an Installed Build to combat this, assuming it works with console source then it may be the way to go to avoid constantly compiling the engine
Not sure if you can cook a shipping build for console platforms with an installed build though
Yeah that's probably the way to go. I used to do that to avoid this exact issue, but it's ages since I did, think the process is different now.
Don't see why you wouldn't be able to cook for console?
Yeah I suppose it makes sense that it'd be able since you have cooked the installed build from a full source build
Did you find a way to solve this other than deleting the code in DebugSolverTasks.h ?
Anyone know how to add a platform extension to a binary build? For some reason UE is refusing to pickup the platform extension I've created, it works in a source build though.
Also, are there any examples of a properly put together Platform Extension without having to request a console specific one from Epic? The HTML5 PE is outdated and so broken, so it does not help.
hi. I'm new on this discord server. I try to get some help on building unreal engine source. I already made a topic on UE4-answerhub (https://answers.unrealengine.com/questions/1047389/cannot-build-ue4-release-build-427.html). Is someone here having similar issues?
does each commit and pull request need to be its own branch to contribute to engine? or is same branch fine as long as commits are very closely related and on topic?
Yes, I have been getting errors building the release branch for 4.27. I am trying to build a patch from the 4.27 branch now that was recommended to me. Will let you know how that goes
Here is the 4.27 error I am getting - even on the 4.27 branch (not release branch). Seems like the main error is related to Chaos
Is the build error you are getting? Also @thick furnace @stable hemlock since you guys answered in the other branch
i posteed in #cpp but thought i would post here as well since im not sure which one is more suited for this. im building from source since i want to experiment with dedicated servers. it says in the epic docs [1] that i need to build for Development Server which works fine. do i need to build for Development Client ever? im using Development Editor for my "client" part and it seems to work fine even with packaging
[1] https://docs.unrealengine.com/4.26/en-US/InteractiveExperiences/Networking/HowTo/DedicatedServers/
Anybody know if "Datasmith" is a valid exclusion for repo setup? I'm currently using a pretty long exclusions list as it is..
EXCLUDES= -exclude=Linux -exclude=Mac -exclude=Android -exclude=Dingo -exclude=WinRT -exclude=Switch -exclude=Linux32 -exclude=osx32 -exclude=osx64 -exclude=Lumin -exclude=IOS -exclude=TVOS -exclude=LeapMotion
Got all the datasmith stuff in the repro but don't need it
are these errors "normal" for a source build? i havent touched the engine code at all and i have no pending changes in git status. everything else built successfully (after 5 hours). DatasmithSDK HeadlessChaos UnrealFileServer failed to build
editor loads up fine so i guess its nothing 🤷 currently building the project which is probably going to take about 2 hours :(
have you made any changes to the engine source?
if not, i would recommend maybe pulling/redownloading the source just in case
did you run the setup script to download all the extra stuff?
i dont know if i can be much more help. maybe someone more familiar with the tooling might be able to help you out. i guess my suggestion would be to just make sure everything is up to day in case its a bug with VS. maybe try rebuilding or clean+build?
This is for the release branch? I think I've been getting similar errors when building
yep from 4.27
So it seems like there are errors with the release branch that we would have to patch before getting it to work...
I got through it but I had to do three things:
(1) HeadlessChaos - FPhysicsActorHandle I did something like this:
FPhysicsActorHandle ActorHandle = nullptr;
FChaosEngineInterface::CreateActor(Params, ActorHandle);
ASSERT_NE(ActorHandle, nullptr);
Since the second parameter it wants in is the actor handle, not the static cube. I don't really care about chaos myself right now so I think it is good enough ...
(2) #include "Chaos/ChaosEngineInterface.h" in PhysicamMaterial.cpp to remove GetWorld() errors
(3) I have no idea what this error is, but commented it out "internal compile error":
// TODO - Why is this broken - Mike
/*for (TSharedPtr<FRemoteControlEntity> Entity : PresetPtr->Registry->GetExposedEntities<FRemoteControlEntity>())
{
PresetPtr->PerFrameUpdatedEntities.Add(Entity->GetId());
}*/
Ok, for (3) you need just:
if (PresetPtr.IsValid() && PresetPtr->Registry)
{
for (const TSharedPtr<FRemoteControlEntity> Entity : PresetPtr->Registry->GetExposedEntities())
{
PresetPtr->PerFrameUpdatedEntities.Add(Entity->GetId());
}
}
since the template default is already set to FRemoteControlEntity
I am currently using the github version of ue4 4.26 and I cannot find the media option in create any reasons why this could be happening?
I'm compiling unreal from source but it's super slow. What gives? I have i7-6700K, GTX 1070 and 16 gb ram.
The source code is on a 1TB HDD.
i have a crash trying cook for linux server in ue5
/Engine/Private/RayTracing/RayTracingLightingCommon.ush:488:32: error: use of undeclared identifier 'FarFieldReferencePos'
LogShaderCompilers: Error: Errors compiling global shader FLumenReflectionHardwareRayTracingRGS :
LogShaderCompilers: Display: /Engine/Private/Lumen/LumenReflectionHardwareRayTracing.usf:219:11: warning: redefinition of 'i' shadows declaration in the outer scope; most recent declaration will be used [-Wfor-redefinition]
for (int i = GroupThreadId; i < 8 * 8 * 16 ; i += 8 * 8 )
^
LogShaderCompilers: Display: /Engine/Private/Lumen/LumenReflectionHardwareRayTracing.usf:194:11: note: previous definition is here
for (int i = GroupThreadId; i < 8 * 8 * 16 ; i += 8 * 8 )
^
LogShaderCompilers: Display: /Engine/Private/RayTracing/RayTracingLightingCommon.ush:488:32: error: use of undeclared identifier 'FarFieldReferencePos'
FarFieldShadowRay.Origin += FarFieldReferencePos;
Fatal error: [File:A:\UE5-Source\Engine\Source\Runtime\Engine\Private\ShaderCompiler\ShaderCompiler.cpp] [Line: 6884]
Failed to compile global shader FLumenReflectionHardwareRayTracingRGS . Enable 'r.ShaderDevelopmentMode' in ConsoleVariables.ini for retries.```
how the hell do MeshBatches of type LineList work
with {p0, p1, p2, p3, ...}
it doesn't render lines between pi and pi+1 like I would think
The engine source of 4.27 compile fails me half the time still with unrelated issues... -_-
Do I need a specific version of VS?
Or upgrade my VS build tools?
Compiling any large code base on an HDD is very slow, that's why SSDs are recommended.
anyone know which thread runs first, GameThread or RenderThread?
GGameThreadId = FPlatformTLS::GetCurrentThreadId();
so GameThread is the MainThread?
How do I invoke AutomationTool when making an installed build? The docs say this Run the Installed Build Script by invoking the AutomationTool with the following command line but when I run the script in cmd it says that it fails to recognize the first word which is BuildGraph
Do I need to make a shorcut of AutomationTool.exe and put the command BuildGraph -target="Make Installed Build [PLATFORM]" -script=Engine/Build/InstalledEngineBuild.xml -clean on that?
Answer here for anyone curious in the future, just run this in cmd (updating your directories of course): "C:\UE426\Engine\Build\BatchFiles\RunUAT.bat" BuildGraph -target="Make Installed Build Win64" -script="C:\UE426\Engine\Build\InstalledEngineBuild.xml" -clean
yup
If making an Installed Build with -set:WithDDC=false does this just mean that anyone downloading the build will need to generate their own DDC like the binary launcher build?
And if it's true, it'd copy and paste the whole DDC for your engine as part of the download?
You can put in in a bat file (and add pause at the end just to let you the time to read in case of error)
However, i'm trying to build 4.27
BuildGraph -target="Make Installed Build Win64" -script=Engine/Build/InstalledEngineBuild.xml -set:VS2019=true -set:HostPlatformOnly=true -set:WithDDC=false -set:SignExecutables=false -clean
is it normal that my engine go over insane size ? like 200 gb ?
(the goal is to distribute the engine to the team after)
im looking for the simplest possible example of a custom rendering component in UE4
Thanks! Just running that seems to pause without cmd closing
No need for the bat in my case
Will let you know if mine turns out to be 200gb
Was it 200gb just for your installed build or the entire source engine directory?
installed build kyle
Would you happen to know why I'm getting this Linux error when not building for linux at all? ERROR: Platform LinuxAArch64 is not a valid platform to build. Check that the SDK is installed properly.
I'm running this:
"C:\UE426\Engine\Build\BatchFiles\RunUAT.bat" BuildGraph -target="Make Installed Build Win64" -set:WithDDC=false -set:WithWin64=true -set:WithSwitch=true -set:WithWin32=false -set:WithMac=false -set:WithLinux=false -set:WithIOS=false -set:WithAndroid=false -set:WithTVOS=false -script="C:\UE426\Engine\Build\InstalledEngineBuild.xml" -clean
Since you got it working maybe I'm missing something, any help would be really appreciated
-> Check that the SDK is installed properly
But I'm not using linux so why would I need the linux SDK installed?
-set:WithLinux=false
Should disable cooking linux as a platform, no?
Thanks!
you want to build only with win64, right ?
Yes and switch
and switch, okay one sec
"<Property Name="DefaultWithLinuxAArch64" Value="true"/>"
in installed build.xml
it's why
Ah there's no override to pass in so I should manually set that to false in the .xml?
set:WithLinuxAArch64=false
Ah perfect many thanks for the help
should work i guess, no problem
Waiting for the whole thing to compile for each failure haha
Can take a lot of time
yeah, 3h
Appreciate the help
it's just finish on my side, it's 40gb after compile, not 200.
yeah, its just while transfer file, he need 200, i guess his moving unpacked thing.
Makes sense
so be sure to have enough space, or the last operation while fail.
painfully when it take 2h to reach.
Will do, I'll do it on a samsung T7 which is fast
And by the way when this completes it should mean that I can build and package my project for Windows / Switch without needing to build from source again?
As currently if I even open a new .uproject it needs to rebuild the whole engine again, and then it builds the whole thing AGAIN when packaging each time
no, project will need to be recompile everytime you switch engine.
I believe this should let me skip rebuildling the engine and it should work like a launcher build right?
but this avoid rebuild engine yep
By proceeding like this, engine is like rocket build (the one you have on epic launcher)
exactly.
Nice that'll save a LOT of time
the only thing is : if you update the engine a lot, go with UGS instead.
this way to do, "independant build", is for people who never (or rarely) update the engine.
I never need to update the engine, have been using the launcher build until now but need switch and other console platform support
So I think this way with the installed build I can stay essentially on a launcher build
But gain the platforms
You didn’t have any compile errors when switching to 4.27? I had a ton for some reason
@next mason you mean with project or source itself ?
With the release branch on GitHub
yeah, but you speak about error in the compile of the project
or error in the compile of unreal source ?
(Editor or your game)
Of the unreal source
you should have zero error to compile with unreal source.
but packaging can have some error, check the message to fix it, as usual.
(package the source i mean, not package a project)
I did with previous engine versions perfectly fine. 4.27 release branch has been having issues, and a couple of people already have been mentioning that
I tried the 4.27 branch as well and it throws even more compile errors
But, you still didn't answer my question. Did you or did you not have any compile errors on the 4.27 release branch?
Are you saying I need Visual studio 2022? I shouldn't have to. Not sure what you are trying to tell me here
As i already answer, i doesn't have any one compile error.
@next mason You asked if you need specific versions, those are the specific versions of the compiler verified by Epic.
It's not VS 2022. They're relatively old versions of the compiler. You can get them through the Visual Studio Installer.
guys, do you know where I can find the shader responsible for calculating the velocity buffer for objects not moving (non-movable?) in the scene?
how do I select how many threads/cores I want to use for building source?
Will i be able to work with my friend that works with vanilla UE4 when i have the source build?
Generally you need to be on the same build to work together iirc
aiii ait
so all of a sudden and for no apparent reason, my project is failing to build. im using an unreal source build (which 2 projects failed - UnrealFileServer and HeadlessChaos). i havent changed the unreal source at all and before this, my project compiled perfectly fine. ive tried rebuilding my project but its giving me the same errors. those link errors i dont understand since the binaries definitely exist and i have read and write access to that directory
How to add a Geometry Shader to the deferred base pass?
how to add a shader stage and how to modify the existing base pass shaders to handle going from a Vertex Shader to a Pixel Shader, but also handle Vertex Shader to Geometry Shader to Pixel Shader?
I was following this tutorial https://medium.com/@lordned/ue4-rendering-part-6-adding-a-new-shading-model-e2972b40d72d
But the next part of the tutorial never came.
Hi, I want to understand how packaging works under the hood. How does Unreal manage to convert an authorable scene in memory to an executable? Does it generate the code of the authored scene and compiles it with the engine source code?
well it doesn't do that for a start
What is the best unreal version (4.0 - 4.27) for studying the source code?
Depends on what you want to study I guess?
Unreal Engine's Renderer.
Ye sorry I don't have an answer but your question was very broad. If there's something specific about the renderer you wanted to study then any version it exists I should work? Later versions might have more fixes/features though
I think it's better to study the lowest version possible to keep the complexity down.
I'm also looking to modify the engine.
IMO You should use the latest as that has all the latest documentation etc. Otherwise you'll have to make sure you have the older versions of visual studio, windows sdk, etc. Also if you have to ask any questions most people here will be on >=4.25 and almost no-one on 4.0 🙂
Yeah I know I'm just looking to study the source code. 🙂 I'm using 4.26 myself. 😁 currently developing an arcade game with it.
anyone got pointers on how to make your own vertex factory and shaders?
hey guys, I had a problem doing the setup for my unreal engine source. Does anyone know what caused this error?
I have some C++ code straight from Epic's docs and when building project with 4.27, I get this:
otherwise your project will no longer compile. [-Wdeprecated-declarations]
UATHelper: Packaging (Android (ASTC)): for (USkeletalMeshSocket* Socket : BaseMesh->Skeleton->Sockets)
UATHelper: Packaging (Android (ASTC)): ^
UATHelper: Packaging (Android (ASTC)): F:/Apps/UE_4.27/Engine/Source/Runtime/Engine/Classes\Engine/SkeletalMesh.h(626,2): note: 'Skeleton' has been explicitly marked deprecated here
UATHelper: Packaging (Android (ASTC)): UE_DEPRECATED(4.27, "Please do not access this member directly; use USkeletalMesh::GetSkeleton() or USkeletalMesh::SetSkeleton().")
UATHelper: Packaging (Android (ASTC)): ^
UATHelper: Packaging (Android (ASTC)): F:/Apps\UE_4.27\Engine\Source\Runtime\Core\Public\Misc\CoreMiscDefines.h(234,43): note: expanded from macro 'UE_DEPRECATED'
UATHelper: Packaging (Android (ASTC)): #define UE_DEPRECATED(Version, Message) [[deprecated(Message " Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.")]]
UATHelper: Packaging (Android (ASTC)): ^
UATHelper: Packaging (Android (ASTC)): 4 warnings generated.
UATHelper: Packaging (Android (ASTC)): [5/7] MeshMergeFunctionLibrary.gen.cpp [arm64]```
what I do I need to do to fix that ?
(I am not C++ pro 😦 )
You probably fixed it already? But I'm guessing you just have to swap this part: BaseMesh->Skeleton->Sockets to something like this: BaseMesh->GetSkeleton()->Sockets
(I'm also not pro at c++)
thanks, I'll try that!
hope it works
just build main branch from source, whenever I try to open a texture or click play the editor crashes
is this a common issue? I build it with vs 2022, and added net framework targeting packs, unreal engine installer, desktopdevelopment, nuget and gamedevelopment
please @ me
nvm I think I got it
uhhh have you tried replacing BaseMesh->Skeleton with BaseMesh->GetSkeleton()
in the header? no.. Only in .cpp
No I mean at F:/Unreal Projects/SkelIssueQuest27/Source/FFR_v30_issues/MeshMergeFunctionLibrary.cpp(63,19):
...
ah, shoot.. nope :/
Yeah I think you have to replace it everywhere you get that error, if the solution works
1>F:\Unreal Projects\SkelIssueQuest27\Source\SkelIssueQuest27\MeshMergeFunctionLibrary.cpp(63): error C2106: '=': left operand must be l-value
I’ve been trying to figure this little detail out… how/where are UToolMenu items linked to their corresponding action delegates/callbacks?
Hi, does anyone know what classes are used to define the DataPrep recipes?
I'm trying to find out how to modify the "Input" path through code / python.
if there is an exposure parameter set for every frame in UE4 shaders?
I have a patched engine build that I got working, hooray. How do I distribute the build to developers for use in a cpp project? And how do they associate projects with the custom distribution?
Has anyone successfully compiled the 4.27 release branch?
I'm getting pretty much the same errors seen here, and none of the potential solutions I've found are working:
https://answers.unrealengine.com/questions/1034296/index.html
I've tried several toolchains and am on the correct Windows SDK. Currently using the exact toolchain used by Epic's build farm, according to the 4.27 release notes.
37>Using Visual Studio 2017 14.16.27023 toolchain (C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023) and Windows 10.0.18362.0 SDK (C:\Program Files (x86)\Windows Kits\10).
Also tried on VS 2019, with the same and newer toolchains.
Yes I have compiled it on my build machine. Not sure it's any help but this was the version string it printed: Using Visual Studio 2019 14.28.29912 toolchain (C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910) and Windows 10.0.18362.0 SDK (C:\Program Files (x86)\Windows Kits\10).
Thanks noggs. I'm assuming no changes were necessary?
Seems Mikhail and I are running into build issues that need to be patched:
#engine-source message
weird... well, the solution is definitely building the HeadlessChaos project
I had to do two things to get it to work:
- Disable UnrealFileServer project from building
- Patch HeadlessChaosTestPhysicsScene.cpp to fix compilation error
#1 I generally have to do to get UE5 to compile as well
I got the 4.27 release compiled on Linux 🙃 (using clang 19)
Has anyone had luck creating installed builds with VS 2019?
I hit an error after like an hour saying VS 2017 is required, which could mean a lot of things. There wasn't any additional information about the error.
ue4 uat BuildGraph -target="Make Installed Build Win64" -script=Engine\Build\InstalledEngineBuild.xml using ue4cli
Comes to this command
-Manifest=C:\Users\Administrator\UnrealEngine\Engine\Intermediate\Build\Manifest.xml
-nobuilduht
-NoHotReload
-xgeexport
-NoUBTMakefiles
-nobuilduht
-precompile
-allmodules
-nolink
-2017
-nodebuginfo
-log="C:\Users\Administrator\UnrealEngine\Engine\Programs\AutomationTool\Saved\Logs\UBT-UE4Game-Win64-DebugGame.txt"```
Is there any way to adjust that -2017 flag from build graph?
Looks like -set:VS2019=true did the trick
How to compile the first version of unreal engine? (UE 4.0)
It requires visual studio 2013. But I have visual studio 2019.
hey!
I am developing an AR Experience and come across this webpage: https://medium.com/@joe.j.graf/a-preview-of-persistent-and-shared-ar-experiences-in-ue4-4-21-c47b3331a4b1,
I need to see the project that Autoher is using, Author saying that he can't share the project, but it's available on the Perforce.
does anyone know how I can get access to this perforce directory or this project?
Thanks in advance for your help.
Wrong channel?
hi guys
Ive been trying to download unreal source code with my mac
and so far every time, unreal has crashed
any solutions?
Does anyone know whether it's possible to gfx-cull an entire level while keeping physics + audio running?
What should I be doing if I'm getting this error trying to build my solution with 4.27?
SlateNullRendererModule.cpp(12): [C1083] Cannot open include file: 'TextureResource.h': No such file or directory
Are you building the “release” branch?
yes
I haven’t built UE4 for mac before. Can you build with make or does it require xcode? I know Unreal can be built using the clang compiler on Linux and I know clang is a thing on mac, so theoretically…
Can someone please tell me what dependancy i'm missing? i have all the C++ runtimes the correct Windows SDK i've downloaded fresh source zip 5 times this week and every single time this, i don't get it google reveals NOTHING these werid issues like this are what make me want to give up on Unreal
you don't need to build UnrealFileServer
not sure why so many build solution when working with source
thats right out of the box, setup.bat --> Generate Project Files --> UE4.sln F7 ^^
yes but you should never need to build solution ever
especially if you have a project to work with already
i mean i can try switching the project but if UE4 isn't built then when i go to build the project its going to hit simmular compile errors no?
well you don't need UnrealFileServer like I said
working with source you usually have:
Engine/
YourProject/
GenerateProjectFiles.bat
when you generate the solution, your game will be in it. you build the game target and then it only builds what you game actually needs
saves a ton of time
i'll give it a shot real quick, but i've never been able to get a project to build successfully without first building the entire UE4 source
Worse on project 12,000+ errors i just dont understand the dependancy tree for UE source its not documented at all really the setup.bat is suppose to sync everything but i don't think it works right
yeah stop trying to build UnrealFileServer when it's broken
explain thats how its setup out of the box, what are you suggesting i do exclude it from the solution
don't EVER build the solution. not sure how many times I need to repeat that
that was NOT the UE4 source that was the myproject.sln
you still don't build the solution there either
i'm doing it a different way building the game project only from in UE4.sln but this is werid because thats not how its "Supposed" to work
building the game project from UE4.sln is literally how it's supposed to work
because that causes it to build only the dependencies your game needs, can cut build times significantly
if you use UGS, it pretty much does the same thing
@hidden hedge Thanks for your help eariler, i was super frustrated, because the amount of issues i was having with source was at the point that i had 10 times more time spent chasing UE issues than actually working on my project, and while i may have beeen internally yelling at you because what you were saying wasn't making since to me at all, you pointed me in the direction i needed to go, which is more than i can say about anyone else in other communities. So thanks.
so i have a source build and a C++ project that uses it. when i build my project, it also rebuilds a bunch of libraries and puts them in the engine binaries folder, why is this? i already build the engine source for development editor. the log says its building my project for development editor plus ShaderCompileWorker
Does that mean you can run the editor on Linux as well?
I've recently forked 4.27, and it built w/o issue or error.
Trying to Rebuild a 4.26.1 project using the forked 4.27, I'm getting these errors:
30>Done building project "HeadlessChaos.vcxproj" -- FAILED.```
and
```41>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.MakeFile.Targets(51,5): error MSB3073: The command "C:\Users\ME\Desktop\UnrealEngine\Engine\Build\BatchFiles\Rebuild.bat UnrealFileServer Win64 Development -WaitMutex -FromMsBuild" exited with code -1.
41>Done building project "UnrealFileServer.vcxproj" -- FAILED.```
Not sure if this is a source issue or just a project issue. When looking at the Chaos setup instructions they make no mention of 4.27.
Engine's HeadlessChaosTarget.cs's got this in it:
bUseChaos = true;
bCompileChaos = true;
bCompilePhysX = false;
bCompileAPEX = false;
bCompileNvCloth = false;
All that's in UE4Editor.Target.cs is:
```public UE4EditorTarget( TargetInfo Target ) : base(Target)
{
Type = TargetType.Editor;
BuildEnvironment = TargetBuildEnvironment.Shared;
bBuildAllModules = true;
ExtraModuleNames.Add("UE4Game");
}```
Need I just add the following to the **Editor.Target.cs?
```bCompileChaos = true;
//Note that the following line is not needed for 4.23 or previous versions.
bUseChaos = true;```
And then rebuild the engine, and the project? Or is there a quicker way?
you don't need HeadlessChaos or UnrealFileServer, like with the other person earlier, stop building the solution
@hidden hedge thx for the reply. On vanilla 4.27 bUseChaos and bCompileChaos are true. Setting those to false should fix it? Tried looking up the other person earlier's issue but couldn't find it. Not exactly sure how to fix that UnrealFileServer error (first I've heard of it, actually, so it's likely something set up by default too).
I stopped building the solution. I'm on a pos PC, so some brief instruction on fixing these, or a link to that other person earlier's issue would be greatly appreciated. I'm not a programmer. I've just been maintaining a toon shader model fork. Spent a bit too much time googling for solutions.
You don’t compile it
😂
It’s very unlikely your project depends on it
Also if you have your engine and project side by side and generate project files, all you need to do is compile your game target and it automatically figures out the dependencies
Which like discussed earlier, saves a ton of compile time to boot
So I’m curious, is this UnrealFileServer thing a deprecated feature? Haven’t heard of it before. (Haven’t encountered it either since on linux, building UE4 is just make in the terminal.)
I’m guessing internal Epic tool, I’ve never run into a case where I needed to compile it
Hey everyone. I was wondering two things that I was hoping you guys could help with.
- Why build from source?
- Can you transfer an installer project to a source project
There are no official pre-compiled kits of UE4 for Linux as far as I’m aware, so building from source is really the only way to go. Not really hard to do though because linux.
Because sometimes you gotta modify the engine
And you need it for dedicated servers also
And transferring to a source build is trivial if you know what you’re doing
when you say 'when you know what you're doing' to what degree do you mean?
Basically making sure the engine and project are side by side and copying the project across, excluding the binaries and intermediate folders
so it is a copy past affair?
We do the source build the epic way, including deploying unrealgamesync, which non-coders use for pre built binaries
when you say side by side do you mean both are open and you migrate the project files, or do you copy and paste the contents folder from one to the other?
Engine and YourProjectFolder are side by side
You run GenerateProjectFiles.bat which generates UE4.sln
I think the better way to explain it is Your project folder needs to be INSIDE the UE4 Source ROOT folder
And then you compile your game target within it
I see. So can I just continue working in editor until I think I need the source code, or is it the longer I wait the harder it gets
With a decent CPU you probably can compile the engine from scratch based on what your game actually uses in 10-25 minutes
I have a 5950X, so it should be pretty quick
With the 2nd threadripper down from last year and 64GB RAM it’s about 11 minutes for me on a SATA SSD
Not at my PC so I don’t remember the exact mode number
SSD is key its IO intensive
Would be faster on M.2
I believe single threaded mine is better, and multithreaded yours is better because you have 32 cores and I have 16
so I'd guess 20 min
mine is a NVME 3Gb/s but my bottleneck is the 2700X
When you get the moarcore threadrippers, you definitely need lots of RAM… it uses it all
I have 32gb
I even get compiler is out of heap space from time to time on 64
yeah I use fast build (asking for problems) and it uses about 16GB from each build machine it kinda amazing how much ram it eats
I can't justify a threadripper for a bit. the 5950X was expensive enough
I needed a productive WFH beast that would last me a while
right now I need a new gpu. I have a 670 because I couldn't upgrade it due to the shortage
I was lucky I got a 30xx series card when I could. I had a 1080 for a while
yeah I was like, I'll save for a few months and buy one
that was a mistake
price went up by 2/3
I was forced to splurge on a 3090 which at retail price was close enough to the scalper 3080 price anyway
here we don't have scalpers because the stores just increased their prices to scalper levels
It is actively cheaper for me to buy a gpu from a scalper in america, and ship it here than it is for me to buy one from the store
I'd never heard of unrealgamesync until now. Seems like it will be useful. We use perforce.
Yeah I absolutely recommend it, there is a bit of cost in setting up the web service and setting up CI builds for the editor binaries but it makes things so much simpler in the long run
The build status labels are also handy to implement
Does it not have a local build version?
I’m not sure what you mean?
so with perforce we have a local server, so we don't need to set up web services
and from what I can tell this is just built on top of perforce
The web service is specific to UGS for providing build status and other features
I believe the documentation says it’s optional but it does back a lot of the neat stuff in UGS
how much would you say the cost would be?
The cost is time
oh, I presumed it needed a server somewhere to run it
yeah I thought it was a bit strange if you couldn't
so how does building from source work with source control?
does each machine build their own from source and it's just the project
or is there other steps
You have your engine sans-binaries and symbols in source control
Coders build locally, non-coders sync a zip file with the prebuilt binaries in it
presumably it doesn't have to be a zip, it's just recommended
You can use sync filters on your client to filter out platform files and the like, much faster than virtual streams
It works off a zip file
The prebuilt binaries for non-coders
Usually your CI server will just be churning those out
do you know a good resource by any chance for setting this stuff up?
The official docs page on it?
it covers everything?
Of course there’s shit you just have to figure out yourself, but that’s working with unreal anyway
so when it comes to precompiled binaries, does that work with the complied game code as well?
It says you need a mysql server, you don’t. The latest metadata server actually uses SQLite
I find atm that I need to recompile on my partner computer when I make big changes
Prebuilt is engine binaries plus editor DLLs for your project
But the CI server (we use Jenkins) handles that stuff
so to clarify atm, we do not have a dedicated server for it, and run it on one of the desktops. Will we need to run it on a virtual machine for running a CL server
Unless you all build code locally, then you’ll probably need to set something up eventually
Especially if your team grows
yeah right now I just manually go and build the code changes on their machine
but that is definitely not sustainable at scale
Seems I still have alot to learn
Were on the same UGS / P4 / Jenkins setup here. It is extremely useful
Hey, sorry to ask but when what do you actually need to change to setup networking stuff in the source code. I don't think I'll be doing it on my current project, but I think it would be good to start learning for the next project
is there any way to expose an internal struct type to blueprint usage (other than patching the source)?
I want to say yes. You need to create a proxy class type for it though.
I don’t know how complex your target struct is, but technically because this is C++, you can just recreate that struct under a different typename and then reinterpret_cast your struct to the internal one and vice versa.
ok, that sounds like i would have to "forward" each value from the proxy to the real struct
and vice versa
Yes, that is what a proxy class does. 😉 (You could also do the second method I mentioned if that is reasonable.)
ok thank you
guess i'll just make a littler helper function which takes all the arguments of the struct, fills it and returns the struct
or i patch the source instead of that hacky workarounds ;/
it's for control rig, so kinda an edge case where you can use an struct which isn't available as datatype for variables in the editor
you don't happen to know if i can still pull from official ue git when i have an local change commited?
If you have your local change committed, and no other pending changes, then a git pull will just merge / fast-forward any new changes into your local branch.
ok, thanks, so it shouldn't be big of a trouble adding one uproperty change to one file 😄
A less “hacky” solution would be to create your own struct to pass around in blueprint space. Then in C++ space, you simply assign values between structs when accessing internals.
This way you won’t need to recompile your editor, you won’t need to add overhead from a proxy class, and you can avoid risky casts.
yea, but i would like to avoid any casting/execution on runtime, because control rig runs every frame
so i guess the sanest way is to just have the data prepared in the correct format
and that stuff is luckily part of the plugins, so recompiling engine plugins should do the trick
Ah, I guess in that case then your fastest solutions are to update your editor… or do a reinterpret_cast like before (no additional assembly instructions are generated)
@severe depot Thinking of more creative ways to solve that problem, I’m curious if UE4 would allow the use of a struct with blueprint-exposed reference variables.
It’s an extension to my ‘less hacky solution’ earlier that also reduces the number of read/write instruction.
actually figured out that it works if i make a custom struct which just holds the internal struct 😄
struct exposed_t {
exposed_t(internal_t& base)
: m_base(base), arg(base.arg)
{}
T& arg;
private:
internal_t& m_base;
};
That works too. I figured you were also wanting to modify the data within the internal type.
arg is a reference. Both reads and writes are to the base value
i think i'll try that tomorrow just to understand it 😄
Hey guys, I am here trying to use the engine from git and I have downloaded from github, unlocked the zip and extract, made all that stuff and compile the Editor, but when I try to compile the Programs and Visualizers folders I got errors. Is that usual? The engine itself have compile with no errors and run without a problem.
Curious, what OS are you using, and what build steps are you taking?
Windows 10, First I have build the UE4(Engine) then and its all good.
When I try to build the solution (it includs the programs and Visualizers folders) I got some errors on the programs and it stops. Not first time this happen, I tried before and same issue.
Ah, so what I’ve been hearing here on discord is that you should never “build the solution” (in VisualStudio). Instead you should only build your specific sub-project within the solution.
I wont have further issues due that? I am afraid of getting weird errors when shipping the game
I can’t say from my own experience unfortunately. On linux, make and make project-name are two different build paths. make is like ‘building the solution’.
Only make project-name works for actually compiling my UE projects on Linux.
Right, thank you mate.
Hey not sure if this is the right channel - I'm trying to automize sth. and im not entirely sure where to start or If I can do that with my skillset atm, I can do python and BP programming, no c++ - I'm trying to automatically create a new ue project before migrating a new asset to - can you actually do that inside a open ue4 project or is that sth. you would need to write a tool outside of it that executes sth else ( like opening the epic games launcher and making a project? im a bit lost at that part on what to actually access to make it happen)
Does ShouldUseThreadingForPerformance in FApp affect multithreading?
I guess question is two fold: (1) is multithreading always on? (2) can I just have that function return true and multithreading would always work if not?
Did anyone here look into why rendering performance dropped in 4.26 compared to 4.25? This long forum thread has a lot of reports of it but no real conclusions: https://forums.unrealengine.com/t/4-26-performance/154610
I'm seeing it on a Switch game I'm working on. I'm pretty sure the difference is either in separate translucency or the base pass shader, but I thought I'd ask here in case anyone has personal experience.
Hey all! I get a bunch of LNK2019 and LNK2001 errors when building a class derived from the UUserWidget. Any thoughts?
this is cpp related lol
hey guys what is that error
Unable to read module manifest from '../../../Engine/Binaries/Win64/UE4Editor.modules'. Module manifests are generated at build time, and must be present to locate modules at runtime.
i never seens thing like that
Where can I see/check what .NetFramework SDK version I need for a particular engine version if I wanna compile from source?
Getting dozens of errors when trying to build from source.
That can't be normal can it?
Unreal Engine 4.27 release, and VS 2019 community with .netframework 4.6.2
Apparently it's all just a matter of EXACT sdk setups. Turns out I had to also disable any other netframework sdks, also get the latest windows sdk etc.
Could someone explain to me please why a compiled-from-source engine is so much bigger than a downloaded binary one?
I am talking 118gb vs 38gb in my case.
stop building solution
probably the 3rd person I've had to say that to
HeadlessChaos and UnrealFileServer are not required for the engine to run
That's a bit of a strange way of error handling.
Anyway, I got it to compile eventually, as I mentioned above.
well it's still something you want to avoid doing
laying out your engine build to be side-by-side with the project and only building the game target will cut down compile times significantly
and the resulting file size
Hm this is beyond my understanding of everything still.
Especially since I need to make it work with the Switch SDK (which we can't discuss here)
hey guys where in the source i can find the unreal editor version i want to hide the ue4 version the loading splash
Where can we find editor settings? Want to change the range of the camera speed slider.
@hidden hedge could you perhaps elaborate on “laying out side by side with game project” ?
I’d like to understand that approach 🙂
Engine/
YourProject/
that's literally it
you run GenerateProjectFiles.bat in the root, build your game target
suddenly you don't have to build as much
Okay interesting. Gotta try this for sure.
Thanks!
I still open the the engine solution file, right?
(Not the game one)
UE4.sln but you build the game project
Yeah exactly 🙂 Thanks for confirming
@hidden hedge
How am I able to select my project when I open the UE4.sln?
Ah wait, the project needs to have code (to generate a .sln) I assume?
Edit: Yes.
Okay, so the compile time went down drastically, the filesize was reduced by about 40gb, but is still about 40gb higher than a downloaded binary.
But I take that. I could probably delete the intermediate folder if I don't wanna change the engine code
is it possible to migrate an engine component from an earlier version over to 4.27?
Hi, i built ue4.27 from source (everything works), but when i try to use it in my project (previously on 4.26) i have errors while the engine build, what should i do to clean my project and use the new version ? I already changed the uproject engine version and regenerated the files
I have errors like that :
ActorComponent.h(375): [C3668] 'UActorComponent::GetWorld': method with override specifier 'override' did not override any base class methods
Any way to disable this particular module from being built?
@hot parrot Your first order of action should be to invest time in setting up version control, so those issues are not a problem in the future.
What do you mean ? i m using git
I have these two error, does anyone can help me?
fatal error CVT1107: 'G:\GitHub\UE\Engine\Intermediate\Build\Win64\UE4Editor\Development\D3D12RHI\Module.D3D12RHI.2_of_4.cpp.obj' is corrupt
Unable to read G:\GitHub\UE\Engine\Intermediate\Build\SourceFileCache.bin.
@hot parrot I am sorry, I thought you were concerned about having messed up your uproject and cant go back
It s ok :p i have build errors but i can still run the editor, i guess the modules with errors are not mandatory
I'd be very grateful for any help with this:
- C++ project was started with the Launcher Engine pre-4.25 then updated to 4.25.
- 4.25 Engine was compiled from source.
- In order to get the custom Engine to open the project,
DefaultBuildSettings = BuildSettingsVersion.V2was added to the ProjectName.Target.cs and ProjectNameEditor.Target.cs files, which worked. - Project was updated to 4.27.
- 4.27 Engine was compiled from source.
- Custom Engine cannot open the project, whether built with or without the aforementioned
DefaultBuildSettings. The error I get isERROR: Building would modify the following engine files:followed by the .modules files in\Engine\Binaries\Win64\and\Engine\Platforms\and then pretty much all the .modules files in\Engine\Plugins\.
It took like 1 hour compile from 8 to 14/3313, is that normal?
No.
One hour is enough to compile the whole engine.
What's your CPU usage like?
around 12%
It should be around 100%.
yeah, do you know how can I change it?
How many Microsoft C++ Compiler Driver processes do you have running?
0-0.1%
Yeah, that's not normal.
What happens if you open up the Performance Monitor and set their priority to above average?
do you mean the power plan?
oh no, where is that performance monitor?
Sorry, I meant in the Details tab.
If you go in the Details tab and you right-click on the process name, you can set its priority to above average.
I'm not sure that'll make a difference since your CPU is so under-utilized anyway, though.
Hey guys, someone know how to solve it?
Does the file exist where msvc is looking?
Yes, it exist.
Geez, I am suffering to use the source engine. I am trying to get the 4.26.2 version but keep getting the 4.27 instead. For the 3rd time I am downloading it. Tried via Git also but it give me error.
git branch -l will show you a list of branches. The starred branch is the one you currently have checked out. “release” is going to be 4.27.
Yea I tried to change the branch to 4.26 and 4.26-chaos(its more recent) but then I get that error above.
Did you clean your directory?
now I do, but before I didnt
just have switched the branch and updated all
the compile go all good, just when I try to run the engine
Curious, how are you running the engine?
(Guess I should try compiling for Windows so I can be of more help; I’ve only developed on Linux.)
I press F5 to run the editor, I think its the same as press the play button
I should build only the UE4, not the programs and Visualizers folder right?
Yes, I believe so. On Linux, it was just make
I see, I am building here again, lets see if I will have any error again, have downloaded the zip file, lets see if the version will be correctly as well.
I'm cloning the repo on Windows. Need to checkout 4.26-chaos, correct?
Not sure lol, the 4.26 its from months ago. So probably yea
Clone complete... I'll probably be able to test things some time tomorrow.
I already set the priority to high, optimized my drive, etc. and it still at 0-0.4%
yea, another time I've downloaded, compiled and... engine 4.27. I have downloaded from git website on the 4.26.2 release version -.- got the .rar version
Maybe it is just saying “4.27” but doesn’t actually have all the 4.27 features. 🤷🏻♂️
(I’m thinking perhaps a few commits from 4.27 were cherrypicked into 4.26, which fixes a few bugs but also bumps the version numbers.) 🤔
I'm afraid your best bet is to Google "visual c++ compiling extremely slowly" and see what potential solutions lie there.
thats weird
It’s just something I’ve seen happen before in other repos.
haha yeah I did that, an options it-s that vs it's not using all my cores, but the build says "with 8 processes"
I still have a some errors lie this one: atal error CVT1107:
'G:\GitHub\UE\Engine\Intermediate\Build\Win64\UE4Editor\Development\D3D12RHI\Module.D3D12RHI.2_of_4.cpp.obj' is corrupt
1>G:\GitHub\UE\Engine\Intermediate\Build\Win64\UE4Editor\Development\D3D12RHI\Module.D3D12RHI.2_of_4.cpp.obj : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
I already did that like twice
Each UE4 pull request should be on a clean up to date fork with no history, right?
But what if you want to have multiple pull requests, do you make multiple fork repos on GitHub? Or can you trash the fork once you've submitted the pull request?
Just make a branch per pull request.
Generally you want to keep your fork's master up to date with the upstream. Then branch off from that for each pr you want to develop.
Oh branches of course 🤦
Anyone here successfully build UE4 with clang on Windows? Going to give it a try in a sec.
I finished building UE 4.26.2 on Windows. I ran the editor by double-clicking UE4Editor in UnrealEngine/Engine/Binaries/Win64. It also displays Unreal Editor 4.26.2 on the editor's splash window.
idk what happened then. But I let it away. got sick about that. I am back to stock engine
I solved now I have a bunch of errors:
Error CVT1107 'G:\GitHub\UE\Engine\Intermediate\Build\Win64\UE4Editor\Development\D3D12RHI\Module.D3D12RHI.2_of_4.cpp.obj' is corrupt UE4 G:\GitHub\UE\Engine\Intermediate\ProjectFiles\CVTRES 1
Error LNK1123 failure during conversion to COFF: file invalid or corrupt UE4 G:\GitHub\UE\Engine\Intermediate\Build\Win64\UE4Editor\Development\SlateReflector\Module.SlateReflector.cpp.obj 1
do you keep killing the compilation process when it's still running or something/
you've the only person I've seen who is consistently getting these corrupt obj files
or you have weird power settings making your PC go to sleep while the compile is running
anyone have any idea why this is happening?
UATHelper: Cooking (Windows): LogCook: Warning: Unable to generate long package name, TitansPersistent
i'm trying to cook my project and it's not cooking the only map i need to cook
the package is like... a few characters long. why would this be happening
this is for ue5 so im gonna move it to #ue5-engine-source
Guys, please tell me how you can fix the problem. I compiled the engine sources, launch the engine using UE4Editor.exe, the engine starts, I set up the project, click OK, the engine does not start, the visual studio opens (C ++ Project). After restarting the engine using the [nameproject] .uproject file, writes: "The following modules are missing or built with a different version of the [NameProject] engine. Do you want to rebuild them now?" I press "Yes" - after a while an error appears (on the screen).
I have already rebuilt the source code of the engine and nothing. Generated Visual Studio files of my project "Create Visual Studio Project Files" - nothing helps. Please tell me how to fix the problem.
Sorry for my English 🙂
Version Engine 4.27
did you put your engine and game side-by-side, since that's ideal?
if you do that, you'd just run GenerateProjectFiles.bat, open UE4.sln, and build your game from there
I'm writing a pull request, and as part of that I'm adding a new variable to an existing UE4 class. Does anyone know if there are any rules that Epic has for where to place the variable within the class definition?
Sometimes they seem to be grouped based on if they're related, sometimes it's public/protected/private grouped, also there's packing issues as well I guess?
I just don't want to submit something stupid..
looks like bCompileWithClang was removed in v4.18; nothing immediately mentioned in the release notes...
Hi there, I'm having issue compiling UE4 from source, getting error in PythonScriptPlugin when building. The weird thing is that, I did build it before (and used it with a project), I didn't really change anything apart from moving the location of the entire folder
Strange thing is some files, like K2Node_ExecutePythonScript, seems to rely on code which is behind a WITH_PYTHON define symbol, while the code calling that is not behind that define, so it makes sense it doesn't compile, just don't understand "why" suddenly
Are you compiling the editor or the entire solution?
So basically, I have a sln with UE4 + a project, I wanted to launch UE4 "only" to create a new C++ project, for that I've just set UE4 as startup project, and then Build + Run with Development Editor target
I've always just created a new project with the launcher engine because it's quicker than compiling the entire engine
Can it open easily from a source engine after that though ? I actually don't even have the launcher installed I think XD
yes, I just moved the project to the appropriate directory under the engine, removed binaries and intermediate folders and ran GenerateProjectFiles.bat
then I only need to compile what the game needs to have a functioning editor
Interesting, I'll try that next time! Still stuck with my problem though XD I'm trying a clean rebuild but that's annoying and long
this makes it significantly less long
can you only call RHI commands from the render thread?
and WITH_PYTHON would only get set to 0 for a Development/DebugGame Editor build if you were missing the Python libs from the ThirdParty directory
So you move your root project folder (containing the sln) to the folder containing GenerateProjectFiles.bat, have I got that right?
top level:
Engine/
Project/
GenerateProjectFiles.bat
etc
Thank you.
I actually can't even use GenerateProjectFiles.bat, I get an error "Python SDK not found"
don't even know what they mean, I mean, I have Python installed but didn't know it was a requirement anyway
do you have files in Engine\Source\ThirdParty\Python\Win64?
Yep, python is there
Interestingly, I get the same error if I try and launch the python.exe in that folder
The Python 2.7 version works, but not Python 3.x
Ok so, who knows why, some files had been deleted from the Libs folder in the Python 3 folder, makes no sense to me but now generation fworks fine, maybe building too, gonna try now
Haha, Unreal Engine is always trying to make me regret looking into it, now I get that when I compile:
Nice useless error : (
Before I create a ClangToolChain under Platform/Windows, is there already a way to build UE with clang on Windows?
UE4.17 and earlier use to have a way but I guess it was removed when UBT was refactored.
My impression was the push to get clang support kinda died. Don't know of any explicit decision, but it went silent.
It looked like a member of the team was spending quite some time on it, but like you said, it seemed to have fizzle out.
It doesn’t look like they explicitly removed it though because there are still remnants of clang stuff in the UEBuildWindows file.
With the way the devs have recently abstracted the compiler, it theoretically shouldn’t be too difficult to revive clang for windows.
anyone get 4.27 to build without errors yet?
Does anyone knows why the Unreal Engine 4.27.1 Source has errors in: AndroidPlatformProcess.cpp ?
I mean when i build the engine, no problem, but when i build the UnrealBuildTool etc., i get several Error and i think that leads to my EOSsdk Problem in my game ...
Yes, both Windows and Linux
guessing it's someone else who builds the entire solution since UnrealFileServer and some other project don't build out of the box, which is fine because you don't need them
Probably
so if you do "build solution" you don't get errors for unreal file server?
Are you trying to build UnrealFileServer or the UE4Editor? If all you want is the editor (like what you get when you install unreal pre-compiled), then just build the editor. Don't build the entire solution though.
related to my day job, not sure if we need it
you technically don't
if you already have an established project, why would you build the entire solution?
you build your game target and UBT figures out what you actually need
i build the entire engine out of simplicity
strange, because this is also simple and saves a ton of time
i have a 3950x so I'm not that worried about time. I just want to make sure no UE4 voodoo is happening so I just build everything
I've run into enough weird things with UE4 to just cross my t's and dot my i's and do a little dance before I do everything lol
one of those things is fully building the engine.
I'm still not sure what you're getting at
building the game target is actually better for this
due to a source build being a unique build environment
we are in enterprise situation with something akin to archvis and other odd things.
You really only want to compile from source if you need to make changes directly to the engine or you just love compiling things from source for the sake of it. Otherwise, the pre-compiled engine on windows will work out of the box.
(nightly builds / unstable branch testing is another good reason)
well if you're a perforce house it's best to deploy UGS
so non-coders get pre-compiled binaries easily
never trust ue4 binary lol, always have access to the engine source in the chance that you need to modify something. In our case, we need to modify how the packaging process works among other things
When it comes to security, not trusting a binary is understandable. Why not trust the binary for UE4? I'm curious.
it's always behind in fixes and such first of all, second of all you can't change the engine source from a binary engine version fam.
Ah, so basically two of the points I mentioned earlier: modifying engine source and "nightly builds"
not even nightly builds per say. Your binary version is going to be months behind anything the source has updated. Plus users submit pull requests for everything.
I think there was a slight bit of miscommunication - my fault.
What I meant by nightly builds is you pulling the latest source changes and building theoretically every night on your systems.
oh no no you don't want to do that haha.
I wasn't being literal; nightly build is just a connotation
(I did add the qualifier "theoretically" 😉 )
upgrading my project to 4.27 from 4.26.1 and i'm getting an error about RTTI from ApexDefs.h. has anyone else run into this?
error C4668: 'USE_RTTI' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
the only thing that seems suspicious is protobuf as an external module in one of my plugins, which required "GOOGLE_PROTOBUF_NO_RTTI=1 in the public definitions
From my experience, you can't mix rtti/no-rtti binaries.
however, this is specific for linking; you can mix with dynamic runtime loading
makes sense. but if that were the issue, wouldn't this have been an error when compiling against 4.26.1?
there may have been an rtti change in the build? 🤷♂️
no? RTTI has never been default for UE4
that's what a bit of searching here suggested
which is why no rtti for protobuf made sense
did you do a clean build?
yeah
rebuilding now to double check
built the engine by itself prior to the upgrade without seeing this error
google only revealed one result that seems relevant
not particularly useful
oops
gah. same error.
I have finally reached enlightenment!
I learned the "rules" for building the editor, and figured out where in the code I can select a build toolchain on windows. Now to build the ClangToolChain for UBT...
so after pondering this further, i'm unclear on why i'm seeing anything related to Apex. it's a deprecated feature from PhysX.
with that said, i've disabled the warning and i'm currently waiting on shaders to compile
Okay, so clang support actually was not removed. You just need to specify it on the command line - much better than modifying the UBT sources!
GenerateProjectFiles.bat -VeryVerbose -Compiler=Clang -CMakefile is the command I tested.
Within the verbose output, I got:
Compiler: C:\Program Files\LLVM\bin\clang-cl.exe
Linker: C:\Program Files\LLVM\bin\lld-link.exe
QUESTION:
How much ms can I save with disabling TICK?
Meaning: Is there a benefit to clicking 'disable Tick' on a component (like an arrow) that will be used as a placeholder for spawning? I have tick enabled on all the wall parts of a ship. Will disabling that cause issue with collision, or something?
Or... is the only time TICK is costly, is when you are using it in BP to check something... like Checking every frame if door has opened?
Just wanted to bring up an issue with UE and a solution for it, given this has been mostly ignored:
https://github.com/EpicGames/UnrealEngine/pull/7875 (Change the default FOV to be Horizontal+)
I already made a rebuild and I have these problems:
Error CVT1107 'G:\GitHub\UE\Engine\Intermediate\Build\Win64\UE4Editor\Development\SequenceRecorder\Module.SequenceRecorder.gen.cpp.obj' is corrupt UE4 G:\GitHub\UE\Engine\Intermediate\ProjectFiles\CVTRES 1
Error LNK1123 failure during conversion to COFF: file invalid or corrupt UE4 G:\GitHub\UE\Engine\Intermediate\ProjectFiles\LINK 1
Maybe try this: https://stackoverflow.com/a/16257619
I can't find that option, do you know where is it?
Hmm, it shouldn't actually be a problem, bUseIncrementalLinking is disabled by default (https://docs.unrealengine.com/4.27/en-US/ProductionPipelines/BuildTools/UnrealBuildTool/BuildConfiguration/).
Is it likely your computer slept/hibernated during the build?
What are your power settings like?
I saw those problems during my computer was perfectly on, what kind of power setting are you asking for?
If your computer was on throughout the build then that isn't it.
How much free space does your hard disk have?
77gb
damn the lack of cleartype in those screenshots
this is not really a question applicable to #engine-source but the answer is "it depends"
but generally if something doesn't need to tick, it shouldn't tick
Tick is only enabled when it's used in engine components and in BP it's only activated if it notices the tick function has been overridden.
Hello
PROBLEM
i download 4.26 FROM SOURCE but it always give me 4.27 when i build the engine....
So, when i download the engine from github ** 4.26 ** it works perfect
BUT when i do the typical steps: Run setup bat > Run Generate Project Files AND FINALLY THE WORST STEP: Open visual studio 2019 communiity and BUILD THE ENGINE (wich cost a lot of time to build) it ALWAYS give me the version ** 4.27 ** when i wanted and downloaded the ** 4.26 **
Anyone can help me? i tried this 4 times for the last 4 days and im tired, i dont want to miss up again and lose one more day wit no solution...!
@everyone Hey, how do I build from source ue5-main with pixelstreaming plugin working for a windows to linux cross compile?
Im kinda new to building from source and I was wondering if there is any way to reduce the space the whole thing takes. Is there any way to exclude platforms not needed for example?
Exclude those files from your workspace? That’s what UnrealGameSync does
And don’t build anything but your game project so you’re not building plugins you’re not using
but what about building the engine the first time? I am only using PC so I could delete the other sdks oculus VR steam vr etc?
When you say you are downloading from source, are you doing the following:
git clone https://github.com/EpicGames/UnrealEngine
git checkout 4.26
The default git branch is release, which is currently on 4.27. You need to manually checkout the 4.26 branch.
If you already cloned the repo and checked out 4.26 but still get 4.27, then try cleaning the repo with git clean -fX. (You will need to rerun all the scripts again.)
maybe try a git fetch before checkout?
I tried 2 times using github app.
The last time i simple downloaded the branch and do the steps without github.
i'll try again with github and use these commands, thankyou for the answers!
command line is usually the most consistent. Never liked the GUI
Command line / terminal is the way of the pros. 😎
I’ve built the branch 4.26-chaos on Windows and it yielded v4.26.2.
how are the chaos branches different from the regular?
i cant compile with Debug Editor :(
only Development Editor
but the optimizations are annoying for debugging
when i change to Debug i get crazy syntax errors that are not real
Lightmap Coordinate Index on static mesh maxing out at 3, which seems to be a bug because static mesh can have more UV channels than 3.
Where in the code do I find it to bump it up to, say, 8 and would it be the only place to adjust the code ?
so I disabled the incremental linking, for that I had to change the "Configuration type" to Dynamic library and I have a lot of errors:
The chaos branch contains regular updates to the chaos feature. Other than that, not much difference.
hmmm
is it safe to delete plugins I do not need like Magi Leap and oculus?
I kinda have some space issues 😦
It is possible, but you may run into other issues
I only want the PC stuff
wanted to make an fps and experiment on UE5
hopefully ship on the stable version
It's always worth experimenting. I would just get a 128G usb drive or external hard drive if space is an issue.
Feature
'nullable reference types' is not available in C# 6. Please use language version 8.0 or greater. [E:\UE_5_Main\Engine\S
ource\Programs\UnrealBuildTool\UnrealBuildTool.csproj]
Does someone know what this means and how I could address it?
It happens when I try to generate project files for an Unreal Engine
which version of UE are you compiling?
5 at the moment. Not getting this on others.
Well based on the quote, you need to upgrade your .NET SDK to a version that uses C# 8.0 or newer,
Do we know what the recommended .NET SDK version is for UE5?
I stayed on 4.6.2, since that one got me through with UE 4.27 successfully.
C# 8 will be available starting with the release of .NET Core 3.0
Since .NET Core 3.0 is EOL, you can use either .Net Core 3.1, .NET 5.0, or .NET 6.0
Okay, I'll have a look at those option. Thanks!
let me see which developer frameworks those correspond to...,
Okay it looks like "C# 8 can be used with the .NET Framework and other targets older than .NET Core 3.0/.NET Standard 2.1"
@dry ore if you're curious, a "nullable reference type" looks something like this in C#: string? name;
I am not much of a coder to begin with 🙂 I did a little C# here and there, but I am mainly trying to get a editor version compiled that lets me package a console project with houdini engine in use without errors. Struggling with that now for a week and I ended up getting desperate to check out Ue5 from the main branch. But I appreciate the thought.
Lightmap Coordinate Index on static mesh maxing out at 3, which seems to be a bug because static mesh can have more UV channels than 3.
Where in the code do I find it to bump it up to, say, 8 and would it be the only place to adjust the code ?
Unfortunately I don't have the answer to that. If you believe it's a bug, you could file a bug report. 🤷♂️
it is a bug, but they will not fix it (as they don't fix many of the small bugs that don't affect Fortnite and other major projects)
The next best thing you can really do then is either wait for a willing dev to tackle that particular issue or begin studying the code yourself. 😐 (This is what I needed to do to figure out how to compile UE4 on Windows using clang instead of msvc)
I am at day job right now, just wanted heads-up so I could look into that part of code when I get home.
Speaking of clang for windows, @wraith crystal, I finally got around to successfully compiling UE4 with clang. Anyways, it works. UE v4.27.0
What was the issue you were having with it again?
what's the benefit of compiling with clang ?
does it run or just compile?
You don't need to depend on msvc for everything C++ on windows. Also with clang, you don't need compatibility layers like cygwin or mingw
I started it up and it just finished compiling all the shaders
which version of clang
M:\>clang++ --version
clang version 11.0.0
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: C:\Program Files\LLVM\bin
According to the clang website, clang11 supports C++14, 17, and partial 20
yes
did you have to make lots of engine changes?
The above command is actually part of mainline
the bat with the command line arg -Compiler=Clang, but yes. And no, I did not make any changes to the source code
wow
that's nice of Epic
thanks I'll try 4.27 then
then I'll try vanilla 4.25, then 4.25 with c++20 and finally my version of 4.25 :P
your version? what did you change (just curious)?
don't ask
🤔
likely everything, lol
Is that with an existing project or just a new template project?
I want to try to replicate that error on my machine - assuming the issue is with the editor and not the project.
My hunch is that TempStruct was not fully memory-initialized or used another object's data, which was not memory-initialized.
Ah, are you building the entire solution, not just the UE4Editor?
I was able to create a new empty bp project using my clang-based editor and run it. I'm now going to try creating a C++ Actor to test.
Did you build clang 12.0 or use an installer?
installer
Alright, I'll upgrade my clang version to the latest
would make sense as 4.27 release notes say
Linux "SDK" (cross-toolchain)
v18 clang-11.0.1-based
problem is, 11 doesn't have c++20 I don't think
anyway I'll try w/ that first
then maybe proceed to fix 12
no version of clang fully supports C++20 yet... unless their webpage is outdated
( https://clang.llvm.org/cxx_status.html )
not all the features but most of them
3>Building 4665 actions with 32 processes... :P
looks like clang12 is only going to give you the following additional C++20 features compared to clang11: [[likely]] and [[unlikely]] attributes
haha was gonna say I've started using likely
could live without it though
in any case, you typically want the latest compiler
usually faster and better than its predecessors
new tricks, bugfixes
Ah, so you would probably be a fan of arch as apposed to debian then if you were to choose a linux distro; (or always be compiling from source)
🤔
latest rolling updates in arch; 4+ year lag / stable release in debian; anyways, a topic for #linux
12 is a nice number, so I'm going to try getting the unreal editor working with it
is this project or engine related?
thanks
yep 11.0.1 works
@wraith crystal I successfully built 4.27 with clang12, but it crashes on launch - I think I'm getting closer to your issue.
Fascinating! How is this == null? (That's the last log I can output before the crash)
@wraith crystal Success! It finally runs without crashing.
Here are my changes to the source (only two): https://pastebin.com/xMAVC2xs
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
nice!
PR it
(against master)
But why does it work with msvc? Is not checking that pointer just solving symptoms but not the cause?
I tried compiling master as is (no change), and it seems like it is broken. At the very least, some of the cmake test builds are failing.
It also works with Clang11. However, when compiling with Clang12, GetSuperClass() sometimes returns nullptr, which results in undefined behavior.
As you saw in the patch, it only occurred twice with respect to audio editors.
GetSuperClass() in UClass returns GetSuperStruct() which itself returns SuperStruct.
/** Struct this inherits from, may be null */
UStruct* SuperStruct;
Because the ChildClass from each element in TObjectIterator<UClass> is not null, this suggests SuperStruct was set to null (or never set). This leads to the undefined behavior. I will take a look next at where it is being set.
But why msvc does not crash? Is it still nullptr even in msvc but just somehow accidently does not crash?
I'm building master right now with msvc. I'll test if values are null there as well.
My hunch is that memory is initialized a little differently in other compilers (msvc and clang11 compared to clang12), so the bug never manifested itself.
An interesting detail I should probably also note: msvc and clang11 builds only have about 2300 tasks but clang12 builds have 4400 tasks for just the editor. Perhaps the buggy code may not even be included in the default builds.
Sad day. The master branch really is broken. Not even the default msvc build succeeds. Yet another issue to look into...
Severity Code Description Project File Line Suppression State
Error LNK2005 main already defined in CMakeCXXCompilerId.cpp.obj UE4 M:\UnrealEngineMaster\Engine\Intermediate\ProjectFiles\CMakeCCompilerId.c.obj 1
Error LNK1169 one or more multiply defined symbols found UE4 M:\UnrealEngineMaster\Engine\Plugins\Runtime\ResonanceAudio\Binaries\Win64\UE4Editor-ResonanceAudio.dll 1
Error MSB3073 The command "..\..\Build\BatchFiles\Build.bat -Target="UE4Editor Win64 Development" -Target="ShaderCompileWorker Win64 Development -Quiet" -WaitMutex -FromMsBuild" exited with code 6. UE4 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.MakeFile.Targets 45
Yes, somehow it "accidentally does not crash". The two audio editors I patched iterate through all objects that extend from UClass (including UClass itself). UClass's SuperStruct is default-assigned to nullptr, which explains why GetSuperClass() is returning null.
That's cool, nice find!Maybe also check same code in ue5-main, can be fixed there
Hey guys, if I switch the UE compiler in windows to clang and the same version (12) that Im using for Android/iOS can I expect a consistent behavior?
Yes? I would think so.
I created a PR against master. Nevertheless, I would love to give UE5 a try!
as for class iterator there is a chance that while looping all classes one of classes is coming from not loaded yet module (or missing prerequisite) so getsuperclass returns null
since it loops over ALL classes currently present
I rebuilt the editor using msvc and while the ParentClass is still null, the editor runs as expected.
what class is it of one that return getsuperstruct null
I’ll try logging it.
since it may be a not fully loaded blueprint class or blueprint with missing parent
I’m pretty confident it’s UClass though
that thing definetly has to use asset registry to collect types or at least defer to post default
Parent Class: 0000000000000000, Child Class: 000001F7CDC41D00, Child Name: Default__ORPHANED_DATA_ONLY_DmgTypeBP_Environmental_C_0
Using ChildClass->GetDefaultObjectName()
just GetName would be enough but fine
yeah, it is a blueprint without native class
DmgTypeBP_Environmental_C
(still new to UE's API 😉 )
looks like a default damage type that loaded in AWorldSettings
super ancient
why is that even a blueprint and not a native class
well, it triggers FBlueprintEditorUtils::RemoveStaleFunctions
it creates ORPHANED class and moves unused functions to it
ORPHANED still remains in memory for some time due to no gc happening during initial engine startup
which is getting picked by global TObjectIterator
maybe kill OrphanedClass after it used so it never gets accessed from iterators
does anyone have a backup of the buildconfiguration.xml file? Think i screwed mine over
It’s that for building the Unreal Engine?
If you cloned the repo with, you could do a git reset --hard
Good to know!
So... was a build folder accidentally included in a commit and this is why the master branch is broken?
Specifically Engine\Plugins\Runtime\ResonanceAudio\Source\ResonanceAudio\Private\ResonanceAudioLibrary\resonance_audio\out
Hey guys. I need to use the source-built engine but I would like to reduce the complexity for my art team as much as I can. Is it possible to easily collaborate on a project using a mix of source-build and precompiled engine? Assuming the same engine version and no modifications to the source engine code. I assume theoretically 'yes', but as I've learned with UE4, theory doesn't always translate to reality!
depends how much you change in engine. as there is high chance they would have different asset versions and other things
preferrably having a separate repo with shared engine binaries or installer for designers to use
Thanks for the reply. Absolutely no changes in-engine, simply using it to build server-component of the project
Keen to stay away from a seperate repo for hosting costs, just seeing if it's feasible to let them use the standard precompiled version
then i guess only the person who builds server has to have a source engine
just ensure to not push uproject with local engine reference to shared repository
My fear would be if assets start getting corrupted from being opened by two 'different' engines
Oh yeah those are ignored in our p4ignore
That's what I thought, but keen to hear from any others who have this workflow, for reassurance
not sure of possible complication though, always had to switch to shared source builds at some point
Do you or your team modify the engine in any way?
yeah
Fair play
😂
Can we compile veeeery old engine versions with VS2019?
How old are you talking? 🤔
Let me check…
Yeah, 4.12 supports 2013 and 2015. If you want to compile with 2019, you’ll need to modify UEBuildWindows.cs
Alright, thank you
427 branch did't had any commits in two days did they freeze it for the 4271 qa
I wanna to compile Unreal Engine 4.0 and 4.6 with visual studio 2019.
The first step will be looking at the UnrealBuildTool source code (under /Engine/Source/Programs/UnrealBuildTool)
Newer versions of the same source can give you hints to what needs to be added to make compiling with VS2019 possible.
compiling 4.0 in VS2019? just why
hello guys so i downloaded source file from git and i did all the steps but after i create one project and if i open it its saying this
what is this exactly guys
how to clear this
i followed this steps
now i am unable to open project can any one help me
<@&213101288538374145> (sorry if you already saw this 🤖 posting)
huh, why didn't that get purged... one sec
Something went wrong. Check the logs for details.
Agent Smith discord bot
well, it's gone now. Thanks for poking 🙂
Why is this array on AnimInstance not a UPROPERTY?
I am running into issues that the anim montage running is GCed away and I'm left with a crash on invalid memory
are there any rules that I need to follow when playing montages so they don't get GCed?
since they are pointers to not-uobjects they can't get uproperty. they are refcounted with UAnimInstance::AddReferencedObjects manually
any idea why that would lead to crash on GCed memory?
at least that's what it seems like
MyGame!FAnimMontageInstance::Advance() [B:\Unreal Engine\Engine\Source\Runtime\Engine\Private\Animation\AnimMontage.cpp:2171]
MyGame!UAnimInstance::Montage_Advance() [B:\Unreal Engine\Engine\Source\Runtime\Engine\Private\Animation\AnimInstance.cpp:1653]
MyGame!UAnimInstance::UpdateMontage() [B:\Unreal Engine\Engine\Source\Runtime\Engine\Private\Animation\AnimInstance.cpp:323]
MyGame!UAnimInstance::UpdateAnimation() [B:\Unreal Engine\Engine\Source\Runtime\Engine\Private\Animation\AnimInstance.cpp:474]
MyGame!USkeletalMeshComponent::TickAnimation() [B:\Unreal Engine\Engine\Source\Runtime\Engine\Private\Components\SkeletalMeshComponent.cpp:1133]
MyGame!USkeletalMeshComponent::TickPose() [B:\Unreal Engine\Engine\Source\Runtime\Engine\Private\Components\SkeletalMeshComponent.cpp:1281]
MyGame!UCharacterMovementComponent::TickCharacterPose() [B:\Unreal Engine\Engine\Source\Runtime\Engine\Private\Components\CharacterMovementComponent.cpp:10683]
MyGame!UCharacterMovementComponent::PerformMovement() [B:\Unreal Engine\Engine\Source\Runtime\Engine\Private\Components\CharacterMovementComponent.cpp:2308]
MyGame!UCharacterMovementComponent::ControlledCharacterMove() [B:\Unreal Engine\Engine\Source\Runtime\Engine\Private\Components\CharacterMovementComponent.cpp:5574]
MyGame!UCharacterMovementComponent::TickComponent() [B:\Unreal Engine\Engine\Source\Runtime\Engine\Private\Components\CharacterMovementComponent.cpp:1367]
This is the callstack and the exception is trying to read memory like 0x0000091e10932e0c, so it seems like it got overwritten
is it stable reproducible? you can turn on per-frame gc
is actor itself valid or already pending kill?
is the faulty montage instance in array of them?
is the animinstance itself valid (check object flags)
is skeleton itself valid (check obj flags too)
maybe montage not getting interrupted
ActiveMontagesMap is not UPROPERTY so things in there may get gc'd and i don't see it in AddReferencedObjects
what is "<Name of Unreal Project>Editor" that is taking forever to build in a first c++ project? Is it the editor? Then will it build one for every project?
You just add your .cs file to the folder. The generate script gathers all .cs files together and compiles them.
It already has it`s build cs
but I cannot include it inside engine source
Oh, my bad! Sorry… I thought you were talking about Platforms with respect to UnrealBuildTool. 😅
where can I override which PlatformFeaturesModule should be used ?
To be clear, are you talking about building the UE source code (as in UBT - C#) or are you talking about the UE source code itself (as in C++ files).
I am talking as in C++ files
Okay, which file are you looking at?
(I’ll tell you right now I don’t have the answer, but I might be able to help with some intuition.)
I am currently here trying to change the FPlatformMisc definition as it defines windows by default I think
Really not sure why you’d ever do this
@outer kelp FPlatformMisc is going to be platform specific, so it will be determined at compile time.
On Windows, this would be WindowsPlatformMisc.cpp. The return value is conditionally either “WindowsPlatformFeatures” or nullptr.
Because I want to study unreal engine source code and modify it but current codebase is too complex. Older versions of the engine's codebase would be less intimidating.
I don't think that's particular true but w/e
and then you learn something that's also deprecated or replaced, like most of the rendering code
I'm looking to modify the deprecated code anyway.
@bitter plume The best way to tackle any massive project's code base is to take it one bite at a time.
I have this problem: Plugin 'GeometryMode' failed to load because module 'TextureAlignMode' could not be loaded. There may be an operating system error or the module may not be properly set up.
I've found the curious code in the engine source. Here it is. Let's imagine there are actors A and P. A has a SceneComponent called B(RootComponent) and C, P has a SceneComponent called Q(RootComponent) and R. So, the hierarchy will be looks like this:
A
└B
└C
P
└Q
└R
And here, let's attach C to R. The hierarchy will be looks like this:
A
└B
P
└Q
└R
└C
And when you click the A on 'World Outliner' window in PIE. The hierarchy goes back to the beginning:
A
└B
└C
P
└Q
└R
When you click the actor on 'World Outliner' window, SLevelEditor::OnActorSelectionChanged will be called and it refreshes some kind of tree that is related to the actor you clicked. Of course, this problem occurred by so many codes on the call stack, the most curious code I felt is the code in this picture. Why is it trying to attach to the original parent even though the current parent may have changed? I think there must have been some intention. And also this working felt kind of a bug to me.
The code in the picture is on void FSCSEditorTreeNode::AddChild(FSCSEditorTreeNodePtrType InChildNodePtr))
Here is the full call stack:
Issue: SetActorLocation is ignored in corner-case scenario
AActor actor;
actor.SetActorEnableCollision(false);
actor.SetActorEnableCollision(true);
actor.K2_GetRootComponent().SetSimulatePhysics(true);
actor.SetActorLocation(FVector{ .x = 0, .y = 0, .z = 0 }, false, nullptr, ETeleportType::None);
@wet pike, would you say this is correct for how you are setting up your code?
Also, for your root component, are you using a component that extends UPrimitiveComponent, UDestructableComponent, or USkeletalMeshComponent for your specific use case?
I think I had a primitive component. The example looks similar as to what I had, although in my case the collisions were disabled in a separate frame from the enabling
the root was either a static mesh or a box collision
I noticed in SetActorEnableCollision that all UActorComponent instances will be notified when you change the value. I wonder if that might be a big contributor to the issue.
I found another fun thing that I'm trying to figure out atm :) It seems using UPROPERTY(EditDefaultsOnly) TSubclassOf<UInterface> InterfaceClass; produces a dropdown box that only displays bp interfaces and none of the C++ interfaces
I seem to be good at finding these weird edge cases lately lol
Ah, solved that one - you have to add meta=(AllowAbstract) for it to show the C++ interfaces too which is a bit strange but at least it works
@wet pike Unfortunately I wasn't able to replicate your issue. My code is as follows:
AMyActor::AMyActor() : m_run_once(true) {
PrimaryActorTick.bCanEverTick = true;
this->SetActorEnableCollision(false);
}
void AMyActor::BeginPlay() {
Super::BeginPlay();
if (m_run_once) {
m_run_once = false;
AActor::SetActorEnableCollision(true);
auto root_component = this->GetRootComponent();
auto prim_component = Cast<UPrimitiveComponent>(root_component);
if (prim_component) prim_component->SetSimulatePhysics(true);
AActor::SetActorLocation(FVector::ZeroVector);
}
}
There's something related to IOS dependency prevented me from making installed build of my engine source with Automation Tool:
DeploymentInterface -> D:\Unreal Engine\IsekaiEngine\Engine\Saved\CsTools\Engine\Binaries\DotNET\IOS\DeploymentInterface.dll
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2084,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "BouncyCastle.Crypto". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\Unreal Engine\IsekaiEngine\Engine\Saved\CsTools\Engine\Source\Programs\IOS\iPhonePackager\iPhonePackager.csproj]
D:\Unreal Engine\IsekaiEngine\Engine\Saved\CsTools\Engine\Source\Programs\IOS\iPhonePackager\Properties\Resources.resx(123,5): error MSB3103: Invalid Resx file. Could not find a part of the path 'D:\Unreal Engine\IsekaiEngine\Engine\Saved\CsTools\Engine\Source\Programs\IOS\iPhonePackager\Resources\GreyCheck.png'. Line 123, position 5. [D:\Unreal Engine\IsekaiEngine\Engine\Saved\CsTools\Engine\Source\Programs\IOS\iPhonePackager\iPhonePackager.csproj]
Took 2,3759292s to run MSBuild.exe, ExitCode=1
I have absolutely no intention to deploy for iOS whatsoever, and I have tried excluding iOS from Automation Tool args:
AutomationToolLauncher.exe BuildGraph -target="Make Installed Build Win64" -script=Engine/Build/InstalledEngineBuild.xml -set:WithDDC=true -set:SignExecutables=false -set:EmbedSrcSrvInfo=false -set:GameConfigurations=Development;Shipping -set:WithFullDebugInfo=false -set:HostPlatformEditorOnly=false -set:AnalyticsTypeOverride= -set:HostPlatformDDCOnly=true -set:WithWin64=true -set:WithMac=false -set:WithAndroid=false -set:WithIOS=false -set:WithTVOS=false -set:WithLinux=false -set:WithLumin=false -set:WithLinuxAArch64=false -set:CompileDatasmithPlugins=false -set:VS2019=true -set:WithServer=false -set:WithClient=false -set:WithHoloLens=false -set:WithWin32=false
I have excluded all platform dependencies except Win64 in Setup.bat, because it's currently my main target platform and development. Initially it won't build at all because AutomationTool requires some iOS binaries in order to built, so I copied one from vanilla 4.27 and it went somewhere. Until this roadblock happens.
What gives? Is it absolutely necessary for UE4 to have iOS binaries to make installed builds at all? It's hard to believe and mega baffling if that's the case here. (and specifically ironic in relation to whole Epic v. Apple thingie)
I have tried doing hours of google-fu of this issue to no avail: most of them concerns about intentionally building for iOS. Even one forum post about this issue went nowhere.
https://forums.unrealengine.com/t/build-installed-version-of-ue4-always-fail/99718
I’m using UE4 4.16 source to build an installed version of the engine, here’s my command: .\RunUAT.bat BuildGraph -target="Make Installed Build Win64" -script="D:\UnrealEngine-4.16.0\Engine\Build\InstalledEngineBuild.xml" -clean I referenced to these links: http://jackknobel.com/BuildGraph/Building-an-installed-ue4/ https://docs.unrealengi...
Also another forum post of the exact same issue, where TC gave up and ended up including iOS binaries.
https://forums.unrealengine.com/t/release-branch-build-fails-slimmed-down-build/88644/4
nice… isekaiengine 😜
Is this about installing the editor after building it?
That's an internal fork naming for ya ;)
More of attempting to build a Installed/Binary Build of the modified engine source code, without any iOS dependencies.
So I’ve built the engine several times now, and it would make sense for there to be some kind of packaging system for the unreal editor itself. However, I am not familiar with it yet.
Would you be willing to enlighten me?
(Specifically regarding the “installed/Binary Build” portion)
In short, making binary builds that behaves like the vanilla ones from the launcher. It's useful for distributing the modified engine for teams, saving them from building hassle, and prevents project building from rebuilding the engine by random chance. Also built engine modules often tied to one project, and this is an issue when having multiple Unreal projects using the same engine source.
Right. I get that bit. However, I’m trying to figure out how you guys are gathering the files into a sharable format.
The only way I can think of doing it is manually picking out all the binaries and headers. My lack of foreknowledge also hasn’t yielded the best result from google either unfortunately.
The resulting binary files will be copied over to a separate folder (at least according to InstalledEngineBuild.xml and older ver. testings), and you can zip the folder to be unzipped by the rest of the team.
Would that be the /Engine/Binaries folder or something else?
IIRC it was a separate "LocalBuilds" folder (or something along that line)
It's still ridiculous that making installed build of the engine source code depends on iOS. And even more hilarious considering Epic and Apple are having bad blood in recent years, with the latter threatening to demolish Unreal Engine from iOS ecosystem.
Right?
I want to look at the code that executes this “installation” logic to see what exactly is going on behind the scenes, but first I need to identify what/where that code actually is. 😉
Might be too complicated to look at, but perhaps suss out anything AutomationTool and its C# files.
How much more complicated could it be from UBT? 🤔 Now I’m really curious!
Not sure, I've lost memories of C#.
In the meantime, I have no choice but to fetch iOS dependencies and try rebuilding it.
Hello, I am struggling with compilation of the UE4 from source. I need to work with latest Oculus integration (v.33) which comes as a dedicated engine github repo. VS2017 keeps failing with LNK2001 error with external symbol __CxxFrameHandler4 for hlslcc_64.lib for multiple obj Where should I look for that file?
question:
how understand, when need to make a new level transition, for hardware resource optimization ?
i mean - i have a 3D level with content (the very big forest, for example), and i can do it very big and game could crash, cause CPU and RAM is over
or maybe i need something other ?
SOLVED. See next message.
Well I'm completely stuck, hopefully someone can help me realize what I'm missing here. When trying to build lighting, the editor is telling me I need to compile Lightmass but I already have (and even rebuilt it several times). I compiled against the development editor configuration, which is an easy gotcha, but not the issue here. I also read this error can be a red herring when there's a bad mesh somewhere in the scene, but it's happening even if I try to build a blank level with just a floor, so that rules out the bad mesh cause. I'm running 4.26.2, by the way.
Here's the specific error from the Output Log (this exact error has been shared in this server before, but everyone else seemed to be beginners who just needed to compile Lightmass for the first time)
LogStaticLightingSystem: Running Lightmass w/ ImmediateImport mode ENABLED
LogStaticLightingSystem: Running Lightmass w/ ImmediateProcess mode ENABLED
LogStaticLightingSystem: Running Lightmass w/ Sorting mode ENABLED
LogStaticLightingSystem: Running Lightmass w/ Mapping paddings ENABLED
LogStaticLightingSystem: Running Lightmass w/ Mapping debug paddings DISABLED
LogEditorBuildUtils: Build time 0:07
LogUObjectHash: Compacting FUObjectHashTables data took 0.51ms
Error, fatal in BeginJobSpecification
Error, fatal in EndJobSpecification
LogStaticLightingSystem: Warning: Failed to build lighting!!! Lighting build failed. Swarm failed to kick off. Compile Unreal Lightmass.
I'm hoping I'm just tired and forgetting something simple. Otherwise I'm pretty sure my engine/editor is actually haunted.
Follow up: figured it out, although I can't explain what the problem stemmed from. The answer can be found in this earlier message:
#ue4-general message
I needed to copy a missing .dll file (embree.dll) from the launcher version of 4.26 because the Swarm Agent console was telling me it was missing a dependency. Even though I compiled Lightmass, it never produced that specific .dll file. Luckily I had the launcher version of 4.26 already installed so a quick copy was all it took. Very strange.
I wonder if that is an external third-party dependency or if a certain part of the engine didn’t compile.
It looks like core Lightmass stuff, there's an Embree.cpp in the UnrealLightmass project. What's weirder is, a related embree.2.14.0.dll file is created just fine, just not the embree.dll that I needed. And they're not the same file with different names since the launcher version of the engine has both files and they're different sizes. So, beats me why compiling sometimes doesn't create that one specific file.
Usually (at least on linux) a library like libfoo.so is a symbolic link to libfoo.so.1.2.3, which is what that looked like. But based on what you just said, it sounds like these libs represent different collections of code.
AFK, I can have a look at the build when I get back and see what the deal is.
That's a good guess but yeah, the sizes of the two files show that neither are just symbolic links. Here's what the two files look like in the binaries folder for the launcher version (non-source-compiled version) of the engine — embree.dll is almost 8 megabytes, so it's definitely packing some content.
What does dumpbin /EXPORTS embree.dll spit out?
I’ll probably run the same commands as well when I get back. 😉 What ever works.
I’m just curious about differences between libs and their symbols
If I'm honest this part is above my head
If I remember correctly, on linux readelf -s library would list all symbols in the lib. dumpbin is apparently the equivalent for windows dll libs.
Hopefully I'm allowed to share a pastebin link, here goes
In case you want a head start
Recommended with large texts 👌🏻
Thanks!
Thanks back
What you should see in that command’s output is some meta data and all the callable functions that the lib has.
Their names are naturally mangled because C++. 😉
An example of one function name in that lib is add@ThreadPool@TaskSchedulerTBB@embree@@QEAAXAEBV?$Ref@UTaskSchedulerTBB@embree@@@3@@Z
Which demangled is add@ThreadPool@TaskSchedulerTBB@embree@@QEAAXAEBVRef<struct embree::TaskSchedulerTBB>
(I just ran the name through demangler dot com)
In case you’re interested in any of this. 😉
Interesting! Yeah, thanks for explaining that.
Hey guys when i hit build or rebuild ue4...this is all i get.. i dont get it
Looks like it was sucessful
Wait, are you building the solution? You should only need to build the UE4 project.
@true schooner I did a quick search in my 4.27.0 source build of UE4 and found both embree.dll and embree.2.14.0.dll.
Maybe 4.26.2 has a build bug or the file was accidentally deleted... 🤷♂️
when i hit build...it just says succeeded but it doesnt actually build the solution...its like its skipping files or something
Yeah, don't build the solution.
i want to build source ue4
If you generated cmake files, then what you want to build is the "UE4Editor". In your solution, look for the "UE4Editor" project. Right click and select "Build".
If you generated msvc files, then under "Engine" should be a project called "UE4". Right click and select "Build".
yeah when i right click rebuild soultion for UE4... it builds in litterally 2 seconds...and thats not right
rebuild should take 10-40 mins
that is what i get when i 'rebuild soultion'
🤔 I'm hesitant to try "rebuilding" my engine right now because of how long it usually takes... another thing you can try if you want to rebuild the entire editor is run git clean -fX. This is assuming you cloned the repo with git. You would need to rerun the Setup.bat and GenerateX.bat files again.
are these settings right?
the defaults should be correct (I didn't need to modify anything)
GenerateX.bat where is that? i searched for it couldnt find it
no
unless "RTA" is your game
then you should build that target
X is just a filler (I didn't want to type the full thing); GenerateProjectFiles.bat
yes so build your game
and it'll build the engine modules it needs
don't build solution
right click "RTA" under Solution > Games and click build there, or open a source file from your game and you can build it from the build menu
i just want to build the engineeee this is so annoying
how is this any different from pre-engine source?
you do the exact same thing there
show log
its not even going through the files
and set your game as the startup project as well
im trying to follow this
