UE4 Tips


These are some of the essential learning tools that helped us develop our projects and that you may find helpful in jump-starting your work in Unreal Engine 4. This page will be updated and expanded on with more in-depth explanations of how these assets work and putting them to use in your game. Highly encourage that you explore multiple resources as there could always be better examples for your ambitions. If you have the time, these generous contributors could always use your kind words of support as well!

1. Performance
2. Optimization
3. Programming Assets
4. 3d Models

5. Game Ideas
6. Extras


1. Performance

You NEED to keep your performance and optimization in mind throughout your project, it is not a stage of development, it is ongoing, but do not over-stress yourself in the process. The videos below may help get you started on better understanding how to troubleshoot and calibrate your game. The best way to test your game's performance is through a packaged build, second best is through the Standalone Game option with the editor minimized. These are some of the resources referenced when we encountered framerate hiccups.

Optimize your Game | Live Training | Unreal Engine Livestream by Amanda Bott, Sam Deiter
----------------------------

7:59 Budgeting your game with performance

Consider your platform (PC, Console, Mobile) and art style (High poly, Stylized, Low poly, 2D) to get an idea of your boundaries. Your art style directly affects performance. Decide how to spend your dynamic lighting budget, how will post processing FX like ambient occlusion and depth of field will affect your rendering time and aesthetic. Performance and optimization become even more important if your game is multiplayer. Will your players gain unforeseen advantages playing on lower or higher settings? You can preview the different levels of graphics using the Engine Scalability settings in UE4.

17:00 Establish a polygon count

Budget your poly count to improve performance. Using a model with millions of polygons to be background scenery would be highly inefficient and costly to your PC. Using the video's example,

100,000 polygon count budget (random number budget)
----------------
20k for your player model
10k for weapons
20k for enemies (weapons, attachments, items included)
25k environment (10k terrain, 5k foliage, etc)
25k extra

Finding the right budget for your game's polygon count isn't an exact science, but it helps establish performance goals and gives artists a reference for content creation. 10 poly bucket vs a 20k poly pebble. Budgeting the materials (collection of textures) used for your models also needs consideration.

21:47 Budgeting your textures example (not exact science):

3 materials for hero
2 materials for enemy, head+body and hair (for transparency)
1 material for weapons (atlas textures to reuse on different models)
3 materials for buildings (exterior, interior, foliage)

Decide how you will reuse these textures and models to save on performance; rocks, tables, modular pipes, walls.

27:25 Light Maps
31:25 LOD Settings (Fortnite and Paragon settings)
35:51 Checking Performance (constantly track what may be slowing your level down, maybe a bad mesh import, blueprint, particle effect, reflective capture, etc.)

Use tilde (`) key and console commands:

stat FPS
stat unit

(Green good, yellow problem, red crying)
GPU bound? Too many pixels trying to be rendered on screen.

38:30 stat SceneRendering

More details on what may be causing performance issues, lighting? reflections? textures?

stat Memory
What in your level may be causing memory performance issues, textures?

stat RHI
How many triangles are being drawn on the screen.

stat none
Clear stats on screen

42:28 Onwards: debuggers, what exactly is your level costing you, material instances, particle cutouts/optimization, material shaders.

59:41 Lit mode > Optimization Viewmodes > Shader Complexity for rendering complexity (Green good / Red bad)


2. Optimization

UE4 Performance and Profiling | Unreal Dev Day Montreal 2017 by Zak Parrish
----------------------------

Strongly encourage that you watch this video to get more details to optimize your game,


"You should only be optimizing after you have profiled and you know what you are trying to do is a problem... Test on your target hardware ASAP, if your project is for Xbox One, [get in the habit of deploying for Xbox One, doesn't matter the size of the scene.]"





Test your game through your packaged build, testing from the editor in this case is inefficient and if you can't profile a packaged game, test through Standalone Game with your editor minimized.

 6:25 Profiling Process



13:12: Stat Commands

stat fps
stat unit
stat scenerendering
stat gpu
stat engine
stat streaming
stat emitters
stat lighting

15:03 Optimization View Modes (Green Good, Red Bad, White Worst):
Shader Complexity
Quad Overdraw
Light Complexity
Lightmap Density
Stationary Light Overlap
LOD Coloration

21:35 Profiling Tools

CPU Profiling
GPU Profiling
Tracking Slow Frames
startFPSChart & stopFPSChart

25:50 Blueprint Optimization
Strongly suggest watching all of this video, but this section is very important to optimize your blueprints!




35:46 What Actors Are Ticking?
36:04 Draw Thread Optimization, Actor Merge Tool, Instanced Static Meshes, Hierarchical LOD
39:51 GPU Optimizations, Pixel Shader Optimizations, Material Instructions Counts
43:58 Dealing with Overdraw (Do more with less, fewer visual effects, foliage, geometry)

Always use Particle Cutout property for translucent particles, in the Required Module in particle.

45:15 Managing texture resolutions
46:18 Lighting Considerations




Spotlights are cheaper than point lights.

50:28 Optimizing for device, device profiles, per device material optimizations, network optimizations, upcoming features (4.19), network relevancy view mode (4.19), texture streaming, primitive distance accuracy, mesh UV density accuracy, material texture scales accuracy, required texture resolution, stat streaming, level streaming, world composition, further info.

Also check out:

UE4 Graphics Profiling by Oksar Swierad (explanations on different passes on the GPU)


3. Programming Assets

Community Assets List by Neff10
----------------------------
An excellent list of learning tools to check out ideas and gain experience using Unreal Engine 4. Some of these resources include free sounds, models, textures, and programming but always make sure what you find is okay to use commercially with proper attribution.


Prototype UMG Menu System by Stormrage256, support thread here.
----------------------------
Save systems are essential. This asset is a great start for learning one way to save game progress and store information for values of currency, experience, and checkpoints. This project can also help you learn the ways to make and save quality-of-life video settings and how to translate them into options for features like windowed mode and sound settings. Also you may want to check out his damage display system here.


Physics Driven Spacecraft by Jacky
----------------------------
To learn an on-screen HUD system that draws images and distances for actors you want to track. This is great to assist in tracking high speed or distant actors, or if you need a quest marker to guide a player's direction on the borders of the screen. Also a great take on spaceship controls and combat mechanics.


Radar Blueprint - Track Enemies, Friends, Pickups by Cocquigames
----------------------------
This project can help you learn one way to make a radar minimap system for tracking different types of actors and objects. A radar minimap was one of the bigger requests when playtesting Wormhole City.

A.I. and Project Samples by Elhoussine Mehnik
----------------------------
Numerous excellent resources to learn enemy and npc behavior along with other gameplay concepts.

Make sure to check out the Learn tab in the Epic Games launcher, click the Unreal Engine tab on the left, then click the Learn tab on the top to get a listing of some of these projects.


4. 3D Models

If you are a single person developer, you'll need to find ways to save time to work on your game. The websites below should help you prototype your ideas at the very least.

Adobe Fuse and Mixamo
----------------------------
Mixamo helped immensely with our project. Haven't tried newer 3d character creators unfortunately, but this is a great and free start that can only be enhanced by your modeling knowledge to make more unique models and to animate them.

Unreal 4 Marketplace
----------------------------
You can find a lot of free and useful resources on the Unreal 4 Launcher (Community Contents, Free Projects) but if you're looking for something more specific, you can find assets here that may help. Includes programming and sound assets.

Sketchfab
----------------------------
A great community of 3d artists, users here can offer free and marketplace models to use with proper attributions. The website lets you use a 3d model viewer to further inspect any prospects you're interested in and it's a good place to connect with modelers and to show your support. You can see some of the downloadable models I've allotted here.

CGTrader
----------------------------
Another website where you can download or purchase free and marketplace assets and comes with a feature to barter with sellers on their prices. Always make sure the models you are purchasing are original and usable in your games, many artists will try to sell you IP infringing products without notice.

Other websites you can search for 3d models or UE4 resources is Google Poly, Gumroad, Sellfy, and non-Unity specific assets on the Unity Marketplace.  



5. Game Ideas

Keep it simple for now. If you're a single person developer, it's probably not advisable for your first game ambitions to be an open world FPS MMO with a crafting, inventory, talent tree, loot and survival system. Try to think of some of your favorite games you play and how you can recreate that without these features; how did Portal 2 tells its emotional story and provide a fun experience without some of these aspects? How do you want players to feel from your game and how much does that tie into your game mechanics?

Marketing
----------------------------

How to Consistently Make Profitable Indie Games by Ryan Clark

The designer of Crypt the Necrodancer, Ryan Clark, released a great video giving insight on how he approaches making new games. Do market research into genres that are selling well and create (multiple) hooks for your game.

 According to Clark, "a hook is some interesting bit of information that compels people to try it or discuss it." Clark lists examples like the art style, good trailers, the pun "Crypt of the Necrodancer" being a hook, the core mechanic of the game, a "roguelike rhythm game sounds impossible or crazy which immediately gets people interested." Clark talks about star power also being a hook through celebrity endorsements, the people on your team, and CotND's soundtrack that included popular musicians. Ryan Clark states that CotND's most powerful hooks come from its core mechanics and excellent music.

Business-wise, market research will help gauge the success you may have for funding and selling your game. Adapt to your limits and when it comes to brainstorming your ideas, players aren't necessarily looking for the next epic scale sci-fi or fantasy property, it's about the way you treat your gameplay, visuals, pacing, mood and music that can deliver grand emotions from any situation.