Did Tencent buyout Epic?
Everything on the Fab page is in Chinese. What happened?
Everything on the Fab page is in Chinese. What happened?
So, I'm joining a blueprint-only project (some critical parts are in C++, but that's it) and will actually get to make technical decisions in the long run, even though I don't have a lot of experience with the engine itself. I'm wondering whether it's going to be worth it to continue with a blueprint-only philosophy or introduce C++ for new features. The game is not specially complex so Blueprints are sufficient (or should be) for most features. I'm more concerned about productivity, since the project has a deadline. The team is small and probably won't grow a lot.
On one hand, creating code with blueprints feels very slow, but maybe I'm just new at it. I feel like I can type faster than I can place nodes, that I'm losing all the advantages that I have with code (like finding references in a quickier, cleaner, more project wide way, or Intellisense - when it cooperates, which is a different can of worms)
On the other hand, the way Unreal seems to handle UHT cache updates often drives me mad (that might also be me not knowing proper workflows yet), code is not as visual as Blueprints, everything is more straightforward and with blueprints I don't need to recompile everything all the time, which can also become very time consuming - even when I don't mess up. The way Unreal handles code updates is way too finicky and can make you waste a lot of time.
There are other aspects I don't like about working with blueprints, like bad mergeability of files in version control, which means no code reviews among other things, but I could live with that, at least for now.
These are my impressions as a "begginner" (in this engine, I have a decade of professional experience on Unity). What do you guys think, as better experts in the matter?
Hello everyone, we are Submersion, a small two-person studio made up of myself and my husband, Morgan. We’re currently developing a third-person survival game set in the 19th-century Arctic, with elements of Lovecraftian horror.
If that sounds like your cup of tea, we’d love to hear your feedback, especially on whether the game’s direction and tone come across clearly.
https://www.youtube.com/watch?v=MrJAo50Acds&t=219s
Also happy to answer questions about the game or the development process.
Hey,
We’ve been working on a narrative game called Vestige for a while now (UE5), and I just wanted to share a couple of technical things we learned the hard way.
Teaser if you’re curious: https://www.youtube.com/watch?v=CkbVPSVt698
Kickstarter (currently running): https://www.kickstarter.com/projects/pyramide-games/vestige-a-narrative-adventure-about-memory-and-grief
First thing: using a template/framework
It does help. You get a lot of features faster, especially for movement, camera, basic systems etc. But we kind of underestimated what it means to work on top of something you didn’t build.
You spend a lot of time reading someone else’s logic, understanding how everything is connected, and sometimes fighting it because it wasn’t designed for your exact needs. It’s not “plug and play”. It’s more like “plug, then spend days figuring out why it behaves like that”.
Second thing (this one hurts a bit): climbing / ledge system
We spent months trying to build our own system. Iterating, breaking things, reworking animations, fixing edge cases… the usual. And then… we discovered GASP.
We just didn’t spend enough time researching what already existed. We were so focused on solving it ourselves that we didn’t step back and ask “does something already do this better?”. Turns out: yes.
Not saying GASP solves everything instantly, but we could have saved a lot of time by looking earlier.
I guess the takeaway is pretty simple, but easy to forget when you’re deep in production: don’t assume you have to build everything yourself, and take actual time to explore existing tools before committing to months of work.
Anyway, still learning as we go, curious if others had similar moments where you realized way too late that a tool already existed.
good luck to everyone deep in UE chaos right now
Im running a listen server setup. I have a weird issue. Game starts, players spawn and get teleported to their spawn locations. Now the client goes and picks up the weapon, it attaches to him, but then I have a problem with starting location of line trace (which is the socket on the attached actor, though whole actors location is not right) was wrong. - Im testing on a create/join session with advanced sessions plugin, this does not happen with just putting 2 players on the map.
Anyway, line trace start location is wrong UNTIL the server player rotates the mouse( - camera controlls player rotation as well), that fixes the vector mismatch and start location for line trace starts working for all clients.
Really confused on how this could be a thing and I have no idea whats causing it. Spent a whole day debugging to come to this conclusion. This bug carries over to the fully compiled game with Steam sessions so its not some PIE issue.
Any help would be appreciated.
Hey all,
We’re looking for an Unreal Engine dev with at least one shipped title to help us push through the final stage.
The game is fully playable in-editor — we mainly need help with packaging, builds, and final polish before first build and would greatly benefit from some additional hands.
Goes without saying, it’s a paid gig.
Short-term, flexible scope and timing.
DM me with if interested.
The current one is utter dogshit for custom model rigs.
Hey everyone,
I’ve been working on an advanced dismemberment system for Unreal Engine and finally put together a showcase video for it.
Current features:
Real-time limb dismemberment
Bone-based damage system
Blood & gore effects
Physics reactions
Modular setup
Works with different characters
Clean integration workflow
Would genuinely love feedback from other UE developers on:
Performance optimization ideas
Replication/networking approaches
Better gore workflows
Any features you think would push this system further
I’ve been using Unity for over a year, and I’m comfortable with game architecture and general programming concepts. I’m learning Unreal Engine now and want to focus on C++ based development rather than Blueprint-heavy workflows. Most tutorials I’m finding either focus on Blueprints or only cover beginner-level Unreal C++.
I’m looking for good resources to learn Unreal C++ (free or paid). If you’ve used anything that helped you in your own learning, I’d really appreciate any recommendations.
I am trying to create a space ship game, but i cannot for the life of me figure out any method of getting stars to appear far away. I tried a HDRI backdrop, I tried skydomes, etc.
Thanks for the massive feedback on the previous post! I've addressed most of the issues that were raised and moved forward quite a bit, but there are still many things to improve. I'm genuinely hooked on this project and pushing hard to bring it to a quality you haven't seen in a game before. I hope you like where it's going and I'd love to hear your thoughts again.
Previous post:
https://www.reddit.com/r/UnrealEngine5/comments/1sy75rk/this_is_the_movement_system_i_always_wanted_to/
QUESTIONS FOR YOU
Head Bob: This makes movement natural and gives the body weight, but I know it causes discomfort if overdone. Does the current amount feel balanced or is it still too much?
Camera Roll: I stabilized the camera and overlaid a roll based on body lean (visible when cornering fast). The video shows both versions. Do you prefer the lean roll or a completely flat horizontal camera?
THE ANTI-NAUSEA SOLUTION
The main concern from last time was camera movement causing discomfort. I implemented three layers of stabilization to address it:
AVAILABILITY
I am currently offering the locomotion system for licensing. I am also open to full-time or contract roles to integrate this architecture into ongoing projects. If your studio needs a system like this, let's talk.
ABOUT THE SYSTEM
Several things always bothered me in military games: characters that snap direction instantly, players who jiggle left and right without weight and momentum to dodge bullets, sliding feet, and the head-glitch exploit that lets players shoot without exposing themselves.
Key features of my system:
PERFORMANCE
It takes about 0.5 ms to calculate all the system and IK solver together on my old machine. I have not done any optimization so far. I'm currently using Final IK, and later plan to switch to Unity's Animation Rigging package which uses worker threads for IK calculations and should give a significant performance boost. I also plan to add refresh throttling and LOD for distant units.
FOOTNOTE
During the work I understood why systems like this are so rare - it's extremely hard to build well. In real life you just walk. Here you have to break down every type of step you take and figure out how to implement it in code, while keeping everything clean and solid. If you duct-tape any issue, you will pay for it on every step after that.
Just a quick check. (I failed digging for this information online)
Semi-open world, third person game in Unreal.
What is your current Size Map (Memory) on your ThirdPersonCharacter/main player character?
What's "normal" here?
Thanks in advance
I keep seeing that 'hard references' such as casting should be avoided or at least reduced as much as possible, but I don't really understand why. Apparently when you hard reference an actor, everything that it references is also loaded. But in my project, I cast to game mode, game state, pawn, player controller, interactable objects... etc, and all of these actors are already in the game and referencing each other at any given time, so should casting still be avoided? Is it because references are stacked somehow and will only accumulate over time with no way to clear up the memory?
Another issue I don't understand is using event dispatchers/delegates vs directly calling a function through an actor reference. I understand that delegates are good for when you want multiple things to react to a high level event, like multiple UIs reacting to a change in game state, but what about a player controller updating the game state? To me it seems intuitive to directly call the game state's function from the PC, but that again creates hard references that apparently should be avoided.
What are the best practices around this?
Hello. This might seem like a simple problem but there are some things that make it more complex than it should be, so I decided to ask for advice here.
Weapons in my game work as follows: They have two fire modes, the primary which is fired with LMB and the secondary which is fired with RMB, a weapon might use the same magazine for both fire modes, have different magazines for different fire modes or have one or both fire modes not use magazines, this introduces a bit of a problem when it comes to reloading.
This is because a weapon might have to use an animation for reloading the primary clip, an animation for reloading the secondary clip, and an animation for reloading both at the same time, and not every weapon might need all these animations: some weapons might use none because they don't use clips, some might only need the primary or the secondary, some may need the primary and the secondary but not the animation for reloading both and so on.
I could have the weapons hold three pointers to animations and just not worry if some of these are set to null because it won't cause a massive memory waste, but the situation gets more complicated when you factor in the possibility for reloading on an empty mag: as you know some weapons might use a different animation for reloading when the mag is empty, and in the case of my game, this would need to apply to the singular fire modes, doubling the max number of animations a weapon could have from 3 to 6, and most weapons won't use all 6, I calculated that there are a grand total of 19 possible cases.
Of course, just shoving 6 animation pointers in the weapon class is not good practice for a plethora of reasons, so I began rethinking stuff:
First off, I decided to isolate "fringe cases" that are so rare it's not worth it to implement them in the base class, those being the cases in which an animation for reloading both mags is needed, there will be at most one weapon in the game that will need this so I can just code it in the specific weapon itself, the max number of animations goes down to 4.
Secondly, I thought about offloading handling animations and possibly reloading itself to components for each fire mode, so a firemode has a pointer to a reload manager which can hold one or two animations, which will then decide which one to play and possibly also replenish the weapon's clip accordingly, the downsides are that this would take much more memory than just having 4 animation pointers in and would introduce a bit of neddless complexity in the code.
What is making me reconsider the components path though is the fact that some weapons (and not few since most weapons are based on WW1 guns) might need to reload rounds singularly, so I need to handle that case too, this is where using the component thing could help, but at the same time I could have an enum in the weapon class that, for each firemode, specifies if the mode needs no reload, a simple reload, support for empty mag reload or rounds reload.
I also looked at how other games handle this problem and found that... They just don't, most games with dual fire mode weapons either don't use mags (Unreal for example) or use a singular mag for both fire modes (Half-Life), I'm not sure though this could fit the needs of my game, but I could try to redo that "isolation of fring cases" process.
So I'm a bit indecisive and I decided to ask for advice here, what would you do in my situation? I don't want my code to look like that of Yandere Simulator TwT
I have a scene with over 2,000 props, many of them repeated multiple times. When I merge the actors using instances, it becomes around 46 instanced meshes. Those 46 objects may still use around 50–60 materials in total.
However, I’m considering merging all 2,000+ props into a single mesh and baking their textures so I can reduce everything down to only 2 textures and 2 material slots.
My concern is that merging all those props into one mesh could create a very high vertex count.
Which method is safer and better for performance?
Right now, the 46 instanced meshes are already being reused in different places in my level, and their materials/textures are already loaded in memory.
If I merge everything into one large mesh and then split it into chunks for culling, would that be okay?
I’m confused about which approach would be the most optimized in Unreal Engine.
I'm using Ollama with gemma4:31b locally for AI along with the excellent ollmcp for the CLI. I won't cover how to install an AI client or models (there's lot of guides for that on the web).
Run Unreal 5.8 editor for your project.
"Edit -> Plugins", search for "MCP" and enable "Unreal MCP", "Yes" to enable this plugin, click "Restart Now".
"Edit -> Editor Preferences...", in the 'General' section, scroll down to 'Model Context Protocol' and select it. Check 'Auto Start Server' to automatically start the MCP server for future editor runs.
This will use http://127.0.0.1:8000/mcp for the MCP server URL.
To start the server now, without restarting the editor enter the following into the Command Console window at the bottom of the editor:
ModelContextProtocol.StartServer
You should see the following in the Output Log window...
Cmd: ModelContextProtocol.StartServer
LogHttpServerModule: Starting all listeners...
LogHttpListener: Created new HttpListener on 127.0.0.1:8000
LogHttpServerModule: All listeners started
Now we need to create the .json file(s) to allow AI clients to connect to the Unreal MCP server. This can be done with the following Console Command for vscode:
ModelContextProtocol.GenerateClientConfig VSCode
This will create a .vscode folder at the root of your project and it will create a mcp.json file that you will use inside VSCode.
The more general form of that console command is: "ModelContextProtocol.GenerateClientConfig <ClaudeCode|Cursor|VSCode|Gemini|Codex|All>" to pick the AI client you want to create a .json file for, or use "All" to create .json files for all of them.
Start Visual Studio Code, and in vscode, click "File -> Open Folder..." and browse the the folder where your project's .uproject file is located (this will be where the .vscode folder was created previously).
In VSCode, click Ctrl+Shift+P and then click "MCP: List Servers", and you should see 'unreal-mcp' listed. If it says 'stopped' click on it to start it.
Click 'Start Server' and you should see it discover the tools available (it should say "Discovered 3 tools") and in the Unreal editor Output Log window you should see the following:
LogModelContextProtocol: Display: Client requested protocol version '2025-11-25', negotiated '2025-11-25'
LogModelContextProtocol: Initializing new session: 9f7dce394d21ad948de98bbf0a90f9e0
LogModelContextProtocol: Session initialized: 9f7dce394d21ad948de98bbf0a90f9e0
LogModelContextProtocol: Listing tools (3)
In Visual Studio Code, open the AI chat window using Ctrl+Shift+I
At this point, you can start asking it to do things like "Using unreal-mcp, tell me how many staticmesh actors are in this level" or "Using unreal-mcp, move the PlayerStart actor up 20 units", etc.
Your success will vary depending on the AI model you use. :)
I've just finished my game after a year of development and I'm trying to clean things up. I've pinned down the source of lag to these trees I'm using.
https://snipboard.io/SKPJ8R.jpg
https://snipboard.io/gibJeZ.jpg
When I get up close to the tree, FPS drops from ~60 to ~30. I got them off the marketplace, I'm not sure if they were optimised for games in the first place and I really don't know how to do that myself. They have pivotpainter files and a slight swaying animation, which I know nothing about. They're set to a fixed LOD with ~25k triangles. This one in particular has been scaled up quite large in the level.
Are there any red flags here that suggest why this is causing lag? Too many tris? Should I be using nanite?
I have a surface with sand and grass painted using mesh paint. The whole surface is a flat plane, and to achieve the desired resolution for the mesh painting I had to subdivide the plane to the point that it has over 100k triangles. This seems incredibly wasteful.
https://snipboard.io/KA8XFl.jpg
https://snipboard.io/WMHQpo.jpg
I tried to use nanite but it caused the mesh to reduce into more simple geometry, which totally messed up the grass and sand texture into an angular blotchy mess as there were a lot less vertices.
Is it possible to simplify the mesh without affecting the mesh paint? Can I somehow bake the texture onto the mesh and then reduce the number of vertices?
So I am now 3,500 hours into a project and have just started encountering a pretty scary problem.
I have a save that works just fine in editor (multiple tries of using games save and quit function/just hitting escape to exit PIE) but when I restart the engine, it seems corrupted or not loading.
Now for some clarification, the way that my project has been set up, I have 3 separate saves. We'll say "dungeon save, "meta save" and a "party save". The only one that has been altered since seeing this change is one variable in the meta save. Yet the one that seems to be "corrupted" is the party save. A save system that has been untouched for well over a month. This leads me to believe that it is likely not my code, but we have all been there and all been wrong.
Has anyone else encountered something like this that can provide some insight? I have deleted saved, intermediate and cache. I have restarted my system and verified install and I am now in the process of packaging to see if it persists there, though I assume it will as it happens in standalone.
Edit: the packaged build works as intended. It seems to only happen in editor.