0% found this document useful (0 votes)
160 views

Unreal Engine Project Workflow: Twisted

The document provides guidelines for optimizing assets and project workflow when working with Unreal Engine. It discusses setting up version control with Git and Bitbucket, preparing assets with optimized file formats and sizes, and organizing the project folder structure and naming conventions. The document also provides tips for using material instances, keeping projects clean, and baking lightmaps.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
160 views

Unreal Engine Project Workflow: Twisted

The document provides guidelines for optimizing assets and project workflow when working with Unreal Engine. It discusses setting up version control with Git and Bitbucket, preparing assets with optimized file formats and sizes, and organizing the project folder structure and naming conventions. The document also provides tips for using material instances, keeping projects clean, and baking lightmaps.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

TWISTED

UNREALENGINEPROJECTWORKFLOW

v0.1

VERSIONS

DATE VERSION AUTHOR

2017-03-22 0.1 JoostKamphuis

UNREALENGINEPROJECTWORKFLOW v0.1 2

TABLEOFCONTENTS

VERSIONS 2

TABLEOFCONTENTS 3

INTRODUCTION 4

VERSIONCONTROL 5
INTRODUCTION 5
SETTINGITALLUP 5
CREATINGAGITPROJECT 6
FORKINGTHETWISTEDUE4BOILERPLATE 6
STARTINGFROMSCRATCH 7
PROJECTCHECKOUT 7
PUSHINGCHANGESTOTHECLOUD 7

ASSETPREPARATION 8
TEXTURES 8
MESHEXPORT 8

OPTIMIZING 9
MESHES 9
TEXTURES 9
LIGHTMAPS 9
SCENES 10

UNREALNAMINGCONVENTION 11
FOLDERNAMES 11
ASSETNAMEMODIFIERS 12
COMMON 12
ANIMATIONS 12
MATERIALS 13
TEXTURES 13

UNREALTIPS 15
MATERIALINSTANCES 15
KEEPTHEPROJECTCLEAN 15
BAKINGLIGHTMAPS 15

UNREALENGINEPROJECTWORKFLOW v0.1 3

INTRODUCTION

AswewillstartworkingonprojectsinUnrealEngine,itisimportantweareallpointedinthesamedirection.
ThisdocumentisintendedtocreateaclearworkflowforUnrealEngineprojects.

UNREALENGINEPROJECTWORKFLOW v0.1 4

VERSIONCONTROL
INTRODUCTION
Whenworkingtogetheronprojects,itisveryimportanttoimplementVersionControl.Sincethe
developmentisalreadyworkingwithGithostedonBitBucket,itisgoodtousethatprotocolandservicefor
UnrealEngineprojectstoo.
Gitisafreeandopensourcedistributedversioncontrolsystemdesignedtohandleeverythingfromsmallto
verylargeprojectswithspeedandefficiency.
WithGityoucansimultaneouslyworktogetheronaproject.Everytimeyoufinishapartoftheproject
(feature,blueprint,animation,etc.)youwillcommitandpushallyourchangesandpushittothecloud
(i.e.BitBucket).Yourcolleaguesarethenabletopullyourchangesintotheirlocalenvironment.

SETTINGITALLUP
Firstoff,createanaccountonBitBucketthatyouwilluseforGit.LetJoost([email protected])knowwhat
emailaddressyouhaveused,sohecanaddyoutotheTwisted3Dteam.

TostartoffyourGitflow,youwillneedagoodGitclientforyourdesktop.GitKrakenisrecommended
(availableforWindowsandmacOS).
ThefirsttimeyouopenGitKraken,youwillbepromptedtocreateanaccountforGitKraken.Thisis
completelyfreewithtwosimplesteps.

UNREALENGINEPROJECTWORKFLOW v0.1 5

PROJECTCHECKOUT
NowitistimetogobacktoGitKrakenandchooseFile/CloneRepo.ChooseforBitbucket.organd
pickalocationwhereyouwanttoclonetherepositoryto.TheRepositorytoclonefieldhasasearchbox
whereyoucanlookfortherepositoryyouhavemadeinthelaststep.
Andfinally,clickonClonetherepo!.

PUSHINGCHANGESTOTHECLOUD
Wheneveryouhavefinishedmakingchangestotheproject,youneedtopushitbacktothecloud
(BitBucket)soyourteammatescanstartusingyourcreations.
Todothat,youfirstneedtocommityourchangeswithagooddescription(inEnglish)aboutthechanges
youhavemade.
InGitKrakenyouwillseeanewbulletpointintheoverview,ascanbeseenonthescreenshotbelow.


Thisistheplacewhereallyourchangesarestored,readytobepushedtothecloud.
Ifthe//WIPsectionhasntbeenselected,dosonow.Thiswillopenupasectioninthebottomofthe
GitKrakenoverviewscreen.
IntheUnstagedsection,youwillseethefilesthathavebeenchanged/added/deleted.Tostagethemfora
commit,pressStageallchangesorhoveroverthesinglefilestostagethoseonitsown.


NowyoucanwriteyourCommitMessage,beverydescriptiveandwriteyourmessageinEnglish.
Onceyourdone,pressStagefiles/changestocommit.

Finally,youhavetopressthePushbuttoninthetoolbarofGitKraken.

ASSETPREPARATION
TEXTURES
AlwayscreateTexturesabigaspossible,butscalethemdowntotherightproportionsbeforeyouimport
them.ThisallowsyoutousehigherresolutionTextureswhenneeded.
Targa(.TGA)isagoodformattostorelosslesstextures.InthepackagingprocessofUnrealEnginethe
so-calledcookingprocesswilloptimizethosetexturesforyou.

UNREALENGINEPROJECTWORKFLOW v0.1 6

Tip!
Alwayscreatepoweroftwosizedtextures,otherwisethevideocardwillup-ordownscaleit
foryou.So64x64,128x128,256x256,512x512,etc.

MESHEXPORT
UnrealEngineworksperfectlytogetherwiththeFBXformat.Makesureyouexportyourassetwiththe
FBX2014preset,whichcanbefoundattheExportSettingsdialoginallmajor3Dsoftwarepackages.

UNREALENGINEPROJECTWORKFLOW v0.1 7

OPTIMIZING
OptimizationisveryimportantwhenitcomestocreatingassetsforUnrealEngineprojects,sinceyouneed
tokeepthehardwarelimitationsinmind.Youcantinfinitelykeepstoringresourcesinthememory,youwill
eventuallyrunoutandtheprojectwillrunverysloworevencrash.

MESHES
Dontuseahighpolycountwhenyoudonthaveto.Thinkabouthowfarthemeshwillbefromthecamera,
orifitwillevergetclosetoyoureyes.YoucancreateLOD(LevelofDetail)mesheswithinUnrealEngine,but
itisalwaysgoodtoalreadyhaveaGameReadymesh.

TEXTURES
Thesamegoesfortextures.Dontuse4Ktexturesonmeshesthatareonly100pixelsbigonthescreen.
Textureswillbeloadedintothecomputer'smemory,whichcanstackupandcauseproblems.

LIGHTMAPS
KeepinmindthatLightmapswillalsobestoredinmemory,makesuretheLightmapDensityisnttoohigh.
YoucancheckyourLightmapDensityatalltimesusingtheViewmode.


LightmapsizecanbechangedwithineithertheMeshsettings

UNREALENGINEPROJECTWORKFLOW v0.1 8

OrasaLeveloverrideintheDetailspaneinyourWorldOutliner.

SCENES
Keepyourscenes(Maps)reasonablysmall,dontloadintoomanyroomsthatyoucannotseefromacertain
location.ItisbettertoworkwithmultipleLevels,whichcanbestreamedinfromaPersistentLevel(your
masterlevelwhichhandlesallthestreaminginformation).
https://docs.unrealengine.com/latest/INT/Engine/LevelStreaming/Overview/index.html

UNREALENGINEPROJECTWORKFLOW v0.1 9

UNREALNAMINGCONVENTION

Whenitcomestonamingfilesandfolders,itisveryimportanttosticktoacertainconvention.Agood
explanationhasbeengiventheUE4StyleGuide,whichyoucanfindat
https://github.com/Allar/ue4-style-guide.

Hereisashortsummaryofconventionswewillbeusing.

EverytypeofAssetorBlueprinthasadesignatedfolder.Youcanfindthebasicstructureinthe
TwistedUE4BoilerplateprojectonBitbucket,whichisexplainedfullyintheVERSIONCONTROL
chapterofthisdocument.
AssetnamesarealwaysPascalCase(e.g.DestertEagle,RocketPistoland
ASeriesOfWords).
AssetnamesconsistofthestructurePrefix_BaseAssetName_Variant_Suffix.Prefixand
SuffixaredeterminedbytheassettypethroughAssetNameModifiers,whicharefoundhere.

FOLDERNAMES

FOLDERNAME DESCRIPTION

AI ThiswillstorealltheArtificialIntelligencelogic,likeBehaviorTreesandAI
Controllers.

Blueprints AlltheBlueprintsthatwillcontainlogicandinteractivity.

Components Mainlyforreusablecomponents.ItwillalsostorethetypesofPlayer
Controllers.ForexampleaVR,FirstPerson,ThirdPersonandSpectator
Controllers.

Maps Alltheprojectsmapswillbestoredinhere.

Materials Alltheprojectsmaterialswillbestoredinhere.Youcancreatesubfolders
withinthisfoldertocreategroups,forexampleallwoodenmaterialswillbe
storedintheMaterials/Woodfolder.

Meshes SameastheMaterialsfolder,butforallmeshes.

Particles SameastheMaterialsfolder,butforallparticlesystems.

Sprites SameastheMaterialsfolder,butforallspriteslikeBillboards.

Textures SameastheMaterialsfolder,butforalltextures.

UI ThiswillstorealltheUIWidgetassets.For2Dand3DUIWidget/interfaces.

UNREALENGINEPROJECTWORKFLOW v0.1 10

ASSETNAMEMODIFIERS

COMMON

ASSETTYPE PREFIX SUFFIX

Level/Map

Blueprint BP_

Material M_

StaticMesh S_

SkeletalMesh SK_

Rig Rig_

Texture T_

ParticleSystem PS_

WidgetBlueprint WBP_

ANIMATIONS

ASSETTYPE PREFIX SUFFIX

MorphTarget MT_

BlendSpace BS_

AnimationBlueprint ABP_

AnimationComposite AC_

AnimationMontage AM_

AnimationSequence A_

LevelSequence LS_

UNREALENGINEPROJECTWORKFLOW v0.1 11

MATERIALS

ASSETTYPE PREFIX SUFFIX

Material M_

Material(PostProcess) PP_

MaterialFunction MF_

MaterialInstance MI_

MaterialParameterCollection MPC_

SubsurfaceProfile SP_

PhysicsMaterials PM_

TEXTURES

ASSETTYPE PREFIX SUFFIX

Texture T_

Texture(Diffuse/Albedo/BaseColor) T_ _D

Texture(Normal) T_ _N

Texture(Roughness) T_ _R

Texture(Alpha/Opacity) T_ _A

Texture(AmbientOcclusion) T_ _O

Texture(Bump) T_ _B

Texture(Emissive) T_ _E

Texture(Mask) T_ _M

Texture(Specular) T_ _S

Texture(Packed) T_ _*(where*is
combined,e.g.RS)

TextureCube TC_

MediaTexture MT_

RenderTarget RT_

UNREALENGINEPROJECTWORKFLOW v0.1 12

CubeRenderTarget RTC_

TextureLightProfile TLP_

UNREALENGINEPROJECTWORKFLOW v0.1 13

UNREALTIPS
MATERIALINSTANCES
YoucanuseMaterialInstanceswhenyoustartusingmultipleMaterialsthatusethesamekindofset-up,but
havedifferenttextures/parameters.Thisisveryeasytodoanditwillbeaboostinperformance.
WhencreatingaplainMaterial,rightclickonyourTextureSampleorConstantnodesintheMaterialEditorand
clickConverttoparameter.Givetheparameteranameandmaybeadefaultvalue.
Nowyoucanright-clickyourMaterialintheContentBrowserandclickCreateMaterialInstance.
WiththisMaterialInstance,youcannowfillintheparametersneeded.
ForexampleifyouwanttohaveMaterialsfor6differenttypesofwood,createonly1M_WoodBasematerial
withalltheTextures(diffuse,normal,specular,etc.)set-upasparameters.NowyoucancreateaMaterial
Instanceforeachtypeofwood.

KEEPTHEPROJECTCLEAN
Keeptheprojectascleanaspossibleandremoveallunusedfiles.Thiswillsaveupspaceanditwontcost
extracontenttobeloadedwhenpackagingtheproject.

BAKINGLIGHTMAPS
Bakinglightmapsisanexpensivetaskfortheprocessor.Tryoutlightsettingsonsmallersceneswithout
highpolypropsfirstbeforeyoustartbuildingafullscene.Thiswillsavetimeanddisappointmentinthe
end.

UNREALENGINEPROJECTWORKFLOW v0.1 14

You might also like