diff --git a/Content/Characters/Teuthisan/Animations/LS_Teuthisan_Crawl.uasset b/Content/Characters/Teuthisan/Animations/LS_Teuthisan_Crawl.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..e06e5a3226c87d4caedc5031155976d8963da651
Binary files /dev/null and b/Content/Characters/Teuthisan/Animations/LS_Teuthisan_Crawl.uasset differ
diff --git a/Content/Characters/Teuthisan/Animations/LS_Teuthisan_Death.uasset b/Content/Characters/Teuthisan/Animations/LS_Teuthisan_Death.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..b14efcb028b2486e4404d76ee2da73d96ae8f929
Binary files /dev/null and b/Content/Characters/Teuthisan/Animations/LS_Teuthisan_Death.uasset differ
diff --git a/Content/Characters/Teuthisan/Animations/LS_Teuthisan_Idle.uasset b/Content/Characters/Teuthisan/Animations/LS_Teuthisan_Idle.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..4ecee7888406a8d8e61e01350e0d64dc4468551f
Binary files /dev/null and b/Content/Characters/Teuthisan/Animations/LS_Teuthisan_Idle.uasset differ
diff --git a/Content/Characters/Teuthisan/Animations/LS_Teuthisan_Stand.uasset b/Content/Characters/Teuthisan/Animations/LS_Teuthisan_Stand.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..241d07d8bc0c8c77e26b1f4397e38a9d36cd0b12
Binary files /dev/null and b/Content/Characters/Teuthisan/Animations/LS_Teuthisan_Stand.uasset differ
diff --git a/Content/Characters/Teuthisan/Animations/MRQ/Idle.uasset b/Content/Characters/Teuthisan/Animations/MRQ/Idle.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..3d1694d27802c7e925c3c5d17a1110302999f44e
Binary files /dev/null and b/Content/Characters/Teuthisan/Animations/MRQ/Idle.uasset differ
diff --git a/Content/Characters/Teuthisan/BP_ControllerAI.uasset b/Content/Characters/Teuthisan/BP_ControllerAI.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..a4bc56e0f780599112b04ea3468bfe817d3ce3c4
Binary files /dev/null and b/Content/Characters/Teuthisan/BP_ControllerAI.uasset differ
diff --git a/Content/Characters/Teuthisan/BP_Enemy.uasset b/Content/Characters/Teuthisan/BP_Enemy.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..2be6f8731f080311c347c28d5eb10a6d4defa305
Binary files /dev/null and b/Content/Characters/Teuthisan/BP_Enemy.uasset differ
diff --git a/Content/Characters/Teuthisan/BP_Teuthisan.uasset b/Content/Characters/Teuthisan/BP_Teuthisan.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..150fc9c42ec35a6f8e96c0b63a9d13e0c92fc9c0
Binary files /dev/null and b/Content/Characters/Teuthisan/BP_Teuthisan.uasset differ
diff --git a/Content/Characters/Teuthisan/Materials/MI_Alien_Arms.uasset b/Content/Characters/Teuthisan/Materials/MI_Alien_Arms.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..e796cb2d3787ff593927fc110c6fd2fb4ed99456
Binary files /dev/null and b/Content/Characters/Teuthisan/Materials/MI_Alien_Arms.uasset differ
diff --git a/Content/Characters/Teuthisan/Materials/MI_Alien_Base.uasset b/Content/Characters/Teuthisan/Materials/MI_Alien_Base.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..48e4bb5498fc608bea57555ec1c88c62cede6356
Binary files /dev/null and b/Content/Characters/Teuthisan/Materials/MI_Alien_Base.uasset differ
diff --git a/Content/Characters/Teuthisan/Materials/MI_Alien_Legs.uasset b/Content/Characters/Teuthisan/Materials/MI_Alien_Legs.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..2c17fb6e7b547e5eb98368c3d88c4af8ad521057
Binary files /dev/null and b/Content/Characters/Teuthisan/Materials/MI_Alien_Legs.uasset differ
diff --git a/Content/Characters/Teuthisan/Materials/MI_Alien_Limbs.uasset b/Content/Characters/Teuthisan/Materials/MI_Alien_Limbs.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..b1131c149b1480f13639bba51a0e49e8c6dd3434
Binary files /dev/null and b/Content/Characters/Teuthisan/Materials/MI_Alien_Limbs.uasset differ
diff --git a/Content/Characters/Teuthisan/Materials/MI_Alien_Saliva.uasset b/Content/Characters/Teuthisan/Materials/MI_Alien_Saliva.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..028d0c2d03ef134c1c64daaa02d57f1a9d6c0a56
Binary files /dev/null and b/Content/Characters/Teuthisan/Materials/MI_Alien_Saliva.uasset differ
diff --git a/Content/Characters/Teuthisan/Materials/MI_Alien_Tentacles.uasset b/Content/Characters/Teuthisan/Materials/MI_Alien_Tentacles.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..a7bd9a3f8f9965090d65ab8ab3e8a419af9bc20f
Binary files /dev/null and b/Content/Characters/Teuthisan/Materials/MI_Alien_Tentacles.uasset differ
diff --git a/Content/Characters/Teuthisan/Materials/MI_Alien_Torso.uasset b/Content/Characters/Teuthisan/Materials/MI_Alien_Torso.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..e92087fe84db398d6c019f20fa17c05b9bd2a790
Binary files /dev/null and b/Content/Characters/Teuthisan/Materials/MI_Alien_Torso.uasset differ
diff --git a/Content/Characters/Teuthisan/Materials/M_Alien_Base.uasset b/Content/Characters/Teuthisan/Materials/M_Alien_Base.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..6bbff53a01b23e0564e215baef675bd85afcfa95
Binary files /dev/null and b/Content/Characters/Teuthisan/Materials/M_Alien_Base.uasset differ
diff --git a/Content/Characters/Teuthisan/Materials/M_Alien_Saliva.uasset b/Content/Characters/Teuthisan/Materials/M_Alien_Saliva.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..5ead6df98d19a491018abedab1b4c61e5591e421
Binary files /dev/null and b/Content/Characters/Teuthisan/Materials/M_Alien_Saliva.uasset differ
diff --git a/Content/Characters/Teuthisan/Materials/SP_Skin_Alien.uasset b/Content/Characters/Teuthisan/Materials/SP_Skin_Alien.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..85ae5668e2094a6940e6fa5a8813dc7d0e7c4ee6
Binary files /dev/null and b/Content/Characters/Teuthisan/Materials/SP_Skin_Alien.uasset differ
diff --git a/Content/Characters/Teuthisan/Rig/CR_Teuthisan_rig_v001.uasset b/Content/Characters/Teuthisan/Rig/CR_Teuthisan_rig_v001.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..00e49598ba1fba0dd024b414077fbdf01a738321
Binary files /dev/null and b/Content/Characters/Teuthisan/Rig/CR_Teuthisan_rig_v001.uasset differ
diff --git a/Content/Characters/Teuthisan/Rig/PA_Teuthisan_rig_v001.uasset b/Content/Characters/Teuthisan/Rig/PA_Teuthisan_rig_v001.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..2882f366b9032f94e7f6a41da339bec08b88b68f
Binary files /dev/null and b/Content/Characters/Teuthisan/Rig/PA_Teuthisan_rig_v001.uasset differ
diff --git a/Content/Characters/Teuthisan/Rig/SKM_Teuthisan_rig_v001.uasset b/Content/Characters/Teuthisan/Rig/SKM_Teuthisan_rig_v001.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..9fa2e44b7b976dc8e476585a6a3335902ab67fe2
Binary files /dev/null and b/Content/Characters/Teuthisan/Rig/SKM_Teuthisan_rig_v001.uasset differ
diff --git a/Content/Characters/Teuthisan/Rig/SK_Teuthisan_rig_v001.uasset b/Content/Characters/Teuthisan/Rig/SK_Teuthisan_rig_v001.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..ca5400d0bcf6a40a6685e3ef188c603c378d27ec
Binary files /dev/null and b/Content/Characters/Teuthisan/Rig/SK_Teuthisan_rig_v001.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Arms_AO.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Arms_AO.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..82479e65182095e24eb922601c6622bce563c1d7
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Arms_AO.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Arms_D.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Arms_D.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..bdc8aedfbbcffd72b4167d4bb5e9cb9c84e503fa
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Arms_D.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Arms_DP.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Arms_DP.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..e996a65d8d21457f49ce1a21105673803e91f39f
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Arms_DP.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Arms_N.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Arms_N.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..45f450a2b7803705295e3b591d2bc370de6c7907
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Arms_N.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Arms_R.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Arms_R.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..5a98b8a731ddae7c7da4f45b08a4cbebebf5ac11
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Arms_R.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Arms_S.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Arms_S.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..f1d20793e48c7a693e8e44549e3e06ee93feea5f
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Arms_S.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Arms_SSS_M.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Arms_SSS_M.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..4bf5829bc8ad9ab077811a8402b8fe7f9df360ed
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Arms_SSS_M.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Arms_cavity.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Arms_cavity.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..e090ac8e48bfdd09d67236ac9963a27a86a5d8dd
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Arms_cavity.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Legs_AO.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Legs_AO.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..47693e9132e07b777c7590b9d5227733974ccd04
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Legs_AO.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Legs_D.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Legs_D.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..f6f4a177780d6e12214ac4ae4a897276b553b671
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Legs_D.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Legs_DP.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Legs_DP.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..bedff44d02741f67312ddc330e858a9870b390ab
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Legs_DP.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Legs_N.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Legs_N.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..20ac71a5d5b19df2a3ec8885f84f7e56164d6fa0
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Legs_N.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Legs_R.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Legs_R.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..eeada8c58c5097dcbb5b70a841fc276ebf574fff
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Legs_R.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Legs_S.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Legs_S.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..a51bd47e81f3cee2f7243dfe707581a0afdcb43a
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Legs_S.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Legs_SSS_M.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Legs_SSS_M.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..85922554cbdf5423e07fe53a0ed8930def8ecbcd
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Legs_SSS_M.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Legs_cavity.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Legs_cavity.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..9b2db8c97cd13a6c694f90d451522aabdb329d71
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Legs_cavity.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Limbs_AO.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Limbs_AO.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..b9b296ff7cf2e7d825bbfcdb68fba87857b75a1b
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Limbs_AO.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Limbs_D.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Limbs_D.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..b76950b0ee334d2b61d8d0994343789e8254b0e8
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Limbs_D.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Limbs_DP.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Limbs_DP.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..202c7ce30de5ede77d81abb84cc621253847c4d6
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Limbs_DP.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Limbs_N.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Limbs_N.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..076037edd0878eb643a70a3afb0696c6d273e273
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Limbs_N.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Limbs_R.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Limbs_R.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..caf052b4bdd89da360ffeb6015e9a56510ac5729
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Limbs_R.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Limbs_S.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Limbs_S.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..aaada63dab723bdb4aca63b9d335aa3960909a28
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Limbs_S.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Limbs_SSS_M.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Limbs_SSS_M.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..c75127c8847a9f486998966af8e23f89ff6e0efa
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Limbs_SSS_M.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Limbs_cavity.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Limbs_cavity.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..66e9b3471e1dbbe6394c57407c753c34115af40e
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Limbs_cavity.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Tentacles_AO.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Tentacles_AO.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..944b4babc7d1060e1c0ae437b4c3b32f2a2a5102
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Tentacles_AO.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Tentacles_D.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Tentacles_D.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..e0b2fccd7dd4632b5361dce7f81a954edef8f6b0
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Tentacles_D.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Tentacles_DP.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Tentacles_DP.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..0e16892cf0b9e0ef68dd4ee4eb84a101d0e08bc8
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Tentacles_DP.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Tentacles_N.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Tentacles_N.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..7d7ae5e887eb45b8d9f15350c5cf2dc884d076ca
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Tentacles_N.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Tentacles_R.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Tentacles_R.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..238ba60b9ff8a493777b5ecb1a73419b46f116ec
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Tentacles_R.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Tentacles_S.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Tentacles_S.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..d7a24ca67e63472a4dffbce0527b746891d7894e
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Tentacles_S.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Tentacles_SSS_M.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Tentacles_SSS_M.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..8860b9a34091b4774d086cae7b929f5b54f2c8d7
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Tentacles_SSS_M.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Tentacles_cavity.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Tentacles_cavity.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..fbadd90b17d092169322f3e683b5c8b591e321fa
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Tentacles_cavity.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Torso_AO.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Torso_AO.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..089f14a57506971bc1b7f5e9fdaa7a4519803042
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Torso_AO.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Torso_D.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Torso_D.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..9cbab8d94bf21ab893b0fe2be8086d234a233897
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Torso_D.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Torso_DP.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Torso_DP.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..2448b67b725300930f072657cc0e18be741077fb
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Torso_DP.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Torso_N.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Torso_N.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..067a11c8ca1d6c96fed3245822b0fcab89c79c64
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Torso_N.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Torso_R.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Torso_R.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..b2074abaf23f671e62f5d707ccfe95bb152afde9
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Torso_R.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Torso_S.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Torso_S.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..24436cddf542e32cf150b949f0920b97ae52d634
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Torso_S.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Torso_SSS_M.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Torso_SSS_M.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..158426a0cd48d8c5ad3c44d909b988284e7095f6
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Torso_SSS_M.uasset differ
diff --git a/Content/Characters/Teuthisan/Textures/T_Alien_Torso_cavity.uasset b/Content/Characters/Teuthisan/Textures/T_Alien_Torso_cavity.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..5e4713d047bba4dac5b2f5a5ac73d5a388bc65dc
Binary files /dev/null and b/Content/Characters/Teuthisan/Textures/T_Alien_Torso_cavity.uasset differ
diff --git a/Content/NewMap.umap b/Content/NewMap.umap
index b56f0922190b4c1fc782e4827adfc85a7d0fcd89..134f4d851ec0a268fa70d4f664f5a61c95753993 100644
Binary files a/Content/NewMap.umap and b/Content/NewMap.umap differ
diff --git a/Intermediate/CachedAssetRegistry.bin b/Intermediate/CachedAssetRegistry.bin
index 8da9357e3d8aabc06b2575e10392566386421363..27f34cb8ff980213bf86acb122e8c92b64de5fd0 100644
Binary files a/Intermediate/CachedAssetRegistry.bin and b/Intermediate/CachedAssetRegistry.bin differ
diff --git a/Intermediate/ShaderAutogen/METAL_MACES3_1/AutogenShaderHeaders.ush b/Intermediate/ShaderAutogen/METAL_MACES3_1/AutogenShaderHeaders.ush
new file mode 100644
index 0000000000000000000000000000000000000000..6f85fd3178de19a1438fc23b369b2b9e64939761
--- /dev/null
+++ b/Intermediate/ShaderAutogen/METAL_MACES3_1/AutogenShaderHeaders.ush
@@ -0,0 +1,489 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+
+#pragma once
+
+#if FEATURE_LEVEL >= FEATURE_LEVEL_SM5
+float SampleDeviceZFromSceneTexturesTempCopy(float2 UV)
+{
+	return SceneDepthTexture.SampleLevel(SceneDepthTextureSampler, UV, 0).r;
+}
+#endif
+
+#ifndef GBUFFER_LAYOUT
+#define GBUFFER_LAYOUT 0
+#endif
+
+#if GBUFFER_LAYOUT == 0
+
+void EncodeGBufferToMRT(inout FPixelShaderOut Out, FGBufferData GBuffer, float QuantizationBias)
+{
+	float4 MrtFloat1 = 0.0f;
+	float4 MrtFloat2 = 0.0f;
+	uint4 MrtUint2 = 0;
+	float4 MrtFloat3 = 0.0f;
+	float4 MrtFloat4 = 0.0f;
+	float4 MrtFloat5 = 0.0f;
+
+	float3 WorldNormal_Compressed = EncodeNormalHelper(GBuffer.WorldNormal, 0.0f);
+
+	MrtFloat1.x = WorldNormal_Compressed.x;
+	MrtFloat1.y = WorldNormal_Compressed.y;
+	MrtFloat1.z = WorldNormal_Compressed.z;
+	MrtFloat1.w = GBuffer.PerObjectGBufferData.x;
+	MrtFloat2.x = GBuffer.Metallic.x;
+	MrtFloat2.y = GBuffer.Specular.x;
+	MrtFloat2.z = GBuffer.Roughness.x;
+	MrtUint2.w |= ((((GBuffer.ShadingModelID.x) >> 0) & 0x0f) << 0);
+	MrtUint2.w |= ((((GBuffer.SelectiveOutputMask.x) >> 0) & 0x0f) << 4);
+	MrtFloat3.x = GBuffer.BaseColor.x;
+	MrtFloat3.y = GBuffer.BaseColor.y;
+	MrtFloat3.z = GBuffer.BaseColor.z;
+	MrtFloat3.w = GBuffer.GenericAO.x;
+	MrtFloat5.x = GBuffer.PrecomputedShadowFactors.x;
+	MrtFloat5.y = GBuffer.PrecomputedShadowFactors.y;
+	MrtFloat5.z = GBuffer.PrecomputedShadowFactors.z;
+	MrtFloat5.w = GBuffer.PrecomputedShadowFactors.w;
+	MrtFloat4.x = GBuffer.CustomData.x;
+	MrtFloat4.y = GBuffer.CustomData.y;
+	MrtFloat4.z = GBuffer.CustomData.z;
+	MrtFloat4.w = GBuffer.CustomData.w;
+
+	Out.MRT[1] = MrtFloat1;
+	Out.MRT[2] = float4(MrtFloat2.x, MrtFloat2.y, MrtFloat2.z, float(MrtUint2.w) / 255.0f);
+	Out.MRT[3] = MrtFloat3;
+	Out.MRT[4] = MrtFloat4;
+	Out.MRT[5] = MrtFloat5;
+	Out.MRT[6] = float4(0.0f, 0.0f, 0.0f, 0.0f);
+	Out.MRT[7] = float4(0.0f, 0.0f, 0.0f, 0.0f);
+}
+
+
+FGBufferData  DecodeGBufferDataDirect(float4 InMRT1,
+	float4 InMRT2,
+	float4 InMRT3,
+	float4 InMRT4,
+	float4 InMRT5,
+		 
+	float CustomNativeDepth,
+	float4 AnisotropicData,
+	uint CustomStencil,
+	float SceneDepth,
+	bool bGetNormalizedNormal,
+	bool bChecker)
+{
+	FGBufferData Ret = (FGBufferData)0;
+	float3 WorldNormal_Compressed = 0.0f;
+	WorldNormal_Compressed.x = InMRT1.x;
+	WorldNormal_Compressed.y = InMRT1.y;
+	WorldNormal_Compressed.z = InMRT1.z;
+	Ret.PerObjectGBufferData.x = InMRT1.w;
+	Ret.Metallic.x = InMRT2.x;
+	Ret.Specular.x = InMRT2.y;
+	Ret.Roughness.x = InMRT2.z;
+	Ret.ShadingModelID.x = (((uint((float(InMRT2.w) * 255.0f) + .5f) >> 0) & 0x0f) << 0);
+	Ret.SelectiveOutputMask.x = (((uint((float(InMRT2.w) * 255.0f) + .5f) >> 4) & 0x0f) << 0);
+	Ret.BaseColor.x = InMRT3.x;
+	Ret.BaseColor.y = InMRT3.y;
+	Ret.BaseColor.z = InMRT3.z;
+	Ret.GenericAO.x = InMRT3.w;
+	Ret.PrecomputedShadowFactors.x = InMRT5.x;
+	Ret.PrecomputedShadowFactors.y = InMRT5.y;
+	Ret.PrecomputedShadowFactors.z = InMRT5.z;
+	Ret.PrecomputedShadowFactors.w = InMRT5.w;
+	Ret.CustomData.x = InMRT4.x;
+	Ret.CustomData.y = InMRT4.y;
+	Ret.CustomData.z = InMRT4.z;
+	Ret.CustomData.w = InMRT4.w;
+	
+	Ret.WorldNormal = DecodeNormalHelper(WorldNormal_Compressed);
+	Ret.WorldTangent = AnisotropicData.xyz;
+	Ret.Anisotropy = AnisotropicData.w;
+
+	GBufferPostDecode(Ret,bChecker,bGetNormalizedNormal);
+
+	Ret.CustomDepth = ConvertFromDeviceZ(CustomNativeDepth);
+	Ret.CustomStencil = CustomStencil;
+	Ret.Depth = SceneDepth;
+	
+
+	return Ret;
+}
+
+
+#if FEATURE_LEVEL >= FEATURE_LEVEL_SM5
+
+// @param PixelPos relative to left top of the rendertarget (not viewport)
+FGBufferData DecodeGBufferDataUV(float2 UV, bool bGetNormalizedNormal = true)
+{
+	float CustomNativeDepth = Texture2DSampleLevel(SceneTexturesStruct.CustomDepthTexture, SceneTexturesStruct_CustomDepthTextureSampler, UV, 0).r;
+	int2 IntUV = (int2)trunc(UV * View.BufferSizeAndInvSize.xy * View.BufferToSceneTextureScale.xy);
+	uint CustomStencil = SceneTexturesStruct.CustomStencilTexture.Load(int3(IntUV, 0)) STENCIL_COMPONENT_SWIZZLE;
+	float SceneDepth = CalcSceneDepth(UV);
+	float4 AnisotropicData = Texture2DSampleLevel(SceneTexturesStruct.GBufferFTexture, SceneTexturesStruct_GBufferFTextureSampler, UV, 0).xyzw;
+
+	float4 InMRT1 = Texture2DSampleLevel(SceneTexturesStruct.GBufferATexture, SceneTexturesStruct_GBufferATextureSampler, UV, 0).xyzw;
+	float4 InMRT2 = Texture2DSampleLevel(SceneTexturesStruct.GBufferBTexture, SceneTexturesStruct_GBufferBTextureSampler, UV, 0).xyzw;
+	float4 InMRT3 = Texture2DSampleLevel(SceneTexturesStruct.GBufferCTexture, SceneTexturesStruct_GBufferCTextureSampler, UV, 0).xyzw;
+	float4 InMRT4 = Texture2DSampleLevel(SceneTexturesStruct.GBufferDTexture, SceneTexturesStruct_GBufferDTextureSampler, UV, 0).xyzw;
+	float4 InMRT5 = Texture2DSampleLevel(SceneTexturesStruct.GBufferETexture, SceneTexturesStruct_GBufferETextureSampler, UV, 0).xyzw;
+
+	FGBufferData Ret = DecodeGBufferDataDirect(InMRT1,
+		InMRT2,
+		InMRT3,
+		InMRT4,
+		InMRT5,
+		 
+		CustomNativeDepth,
+		AnisotropicData,
+		CustomStencil,
+		SceneDepth,
+		bGetNormalizedNormal,
+		CheckerFromSceneColorUV(UV));
+
+	return Ret;
+}
+
+
+// @param PixelPos relative to left top of the rendertarget (not viewport)
+FGBufferData DecodeGBufferDataUint(uint2 PixelPos, bool bGetNormalizedNormal = true)
+{
+	float CustomNativeDepth = SceneTexturesStruct.CustomDepthTexture.Load(int3(PixelPos, 0)).r;
+	uint CustomStencil = SceneTexturesStruct.CustomStencilTexture.Load(int3(PixelPos, 0)) STENCIL_COMPONENT_SWIZZLE;
+	float SceneDepth = CalcSceneDepth(PixelPos);
+	float4 AnisotropicData = SceneTexturesStruct.GBufferFTexture.Load(int3(PixelPos, 0)).xyzw;
+
+	float4 InMRT1 = SceneTexturesStruct.GBufferATexture.Load(int3(PixelPos, 0)).xyzw;
+	float4 InMRT2 = SceneTexturesStruct.GBufferBTexture.Load(int3(PixelPos, 0)).xyzw;
+	float4 InMRT3 = SceneTexturesStruct.GBufferCTexture.Load(int3(PixelPos, 0)).xyzw;
+	float4 InMRT4 = SceneTexturesStruct.GBufferDTexture.Load(int3(PixelPos, 0)).xyzw;
+	float4 InMRT5 = SceneTexturesStruct.GBufferETexture.Load(int3(PixelPos, 0)).xyzw;
+
+	FGBufferData Ret = DecodeGBufferDataDirect(InMRT1,
+		InMRT2,
+		InMRT3,
+		InMRT4,
+		InMRT5,
+		 
+		CustomNativeDepth,
+		AnisotropicData,
+		CustomStencil,
+		SceneDepth,
+		bGetNormalizedNormal,
+		CheckerFromPixelPos(PixelPos));
+
+	return Ret;
+}
+
+
+// @param PixelPos relative to left top of the rendertarget (not viewport)
+FGBufferData DecodeGBufferDataSceneTextures(float2 UV, bool bGetNormalizedNormal = true)
+{
+	uint CustomStencil = 0;
+	float CustomNativeDepth = 0;
+	float DeviceZ = SampleDeviceZFromSceneTexturesTempCopy(UV);
+	float SceneDepth = ConvertFromDeviceZ(DeviceZ);
+	float4 AnisotropicData = GBufferFTexture.SampleLevel(GBufferFTextureSampler, UV, 0).xyzw;
+
+	float4 InMRT1 = GBufferATexture.SampleLevel(GBufferATextureSampler, UV, 0).xyzw;
+	float4 InMRT2 = GBufferBTexture.SampleLevel(GBufferBTextureSampler, UV, 0).xyzw;
+	float4 InMRT3 = GBufferCTexture.SampleLevel(GBufferCTextureSampler, UV, 0).xyzw;
+	float4 InMRT4 = GBufferDTexture.SampleLevel(GBufferDTextureSampler, UV, 0).xyzw;
+	float4 InMRT5 = GBufferETexture.SampleLevel(GBufferETextureSampler, UV, 0).xyzw;
+
+	FGBufferData Ret = DecodeGBufferDataDirect(InMRT1,
+		InMRT2,
+		InMRT3,
+		InMRT4,
+		InMRT5,
+		 
+		CustomNativeDepth,
+		AnisotropicData,
+		CustomStencil,
+		SceneDepth,
+		bGetNormalizedNormal,
+		CheckerFromSceneColorUV(UV));
+
+	return Ret;
+}
+
+
+// @param PixelPos relative to left top of the rendertarget (not viewport)
+FGBufferData DecodeGBufferDataSceneTexturesLoad(uint2 PixelCoord, bool bGetNormalizedNormal = true)
+{
+	uint CustomStencil = 0;
+	float CustomNativeDepth = 0;
+	float DeviceZ = SceneDepthTexture.Load(int3(PixelCoord, 0)).r;
+	float SceneDepth = ConvertFromDeviceZ(DeviceZ);
+	float4 AnisotropicData = GBufferFTexture.Load(int3(PixelCoord, 0)).xyzw;
+
+	float4 InMRT1 = GBufferATexture.Load(int3(PixelCoord, 0)).xyzw;
+	float4 InMRT2 = GBufferBTexture.Load(int3(PixelCoord, 0)).xyzw;
+	float4 InMRT3 = GBufferCTexture.Load(int3(PixelCoord, 0)).xyzw;
+	float4 InMRT4 = GBufferDTexture.Load(int3(PixelCoord, 0)).xyzw;
+	float4 InMRT5 = GBufferETexture.Load(int3(PixelCoord, 0)).xyzw;
+
+	FGBufferData Ret = DecodeGBufferDataDirect(InMRT1,
+		InMRT2,
+		InMRT3,
+		InMRT4,
+		InMRT5,
+		 
+		CustomNativeDepth,
+		AnisotropicData,
+		CustomStencil,
+		SceneDepth,
+		bGetNormalizedNormal,
+		CheckerFromPixelPos(PixelCoord));
+
+	return Ret;
+}
+
+
+#endif
+
+#endif
+
+#if GBUFFER_LAYOUT == 1
+
+void EncodeGBufferToMRT(inout FPixelShaderOut Out, FGBufferData GBuffer, float QuantizationBias)
+{
+	float4 MrtFloat1 = 0.0f;
+	float4 MrtFloat2 = 0.0f;
+	uint4 MrtUint2 = 0;
+	float4 MrtFloat3 = 0.0f;
+	float2 MrtFloat4 = 0.0f;
+	float4 MrtFloat5 = 0.0f;
+	float4 MrtFloat6 = 0.0f;
+
+	float3 WorldNormal_Compressed = EncodeNormalHelper(GBuffer.WorldNormal, 0.0f);
+
+	MrtFloat1.x = WorldNormal_Compressed.x;
+	MrtFloat1.y = WorldNormal_Compressed.y;
+	MrtFloat1.z = WorldNormal_Compressed.z;
+	MrtFloat1.w = GBuffer.PerObjectGBufferData.x;
+	MrtFloat2.x = GBuffer.Metallic.x;
+	MrtFloat2.y = GBuffer.Specular.x;
+	MrtFloat2.z = GBuffer.Roughness.x;
+	MrtUint2.w |= ((((GBuffer.ShadingModelID.x) >> 0) & 0x0f) << 0);
+	MrtUint2.w |= ((((GBuffer.SelectiveOutputMask.x) >> 0) & 0x0f) << 4);
+	MrtFloat3.x = GBuffer.BaseColor.x;
+	MrtFloat3.y = GBuffer.BaseColor.y;
+	MrtFloat3.z = GBuffer.BaseColor.z;
+	MrtFloat3.w = GBuffer.GenericAO.x;
+	MrtFloat4.x = GBuffer.Velocity.x;
+	MrtFloat4.y = GBuffer.Velocity.y;
+	MrtFloat6.x = GBuffer.PrecomputedShadowFactors.x;
+	MrtFloat6.y = GBuffer.PrecomputedShadowFactors.y;
+	MrtFloat6.z = GBuffer.PrecomputedShadowFactors.z;
+	MrtFloat6.w = GBuffer.PrecomputedShadowFactors.w;
+	MrtFloat5.x = GBuffer.CustomData.x;
+	MrtFloat5.y = GBuffer.CustomData.y;
+	MrtFloat5.z = GBuffer.CustomData.z;
+	MrtFloat5.w = GBuffer.CustomData.w;
+
+	Out.MRT[1] = MrtFloat1;
+	Out.MRT[2] = float4(MrtFloat2.x, MrtFloat2.y, MrtFloat2.z, float(MrtUint2.w) / 255.0f);
+	Out.MRT[3] = MrtFloat3;
+	Out.MRT[4] = float4(MrtFloat4.x, MrtFloat4.y, 0.0f, 0.0f);
+	Out.MRT[5] = MrtFloat5;
+	Out.MRT[6] = MrtFloat6;
+	Out.MRT[7] = float4(0.0f, 0.0f, 0.0f, 0.0f);
+}
+
+
+FGBufferData  DecodeGBufferDataDirect(float4 InMRT1,
+	float4 InMRT2,
+	float4 InMRT3,
+	float2 InMRT4,
+	float4 InMRT5,
+	float4 InMRT6,
+		 
+	float CustomNativeDepth,
+	float4 AnisotropicData,
+	uint CustomStencil,
+	float SceneDepth,
+	bool bGetNormalizedNormal,
+	bool bChecker)
+{
+	FGBufferData Ret = (FGBufferData)0;
+	float3 WorldNormal_Compressed = 0.0f;
+	WorldNormal_Compressed.x = InMRT1.x;
+	WorldNormal_Compressed.y = InMRT1.y;
+	WorldNormal_Compressed.z = InMRT1.z;
+	Ret.PerObjectGBufferData.x = InMRT1.w;
+	Ret.Metallic.x = InMRT2.x;
+	Ret.Specular.x = InMRT2.y;
+	Ret.Roughness.x = InMRT2.z;
+	Ret.ShadingModelID.x = (((uint((float(InMRT2.w) * 255.0f) + .5f) >> 0) & 0x0f) << 0);
+	Ret.SelectiveOutputMask.x = (((uint((float(InMRT2.w) * 255.0f) + .5f) >> 4) & 0x0f) << 0);
+	Ret.BaseColor.x = InMRT3.x;
+	Ret.BaseColor.y = InMRT3.y;
+	Ret.BaseColor.z = InMRT3.z;
+	Ret.GenericAO.x = InMRT3.w;
+	Ret.Velocity.x = InMRT4.x;
+	Ret.Velocity.y = InMRT4.y;
+	Ret.PrecomputedShadowFactors.x = InMRT6.x;
+	Ret.PrecomputedShadowFactors.y = InMRT6.y;
+	Ret.PrecomputedShadowFactors.z = InMRT6.z;
+	Ret.PrecomputedShadowFactors.w = InMRT6.w;
+	Ret.CustomData.x = InMRT5.x;
+	Ret.CustomData.y = InMRT5.y;
+	Ret.CustomData.z = InMRT5.z;
+	Ret.CustomData.w = InMRT5.w;
+	
+	Ret.WorldNormal = DecodeNormalHelper(WorldNormal_Compressed);
+	Ret.WorldTangent = AnisotropicData.xyz;
+	Ret.Anisotropy = AnisotropicData.w;
+
+	GBufferPostDecode(Ret,bChecker,bGetNormalizedNormal);
+
+	Ret.CustomDepth = ConvertFromDeviceZ(CustomNativeDepth);
+	Ret.CustomStencil = CustomStencil;
+	Ret.Depth = SceneDepth;
+	
+
+	return Ret;
+}
+
+
+#if FEATURE_LEVEL >= FEATURE_LEVEL_SM5
+
+// @param PixelPos relative to left top of the rendertarget (not viewport)
+FGBufferData DecodeGBufferDataUV(float2 UV, bool bGetNormalizedNormal = true)
+{
+	float CustomNativeDepth = Texture2DSampleLevel(SceneTexturesStruct.CustomDepthTexture, SceneTexturesStruct_CustomDepthTextureSampler, UV, 0).r;
+	int2 IntUV = (int2)trunc(UV * View.BufferSizeAndInvSize.xy * View.BufferToSceneTextureScale.xy);
+	uint CustomStencil = SceneTexturesStruct.CustomStencilTexture.Load(int3(IntUV, 0)) STENCIL_COMPONENT_SWIZZLE;
+	float SceneDepth = CalcSceneDepth(UV);
+	float4 AnisotropicData = Texture2DSampleLevel(SceneTexturesStruct.GBufferFTexture, SceneTexturesStruct_GBufferFTextureSampler, UV, 0).xyzw;
+
+	float4 InMRT1 = Texture2DSampleLevel(SceneTexturesStruct.GBufferATexture, SceneTexturesStruct_GBufferATextureSampler, UV, 0).xyzw;
+	float4 InMRT2 = Texture2DSampleLevel(SceneTexturesStruct.GBufferBTexture, SceneTexturesStruct_GBufferBTextureSampler, UV, 0).xyzw;
+	float4 InMRT3 = Texture2DSampleLevel(SceneTexturesStruct.GBufferCTexture, SceneTexturesStruct_GBufferCTextureSampler, UV, 0).xyzw;
+	float2 InMRT4 = Texture2DSampleLevel(SceneTexturesStruct.GBufferVelocityTexture, SceneTexturesStruct_GBufferVelocityTextureSampler, UV, 0).xy;
+	float4 InMRT5 = Texture2DSampleLevel(SceneTexturesStruct.GBufferDTexture, SceneTexturesStruct_GBufferDTextureSampler, UV, 0).xyzw;
+	float4 InMRT6 = Texture2DSampleLevel(SceneTexturesStruct.GBufferETexture, SceneTexturesStruct_GBufferETextureSampler, UV, 0).xyzw;
+
+	FGBufferData Ret = DecodeGBufferDataDirect(InMRT1,
+		InMRT2,
+		InMRT3,
+		InMRT4,
+		InMRT5,
+		InMRT6,
+		 
+		CustomNativeDepth,
+		AnisotropicData,
+		CustomStencil,
+		SceneDepth,
+		bGetNormalizedNormal,
+		CheckerFromSceneColorUV(UV));
+
+	return Ret;
+}
+
+
+// @param PixelPos relative to left top of the rendertarget (not viewport)
+FGBufferData DecodeGBufferDataUint(uint2 PixelPos, bool bGetNormalizedNormal = true)
+{
+	float CustomNativeDepth = SceneTexturesStruct.CustomDepthTexture.Load(int3(PixelPos, 0)).r;
+	uint CustomStencil = SceneTexturesStruct.CustomStencilTexture.Load(int3(PixelPos, 0)) STENCIL_COMPONENT_SWIZZLE;
+	float SceneDepth = CalcSceneDepth(PixelPos);
+	float4 AnisotropicData = SceneTexturesStruct.GBufferFTexture.Load(int3(PixelPos, 0)).xyzw;
+
+	float4 InMRT1 = SceneTexturesStruct.GBufferATexture.Load(int3(PixelPos, 0)).xyzw;
+	float4 InMRT2 = SceneTexturesStruct.GBufferBTexture.Load(int3(PixelPos, 0)).xyzw;
+	float4 InMRT3 = SceneTexturesStruct.GBufferCTexture.Load(int3(PixelPos, 0)).xyzw;
+	float2 InMRT4 = SceneTexturesStruct.GBufferVelocityTexture.Load(int3(PixelPos, 0)).xy;
+	float4 InMRT5 = SceneTexturesStruct.GBufferDTexture.Load(int3(PixelPos, 0)).xyzw;
+	float4 InMRT6 = SceneTexturesStruct.GBufferETexture.Load(int3(PixelPos, 0)).xyzw;
+
+	FGBufferData Ret = DecodeGBufferDataDirect(InMRT1,
+		InMRT2,
+		InMRT3,
+		InMRT4,
+		InMRT5,
+		InMRT6,
+		 
+		CustomNativeDepth,
+		AnisotropicData,
+		CustomStencil,
+		SceneDepth,
+		bGetNormalizedNormal,
+		CheckerFromPixelPos(PixelPos));
+
+	return Ret;
+}
+
+
+// @param PixelPos relative to left top of the rendertarget (not viewport)
+FGBufferData DecodeGBufferDataSceneTextures(float2 UV, bool bGetNormalizedNormal = true)
+{
+	uint CustomStencil = 0;
+	float CustomNativeDepth = 0;
+	float DeviceZ = SampleDeviceZFromSceneTexturesTempCopy(UV);
+	float SceneDepth = ConvertFromDeviceZ(DeviceZ);
+	float4 AnisotropicData = GBufferFTexture.SampleLevel(GBufferFTextureSampler, UV, 0).xyzw;
+
+	float4 InMRT1 = GBufferATexture.SampleLevel(GBufferATextureSampler, UV, 0).xyzw;
+	float4 InMRT2 = GBufferBTexture.SampleLevel(GBufferBTextureSampler, UV, 0).xyzw;
+	float4 InMRT3 = GBufferCTexture.SampleLevel(GBufferCTextureSampler, UV, 0).xyzw;
+	float2 InMRT4 = GBufferVelocityTexture.SampleLevel(GBufferVelocityTextureSampler, UV, 0).xy;
+	float4 InMRT5 = GBufferDTexture.SampleLevel(GBufferDTextureSampler, UV, 0).xyzw;
+	float4 InMRT6 = GBufferETexture.SampleLevel(GBufferETextureSampler, UV, 0).xyzw;
+
+	FGBufferData Ret = DecodeGBufferDataDirect(InMRT1,
+		InMRT2,
+		InMRT3,
+		InMRT4,
+		InMRT5,
+		InMRT6,
+		 
+		CustomNativeDepth,
+		AnisotropicData,
+		CustomStencil,
+		SceneDepth,
+		bGetNormalizedNormal,
+		CheckerFromSceneColorUV(UV));
+
+	return Ret;
+}
+
+
+// @param PixelPos relative to left top of the rendertarget (not viewport)
+FGBufferData DecodeGBufferDataSceneTexturesLoad(uint2 PixelCoord, bool bGetNormalizedNormal = true)
+{
+	uint CustomStencil = 0;
+	float CustomNativeDepth = 0;
+	float DeviceZ = SceneDepthTexture.Load(int3(PixelCoord, 0)).r;
+	float SceneDepth = ConvertFromDeviceZ(DeviceZ);
+	float4 AnisotropicData = GBufferFTexture.Load(int3(PixelCoord, 0)).xyzw;
+
+	float4 InMRT1 = GBufferATexture.Load(int3(PixelCoord, 0)).xyzw;
+	float4 InMRT2 = GBufferBTexture.Load(int3(PixelCoord, 0)).xyzw;
+	float4 InMRT3 = GBufferCTexture.Load(int3(PixelCoord, 0)).xyzw;
+	float2 InMRT4 = GBufferVelocityTexture.Load(int3(PixelCoord, 0)).xy;
+	float4 InMRT5 = GBufferDTexture.Load(int3(PixelCoord, 0)).xyzw;
+	float4 InMRT6 = GBufferETexture.Load(int3(PixelCoord, 0)).xyzw;
+
+	FGBufferData Ret = DecodeGBufferDataDirect(InMRT1,
+		InMRT2,
+		InMRT3,
+		InMRT4,
+		InMRT5,
+		InMRT6,
+		 
+		CustomNativeDepth,
+		AnisotropicData,
+		CustomStencil,
+		SceneDepth,
+		bGetNormalizedNormal,
+		CheckerFromPixelPos(PixelCoord));
+
+	return Ret;
+}
+
+
+#endif
+
+#endif
+
diff --git a/Intermediate/ShaderAutogen/METAL_SM5/AutogenShaderHeaders.ush b/Intermediate/ShaderAutogen/METAL_SM5/AutogenShaderHeaders.ush
new file mode 100644
index 0000000000000000000000000000000000000000..f5fd9e14a7db11da2d910d99b32feecee23f89df
--- /dev/null
+++ b/Intermediate/ShaderAutogen/METAL_SM5/AutogenShaderHeaders.ush
@@ -0,0 +1,511 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+
+#pragma once
+
+#if FEATURE_LEVEL >= FEATURE_LEVEL_SM5
+float SampleDeviceZFromSceneTexturesTempCopy(float2 UV)
+{
+	return SceneDepthTexture.SampleLevel(SceneDepthTextureSampler, UV, 0).r;
+}
+#endif
+
+#ifndef GBUFFER_LAYOUT
+#define GBUFFER_LAYOUT 0
+#endif
+
+#if GBUFFER_LAYOUT == 0
+
+void EncodeGBufferToMRT(inout FPixelShaderOut Out, FGBufferData GBuffer, float QuantizationBias)
+{
+	float4 MrtFloat1 = 0.0f;
+	float4 MrtFloat2 = 0.0f;
+	uint4 MrtUint2 = 0;
+	float4 MrtFloat3 = 0.0f;
+	float4 MrtFloat4 = 0.0f;
+	float4 MrtFloat5 = 0.0f;
+	float4 MrtFloat6 = 0.0f;
+
+	float3 WorldNormal_Compressed = EncodeNormalHelper(GBuffer.WorldNormal, 0.0f);
+
+	MrtFloat1.x = WorldNormal_Compressed.x;
+	MrtFloat1.y = WorldNormal_Compressed.y;
+	MrtFloat1.z = WorldNormal_Compressed.z;
+	MrtFloat1.w = GBuffer.PerObjectGBufferData.x;
+	MrtFloat2.x = GBuffer.Metallic.x;
+	MrtFloat2.y = GBuffer.Specular.x;
+	MrtFloat2.z = GBuffer.Roughness.x;
+	MrtUint2.w |= ((((GBuffer.ShadingModelID.x) >> 0) & 0x0f) << 0);
+	MrtUint2.w |= ((((GBuffer.SelectiveOutputMask.x) >> 0) & 0x0f) << 4);
+	MrtFloat3.x = GBuffer.BaseColor.x;
+	MrtFloat3.y = GBuffer.BaseColor.y;
+	MrtFloat3.z = GBuffer.BaseColor.z;
+	MrtFloat3.w = GBuffer.GenericAO.x;
+	MrtFloat4.x = GBuffer.Velocity.x;
+	MrtFloat4.y = GBuffer.Velocity.y;
+	MrtFloat4.z = GBuffer.Velocity.z;
+	MrtFloat4.w = GBuffer.Velocity.w;
+	MrtFloat6.x = GBuffer.PrecomputedShadowFactors.x;
+	MrtFloat6.y = GBuffer.PrecomputedShadowFactors.y;
+	MrtFloat6.z = GBuffer.PrecomputedShadowFactors.z;
+	MrtFloat6.w = GBuffer.PrecomputedShadowFactors.w;
+	MrtFloat5.x = GBuffer.CustomData.x;
+	MrtFloat5.y = GBuffer.CustomData.y;
+	MrtFloat5.z = GBuffer.CustomData.z;
+	MrtFloat5.w = GBuffer.CustomData.w;
+
+	Out.MRT[1] = MrtFloat1;
+	Out.MRT[2] = float4(MrtFloat2.x, MrtFloat2.y, MrtFloat2.z, float(MrtUint2.w) / 255.0f);
+	Out.MRT[3] = MrtFloat3;
+	Out.MRT[4] = MrtFloat4;
+	Out.MRT[5] = MrtFloat5;
+	Out.MRT[6] = MrtFloat6;
+	Out.MRT[7] = float4(0.0f, 0.0f, 0.0f, 0.0f);
+}
+
+
+FGBufferData  DecodeGBufferDataDirect(float4 InMRT1,
+	float4 InMRT2,
+	float4 InMRT3,
+	float4 InMRT4,
+	float4 InMRT5,
+	float4 InMRT6,
+		 
+	float CustomNativeDepth,
+	float4 AnisotropicData,
+	uint CustomStencil,
+	float SceneDepth,
+	bool bGetNormalizedNormal,
+	bool bChecker)
+{
+	FGBufferData Ret = (FGBufferData)0;
+	float3 WorldNormal_Compressed = 0.0f;
+	WorldNormal_Compressed.x = InMRT1.x;
+	WorldNormal_Compressed.y = InMRT1.y;
+	WorldNormal_Compressed.z = InMRT1.z;
+	Ret.PerObjectGBufferData.x = InMRT1.w;
+	Ret.Metallic.x = InMRT2.x;
+	Ret.Specular.x = InMRT2.y;
+	Ret.Roughness.x = InMRT2.z;
+	Ret.ShadingModelID.x = (((uint((float(InMRT2.w) * 255.0f) + .5f) >> 0) & 0x0f) << 0);
+	Ret.SelectiveOutputMask.x = (((uint((float(InMRT2.w) * 255.0f) + .5f) >> 4) & 0x0f) << 0);
+	Ret.BaseColor.x = InMRT3.x;
+	Ret.BaseColor.y = InMRT3.y;
+	Ret.BaseColor.z = InMRT3.z;
+	Ret.GenericAO.x = InMRT3.w;
+	Ret.Velocity.x = InMRT4.x;
+	Ret.Velocity.y = InMRT4.y;
+	Ret.Velocity.z = InMRT4.z;
+	Ret.Velocity.w = InMRT4.w;
+	Ret.PrecomputedShadowFactors.x = InMRT6.x;
+	Ret.PrecomputedShadowFactors.y = InMRT6.y;
+	Ret.PrecomputedShadowFactors.z = InMRT6.z;
+	Ret.PrecomputedShadowFactors.w = InMRT6.w;
+	Ret.CustomData.x = InMRT5.x;
+	Ret.CustomData.y = InMRT5.y;
+	Ret.CustomData.z = InMRT5.z;
+	Ret.CustomData.w = InMRT5.w;
+	
+	Ret.WorldNormal = DecodeNormalHelper(WorldNormal_Compressed);
+	Ret.WorldTangent = AnisotropicData.xyz;
+	Ret.Anisotropy = AnisotropicData.w;
+
+	GBufferPostDecode(Ret,bChecker,bGetNormalizedNormal);
+
+	Ret.CustomDepth = ConvertFromDeviceZ(CustomNativeDepth);
+	Ret.CustomStencil = CustomStencil;
+	Ret.Depth = SceneDepth;
+	
+
+	return Ret;
+}
+
+
+#if FEATURE_LEVEL >= FEATURE_LEVEL_SM5
+
+// @param PixelPos relative to left top of the rendertarget (not viewport)
+FGBufferData DecodeGBufferDataUV(float2 UV, bool bGetNormalizedNormal = true)
+{
+	float CustomNativeDepth = Texture2DSampleLevel(SceneTexturesStruct.CustomDepthTexture, SceneTexturesStruct_CustomDepthTextureSampler, UV, 0).r;
+	int2 IntUV = (int2)trunc(UV * View.BufferSizeAndInvSize.xy * View.BufferToSceneTextureScale.xy);
+	uint CustomStencil = SceneTexturesStruct.CustomStencilTexture.Load(int3(IntUV, 0)) STENCIL_COMPONENT_SWIZZLE;
+	float SceneDepth = CalcSceneDepth(UV);
+	float4 AnisotropicData = Texture2DSampleLevel(SceneTexturesStruct.GBufferFTexture, SceneTexturesStruct_GBufferFTextureSampler, UV, 0).xyzw;
+
+	float4 InMRT1 = Texture2DSampleLevel(SceneTexturesStruct.GBufferATexture, SceneTexturesStruct_GBufferATextureSampler, UV, 0).xyzw;
+	float4 InMRT2 = Texture2DSampleLevel(SceneTexturesStruct.GBufferBTexture, SceneTexturesStruct_GBufferBTextureSampler, UV, 0).xyzw;
+	float4 InMRT3 = Texture2DSampleLevel(SceneTexturesStruct.GBufferCTexture, SceneTexturesStruct_GBufferCTextureSampler, UV, 0).xyzw;
+	float4 InMRT4 = Texture2DSampleLevel(SceneTexturesStruct.GBufferVelocityTexture, SceneTexturesStruct_GBufferVelocityTextureSampler, UV, 0).xyzw;
+	float4 InMRT5 = Texture2DSampleLevel(SceneTexturesStruct.GBufferDTexture, SceneTexturesStruct_GBufferDTextureSampler, UV, 0).xyzw;
+	float4 InMRT6 = Texture2DSampleLevel(SceneTexturesStruct.GBufferETexture, SceneTexturesStruct_GBufferETextureSampler, UV, 0).xyzw;
+
+	FGBufferData Ret = DecodeGBufferDataDirect(InMRT1,
+		InMRT2,
+		InMRT3,
+		InMRT4,
+		InMRT5,
+		InMRT6,
+		 
+		CustomNativeDepth,
+		AnisotropicData,
+		CustomStencil,
+		SceneDepth,
+		bGetNormalizedNormal,
+		CheckerFromSceneColorUV(UV));
+
+	return Ret;
+}
+
+
+// @param PixelPos relative to left top of the rendertarget (not viewport)
+FGBufferData DecodeGBufferDataUint(uint2 PixelPos, bool bGetNormalizedNormal = true)
+{
+	float CustomNativeDepth = SceneTexturesStruct.CustomDepthTexture.Load(int3(PixelPos, 0)).r;
+	uint CustomStencil = SceneTexturesStruct.CustomStencilTexture.Load(int3(PixelPos, 0)) STENCIL_COMPONENT_SWIZZLE;
+	float SceneDepth = CalcSceneDepth(PixelPos);
+	float4 AnisotropicData = SceneTexturesStruct.GBufferFTexture.Load(int3(PixelPos, 0)).xyzw;
+
+	float4 InMRT1 = SceneTexturesStruct.GBufferATexture.Load(int3(PixelPos, 0)).xyzw;
+	float4 InMRT2 = SceneTexturesStruct.GBufferBTexture.Load(int3(PixelPos, 0)).xyzw;
+	float4 InMRT3 = SceneTexturesStruct.GBufferCTexture.Load(int3(PixelPos, 0)).xyzw;
+	float4 InMRT4 = SceneTexturesStruct.GBufferVelocityTexture.Load(int3(PixelPos, 0)).xyzw;
+	float4 InMRT5 = SceneTexturesStruct.GBufferDTexture.Load(int3(PixelPos, 0)).xyzw;
+	float4 InMRT6 = SceneTexturesStruct.GBufferETexture.Load(int3(PixelPos, 0)).xyzw;
+
+	FGBufferData Ret = DecodeGBufferDataDirect(InMRT1,
+		InMRT2,
+		InMRT3,
+		InMRT4,
+		InMRT5,
+		InMRT6,
+		 
+		CustomNativeDepth,
+		AnisotropicData,
+		CustomStencil,
+		SceneDepth,
+		bGetNormalizedNormal,
+		CheckerFromPixelPos(PixelPos));
+
+	return Ret;
+}
+
+
+// @param PixelPos relative to left top of the rendertarget (not viewport)
+FGBufferData DecodeGBufferDataSceneTextures(float2 UV, bool bGetNormalizedNormal = true)
+{
+	uint CustomStencil = 0;
+	float CustomNativeDepth = 0;
+	float DeviceZ = SampleDeviceZFromSceneTexturesTempCopy(UV);
+	float SceneDepth = ConvertFromDeviceZ(DeviceZ);
+	float4 AnisotropicData = GBufferFTexture.SampleLevel(GBufferFTextureSampler, UV, 0).xyzw;
+
+	float4 InMRT1 = GBufferATexture.SampleLevel(GBufferATextureSampler, UV, 0).xyzw;
+	float4 InMRT2 = GBufferBTexture.SampleLevel(GBufferBTextureSampler, UV, 0).xyzw;
+	float4 InMRT3 = GBufferCTexture.SampleLevel(GBufferCTextureSampler, UV, 0).xyzw;
+	float4 InMRT4 = GBufferVelocityTexture.SampleLevel(GBufferVelocityTextureSampler, UV, 0).xyzw;
+	float4 InMRT5 = GBufferDTexture.SampleLevel(GBufferDTextureSampler, UV, 0).xyzw;
+	float4 InMRT6 = GBufferETexture.SampleLevel(GBufferETextureSampler, UV, 0).xyzw;
+
+	FGBufferData Ret = DecodeGBufferDataDirect(InMRT1,
+		InMRT2,
+		InMRT3,
+		InMRT4,
+		InMRT5,
+		InMRT6,
+		 
+		CustomNativeDepth,
+		AnisotropicData,
+		CustomStencil,
+		SceneDepth,
+		bGetNormalizedNormal,
+		CheckerFromSceneColorUV(UV));
+
+	return Ret;
+}
+
+
+// @param PixelPos relative to left top of the rendertarget (not viewport)
+FGBufferData DecodeGBufferDataSceneTexturesLoad(uint2 PixelCoord, bool bGetNormalizedNormal = true)
+{
+	uint CustomStencil = 0;
+	float CustomNativeDepth = 0;
+	float DeviceZ = SceneDepthTexture.Load(int3(PixelCoord, 0)).r;
+	float SceneDepth = ConvertFromDeviceZ(DeviceZ);
+	float4 AnisotropicData = GBufferFTexture.Load(int3(PixelCoord, 0)).xyzw;
+
+	float4 InMRT1 = GBufferATexture.Load(int3(PixelCoord, 0)).xyzw;
+	float4 InMRT2 = GBufferBTexture.Load(int3(PixelCoord, 0)).xyzw;
+	float4 InMRT3 = GBufferCTexture.Load(int3(PixelCoord, 0)).xyzw;
+	float4 InMRT4 = GBufferVelocityTexture.Load(int3(PixelCoord, 0)).xyzw;
+	float4 InMRT5 = GBufferDTexture.Load(int3(PixelCoord, 0)).xyzw;
+	float4 InMRT6 = GBufferETexture.Load(int3(PixelCoord, 0)).xyzw;
+
+	FGBufferData Ret = DecodeGBufferDataDirect(InMRT1,
+		InMRT2,
+		InMRT3,
+		InMRT4,
+		InMRT5,
+		InMRT6,
+		 
+		CustomNativeDepth,
+		AnisotropicData,
+		CustomStencil,
+		SceneDepth,
+		bGetNormalizedNormal,
+		CheckerFromPixelPos(PixelCoord));
+
+	return Ret;
+}
+
+
+#endif
+
+#endif
+
+#if GBUFFER_LAYOUT == 1
+
+void EncodeGBufferToMRT(inout FPixelShaderOut Out, FGBufferData GBuffer, float QuantizationBias)
+{
+	float4 MrtFloat1 = 0.0f;
+	float4 MrtFloat2 = 0.0f;
+	uint4 MrtUint2 = 0;
+	float4 MrtFloat3 = 0.0f;
+	float4 MrtFloat4 = 0.0f;
+	float4 MrtFloat5 = 0.0f;
+	float4 MrtFloat6 = 0.0f;
+
+	float3 WorldNormal_Compressed = EncodeNormalHelper(GBuffer.WorldNormal, 0.0f);
+
+	MrtFloat1.x = WorldNormal_Compressed.x;
+	MrtFloat1.y = WorldNormal_Compressed.y;
+	MrtFloat1.z = WorldNormal_Compressed.z;
+	MrtFloat1.w = GBuffer.PerObjectGBufferData.x;
+	MrtFloat2.x = GBuffer.Metallic.x;
+	MrtFloat2.y = GBuffer.Specular.x;
+	MrtFloat2.z = GBuffer.Roughness.x;
+	MrtUint2.w |= ((((GBuffer.ShadingModelID.x) >> 0) & 0x0f) << 0);
+	MrtUint2.w |= ((((GBuffer.SelectiveOutputMask.x) >> 0) & 0x0f) << 4);
+	MrtFloat3.x = GBuffer.BaseColor.x;
+	MrtFloat3.y = GBuffer.BaseColor.y;
+	MrtFloat3.z = GBuffer.BaseColor.z;
+	MrtFloat3.w = GBuffer.GenericAO.x;
+	MrtFloat4.x = GBuffer.Velocity.x;
+	MrtFloat4.y = GBuffer.Velocity.y;
+	MrtFloat4.z = GBuffer.Velocity.z;
+	MrtFloat4.w = GBuffer.Velocity.w;
+	MrtFloat6.x = GBuffer.PrecomputedShadowFactors.x;
+	MrtFloat6.y = GBuffer.PrecomputedShadowFactors.y;
+	MrtFloat6.z = GBuffer.PrecomputedShadowFactors.z;
+	MrtFloat6.w = GBuffer.PrecomputedShadowFactors.w;
+	MrtFloat5.x = GBuffer.CustomData.x;
+	MrtFloat5.y = GBuffer.CustomData.y;
+	MrtFloat5.z = GBuffer.CustomData.z;
+	MrtFloat5.w = GBuffer.CustomData.w;
+
+	Out.MRT[1] = MrtFloat1;
+	Out.MRT[2] = float4(MrtFloat2.x, MrtFloat2.y, MrtFloat2.z, float(MrtUint2.w) / 255.0f);
+	Out.MRT[3] = MrtFloat3;
+	Out.MRT[4] = MrtFloat4;
+	Out.MRT[5] = MrtFloat5;
+	Out.MRT[6] = MrtFloat6;
+	Out.MRT[7] = float4(0.0f, 0.0f, 0.0f, 0.0f);
+}
+
+
+FGBufferData  DecodeGBufferDataDirect(float4 InMRT1,
+	float4 InMRT2,
+	float4 InMRT3,
+	float4 InMRT4,
+	float4 InMRT5,
+	float4 InMRT6,
+		 
+	float CustomNativeDepth,
+	float4 AnisotropicData,
+	uint CustomStencil,
+	float SceneDepth,
+	bool bGetNormalizedNormal,
+	bool bChecker)
+{
+	FGBufferData Ret = (FGBufferData)0;
+	float3 WorldNormal_Compressed = 0.0f;
+	WorldNormal_Compressed.x = InMRT1.x;
+	WorldNormal_Compressed.y = InMRT1.y;
+	WorldNormal_Compressed.z = InMRT1.z;
+	Ret.PerObjectGBufferData.x = InMRT1.w;
+	Ret.Metallic.x = InMRT2.x;
+	Ret.Specular.x = InMRT2.y;
+	Ret.Roughness.x = InMRT2.z;
+	Ret.ShadingModelID.x = (((uint((float(InMRT2.w) * 255.0f) + .5f) >> 0) & 0x0f) << 0);
+	Ret.SelectiveOutputMask.x = (((uint((float(InMRT2.w) * 255.0f) + .5f) >> 4) & 0x0f) << 0);
+	Ret.BaseColor.x = InMRT3.x;
+	Ret.BaseColor.y = InMRT3.y;
+	Ret.BaseColor.z = InMRT3.z;
+	Ret.GenericAO.x = InMRT3.w;
+	Ret.Velocity.x = InMRT4.x;
+	Ret.Velocity.y = InMRT4.y;
+	Ret.Velocity.z = InMRT4.z;
+	Ret.Velocity.w = InMRT4.w;
+	Ret.PrecomputedShadowFactors.x = InMRT6.x;
+	Ret.PrecomputedShadowFactors.y = InMRT6.y;
+	Ret.PrecomputedShadowFactors.z = InMRT6.z;
+	Ret.PrecomputedShadowFactors.w = InMRT6.w;
+	Ret.CustomData.x = InMRT5.x;
+	Ret.CustomData.y = InMRT5.y;
+	Ret.CustomData.z = InMRT5.z;
+	Ret.CustomData.w = InMRT5.w;
+	
+	Ret.WorldNormal = DecodeNormalHelper(WorldNormal_Compressed);
+	Ret.WorldTangent = AnisotropicData.xyz;
+	Ret.Anisotropy = AnisotropicData.w;
+
+	GBufferPostDecode(Ret,bChecker,bGetNormalizedNormal);
+
+	Ret.CustomDepth = ConvertFromDeviceZ(CustomNativeDepth);
+	Ret.CustomStencil = CustomStencil;
+	Ret.Depth = SceneDepth;
+	
+
+	return Ret;
+}
+
+
+#if FEATURE_LEVEL >= FEATURE_LEVEL_SM5
+
+// @param PixelPos relative to left top of the rendertarget (not viewport)
+FGBufferData DecodeGBufferDataUV(float2 UV, bool bGetNormalizedNormal = true)
+{
+	float CustomNativeDepth = Texture2DSampleLevel(SceneTexturesStruct.CustomDepthTexture, SceneTexturesStruct_CustomDepthTextureSampler, UV, 0).r;
+	int2 IntUV = (int2)trunc(UV * View.BufferSizeAndInvSize.xy * View.BufferToSceneTextureScale.xy);
+	uint CustomStencil = SceneTexturesStruct.CustomStencilTexture.Load(int3(IntUV, 0)) STENCIL_COMPONENT_SWIZZLE;
+	float SceneDepth = CalcSceneDepth(UV);
+	float4 AnisotropicData = Texture2DSampleLevel(SceneTexturesStruct.GBufferFTexture, SceneTexturesStruct_GBufferFTextureSampler, UV, 0).xyzw;
+
+	float4 InMRT1 = Texture2DSampleLevel(SceneTexturesStruct.GBufferATexture, SceneTexturesStruct_GBufferATextureSampler, UV, 0).xyzw;
+	float4 InMRT2 = Texture2DSampleLevel(SceneTexturesStruct.GBufferBTexture, SceneTexturesStruct_GBufferBTextureSampler, UV, 0).xyzw;
+	float4 InMRT3 = Texture2DSampleLevel(SceneTexturesStruct.GBufferCTexture, SceneTexturesStruct_GBufferCTextureSampler, UV, 0).xyzw;
+	float4 InMRT4 = Texture2DSampleLevel(SceneTexturesStruct.GBufferVelocityTexture, SceneTexturesStruct_GBufferVelocityTextureSampler, UV, 0).xyzw;
+	float4 InMRT5 = Texture2DSampleLevel(SceneTexturesStruct.GBufferDTexture, SceneTexturesStruct_GBufferDTextureSampler, UV, 0).xyzw;
+	float4 InMRT6 = Texture2DSampleLevel(SceneTexturesStruct.GBufferETexture, SceneTexturesStruct_GBufferETextureSampler, UV, 0).xyzw;
+
+	FGBufferData Ret = DecodeGBufferDataDirect(InMRT1,
+		InMRT2,
+		InMRT3,
+		InMRT4,
+		InMRT5,
+		InMRT6,
+		 
+		CustomNativeDepth,
+		AnisotropicData,
+		CustomStencil,
+		SceneDepth,
+		bGetNormalizedNormal,
+		CheckerFromSceneColorUV(UV));
+
+	return Ret;
+}
+
+
+// @param PixelPos relative to left top of the rendertarget (not viewport)
+FGBufferData DecodeGBufferDataUint(uint2 PixelPos, bool bGetNormalizedNormal = true)
+{
+	float CustomNativeDepth = SceneTexturesStruct.CustomDepthTexture.Load(int3(PixelPos, 0)).r;
+	uint CustomStencil = SceneTexturesStruct.CustomStencilTexture.Load(int3(PixelPos, 0)) STENCIL_COMPONENT_SWIZZLE;
+	float SceneDepth = CalcSceneDepth(PixelPos);
+	float4 AnisotropicData = SceneTexturesStruct.GBufferFTexture.Load(int3(PixelPos, 0)).xyzw;
+
+	float4 InMRT1 = SceneTexturesStruct.GBufferATexture.Load(int3(PixelPos, 0)).xyzw;
+	float4 InMRT2 = SceneTexturesStruct.GBufferBTexture.Load(int3(PixelPos, 0)).xyzw;
+	float4 InMRT3 = SceneTexturesStruct.GBufferCTexture.Load(int3(PixelPos, 0)).xyzw;
+	float4 InMRT4 = SceneTexturesStruct.GBufferVelocityTexture.Load(int3(PixelPos, 0)).xyzw;
+	float4 InMRT5 = SceneTexturesStruct.GBufferDTexture.Load(int3(PixelPos, 0)).xyzw;
+	float4 InMRT6 = SceneTexturesStruct.GBufferETexture.Load(int3(PixelPos, 0)).xyzw;
+
+	FGBufferData Ret = DecodeGBufferDataDirect(InMRT1,
+		InMRT2,
+		InMRT3,
+		InMRT4,
+		InMRT5,
+		InMRT6,
+		 
+		CustomNativeDepth,
+		AnisotropicData,
+		CustomStencil,
+		SceneDepth,
+		bGetNormalizedNormal,
+		CheckerFromPixelPos(PixelPos));
+
+	return Ret;
+}
+
+
+// @param PixelPos relative to left top of the rendertarget (not viewport)
+FGBufferData DecodeGBufferDataSceneTextures(float2 UV, bool bGetNormalizedNormal = true)
+{
+	uint CustomStencil = 0;
+	float CustomNativeDepth = 0;
+	float DeviceZ = SampleDeviceZFromSceneTexturesTempCopy(UV);
+	float SceneDepth = ConvertFromDeviceZ(DeviceZ);
+	float4 AnisotropicData = GBufferFTexture.SampleLevel(GBufferFTextureSampler, UV, 0).xyzw;
+
+	float4 InMRT1 = GBufferATexture.SampleLevel(GBufferATextureSampler, UV, 0).xyzw;
+	float4 InMRT2 = GBufferBTexture.SampleLevel(GBufferBTextureSampler, UV, 0).xyzw;
+	float4 InMRT3 = GBufferCTexture.SampleLevel(GBufferCTextureSampler, UV, 0).xyzw;
+	float4 InMRT4 = GBufferVelocityTexture.SampleLevel(GBufferVelocityTextureSampler, UV, 0).xyzw;
+	float4 InMRT5 = GBufferDTexture.SampleLevel(GBufferDTextureSampler, UV, 0).xyzw;
+	float4 InMRT6 = GBufferETexture.SampleLevel(GBufferETextureSampler, UV, 0).xyzw;
+
+	FGBufferData Ret = DecodeGBufferDataDirect(InMRT1,
+		InMRT2,
+		InMRT3,
+		InMRT4,
+		InMRT5,
+		InMRT6,
+		 
+		CustomNativeDepth,
+		AnisotropicData,
+		CustomStencil,
+		SceneDepth,
+		bGetNormalizedNormal,
+		CheckerFromSceneColorUV(UV));
+
+	return Ret;
+}
+
+
+// @param PixelPos relative to left top of the rendertarget (not viewport)
+FGBufferData DecodeGBufferDataSceneTexturesLoad(uint2 PixelCoord, bool bGetNormalizedNormal = true)
+{
+	uint CustomStencil = 0;
+	float CustomNativeDepth = 0;
+	float DeviceZ = SceneDepthTexture.Load(int3(PixelCoord, 0)).r;
+	float SceneDepth = ConvertFromDeviceZ(DeviceZ);
+	float4 AnisotropicData = GBufferFTexture.Load(int3(PixelCoord, 0)).xyzw;
+
+	float4 InMRT1 = GBufferATexture.Load(int3(PixelCoord, 0)).xyzw;
+	float4 InMRT2 = GBufferBTexture.Load(int3(PixelCoord, 0)).xyzw;
+	float4 InMRT3 = GBufferCTexture.Load(int3(PixelCoord, 0)).xyzw;
+	float4 InMRT4 = GBufferVelocityTexture.Load(int3(PixelCoord, 0)).xyzw;
+	float4 InMRT5 = GBufferDTexture.Load(int3(PixelCoord, 0)).xyzw;
+	float4 InMRT6 = GBufferETexture.Load(int3(PixelCoord, 0)).xyzw;
+
+	FGBufferData Ret = DecodeGBufferDataDirect(InMRT1,
+		InMRT2,
+		InMRT3,
+		InMRT4,
+		InMRT5,
+		InMRT6,
+		 
+		CustomNativeDepth,
+		AnisotropicData,
+		CustomStencil,
+		SceneDepth,
+		bGetNormalizedNormal,
+		CheckerFromPixelPos(PixelCoord));
+
+	return Ret;
+}
+
+
+#endif
+
+#endif
+
diff --git a/Intermediate/TargetInfo.json b/Intermediate/TargetInfo.json
new file mode 100644
index 0000000000000000000000000000000000000000..24459b7b0631c5484774a87508e4554988941108
--- /dev/null
+++ b/Intermediate/TargetInfo.json
@@ -0,0 +1,24 @@
+{
+	"Targets": [
+		{
+			"Name": "DotNetPerforceLib",
+			"Path": "/Users/Shared/Epic Games/UE_5.2/Engine/Source/Programs/Shared/EpicGames.Perforce.Native/DotNetPerforceLib.Target.cs",
+			"Type": "Program"
+		},
+		{
+			"Name": "UnrealHeaderTool",
+			"Path": "/Users/Shared/Epic Games/UE_5.2/Engine/Source/Programs/UnrealHeaderTool/UnrealHeaderTool.Target.cs",
+			"Type": "Program"
+		},
+		{
+			"Name": "UnrealEditor",
+			"Path": "/Users/Shared/Epic Games/UE_5.2/Engine/Source/UnrealEditor.Target.cs",
+			"Type": "Editor"
+		},
+		{
+			"Name": "UnrealGame",
+			"Path": "/Users/Shared/Epic Games/UE_5.2/Engine/Source/UnrealGame.Target.cs",
+			"Type": "Game"
+		}
+	]
+}
\ No newline at end of file
diff --git a/Saved/Autosaves/Game/Characters/Teuthisan/BP_ControllerAI_Auto3.uasset b/Saved/Autosaves/Game/Characters/Teuthisan/BP_ControllerAI_Auto3.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..6f3ac7a2ac76ca6ffc2870de15c113a421a722f8
Binary files /dev/null and b/Saved/Autosaves/Game/Characters/Teuthisan/BP_ControllerAI_Auto3.uasset differ
diff --git a/Saved/Autosaves/Game/Characters/Teuthisan/BP_Enemy_Auto4.uasset b/Saved/Autosaves/Game/Characters/Teuthisan/BP_Enemy_Auto4.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..0902c662d213f075f35f3a2b20666fe19396bdc0
Binary files /dev/null and b/Saved/Autosaves/Game/Characters/Teuthisan/BP_Enemy_Auto4.uasset differ
diff --git a/Saved/Autosaves/Game/Characters/Teuthisan/BP_Teuthisan_Auto1.uasset b/Saved/Autosaves/Game/Characters/Teuthisan/BP_Teuthisan_Auto1.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..91496ef51f63c0408dc8e93054d14d0192a2febc
Binary files /dev/null and b/Saved/Autosaves/Game/Characters/Teuthisan/BP_Teuthisan_Auto1.uasset differ
diff --git a/Saved/Autosaves/Game/Characters/Teuthisan/BP_Teuthisan_Auto2.uasset b/Saved/Autosaves/Game/Characters/Teuthisan/BP_Teuthisan_Auto2.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..313f08673cb9b2be5231dbdedf6b13cc1b4c6c4e
Binary files /dev/null and b/Saved/Autosaves/Game/Characters/Teuthisan/BP_Teuthisan_Auto2.uasset differ
diff --git a/Saved/Autosaves/Game/Characters/Teuthisan/BP_Teuthisan_Auto3.uasset b/Saved/Autosaves/Game/Characters/Teuthisan/BP_Teuthisan_Auto3.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..08b6929fdddd74aa89cc65f5c0951649707f295f
Binary files /dev/null and b/Saved/Autosaves/Game/Characters/Teuthisan/BP_Teuthisan_Auto3.uasset differ
diff --git a/Saved/Autosaves/Game/Characters/Teuthisan/BP_Teuthisan_Auto4.uasset b/Saved/Autosaves/Game/Characters/Teuthisan/BP_Teuthisan_Auto4.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..56c006a636d7de8cbde75c70576f635ce80fec7b
Binary files /dev/null and b/Saved/Autosaves/Game/Characters/Teuthisan/BP_Teuthisan_Auto4.uasset differ
diff --git a/Saved/Autosaves/Game/NewMap_Auto1.umap b/Saved/Autosaves/Game/NewMap_Auto1.umap
new file mode 100644
index 0000000000000000000000000000000000000000..c4f41eec0bb2a1e7745bc5a55dd98a420505d92e
Binary files /dev/null and b/Saved/Autosaves/Game/NewMap_Auto1.umap differ
diff --git a/Saved/Autosaves/Game/__ExternalActors__/NewMap/3/UC/7TBIORH5HKE5O9X54UP1V7_Auto1.uasset b/Saved/Autosaves/Game/__ExternalActors__/NewMap/3/UC/7TBIORH5HKE5O9X54UP1V7_Auto1.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..5598b5fe00a111af4a4443733a86faf5d8bcef90
Binary files /dev/null and b/Saved/Autosaves/Game/__ExternalActors__/NewMap/3/UC/7TBIORH5HKE5O9X54UP1V7_Auto1.uasset differ
diff --git a/Saved/Autosaves/Game/__ExternalActors__/NewMap/3/UC/7TBIORH5HKE5O9X54UP1V7_Auto2.uasset b/Saved/Autosaves/Game/__ExternalActors__/NewMap/3/UC/7TBIORH5HKE5O9X54UP1V7_Auto2.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..0636c307e793820a3a6b44932623987a8bec1768
Binary files /dev/null and b/Saved/Autosaves/Game/__ExternalActors__/NewMap/3/UC/7TBIORH5HKE5O9X54UP1V7_Auto2.uasset differ
diff --git a/Saved/Autosaves/Game/__ExternalActors__/NewMap/3/UC/7TBIORH5HKE5O9X54UP1V7_Auto3.uasset b/Saved/Autosaves/Game/__ExternalActors__/NewMap/3/UC/7TBIORH5HKE5O9X54UP1V7_Auto3.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..9c97dd1e07d73a6d1bf86d0c60a0827229422a8a
Binary files /dev/null and b/Saved/Autosaves/Game/__ExternalActors__/NewMap/3/UC/7TBIORH5HKE5O9X54UP1V7_Auto3.uasset differ
diff --git a/Saved/Autosaves/Game/__ExternalActors__/NewMap/3/UC/7TBIORH5HKE5O9X54UP1V7_Auto4.uasset b/Saved/Autosaves/Game/__ExternalActors__/NewMap/3/UC/7TBIORH5HKE5O9X54UP1V7_Auto4.uasset
new file mode 100644
index 0000000000000000000000000000000000000000..ca53cfe30ca20f640ba5c3b94c128951efa25d9a
Binary files /dev/null and b/Saved/Autosaves/Game/__ExternalActors__/NewMap/3/UC/7TBIORH5HKE5O9X54UP1V7_Auto4.uasset differ
diff --git a/Saved/Autosaves/PackageRestoreData.json b/Saved/Autosaves/PackageRestoreData.json
index c036c07e64a7843fd9ad9df9afa192b5e4d413cc..a6c4643629c0eaacfd08b959f450e734986da3e6 100644
Binary files a/Saved/Autosaves/PackageRestoreData.json and b/Saved/Autosaves/PackageRestoreData.json differ
diff --git a/Saved/Config/CrashReportClient/UECC-Mac-996BBC595145E171086E809216AE2AB3/CrashReportClient.ini b/Saved/Config/CrashReportClient/UECC-Mac-996BBC595145E171086E809216AE2AB3/CrashReportClient.ini
new file mode 100644
index 0000000000000000000000000000000000000000..473a41439b29202798802a7aadbc787558601e03
--- /dev/null
+++ b/Saved/Config/CrashReportClient/UECC-Mac-996BBC595145E171086E809216AE2AB3/CrashReportClient.ini
@@ -0,0 +1,5 @@
+[CrashReportClient]
+bHideLogFilesOption=false
+bIsAllowedToCloseWithoutSending=true
+CrashConfigPurgeDays=2
+
diff --git a/Saved/Config/CrashReportClient/UECC-Mac-FF39962A1748D78887AAD08EC2A9EE69/CrashReportClient.ini b/Saved/Config/CrashReportClient/UECC-Mac-FF39962A1748D78887AAD08EC2A9EE69/CrashReportClient.ini
new file mode 100644
index 0000000000000000000000000000000000000000..473a41439b29202798802a7aadbc787558601e03
--- /dev/null
+++ b/Saved/Config/CrashReportClient/UECC-Mac-FF39962A1748D78887AAD08EC2A9EE69/CrashReportClient.ini
@@ -0,0 +1,5 @@
+[CrashReportClient]
+bHideLogFilesOption=false
+bIsAllowedToCloseWithoutSending=true
+CrashConfigPurgeDays=2
+
diff --git a/Saved/Config/MacEditor/EditorPerProjectUserSettings.ini b/Saved/Config/MacEditor/EditorPerProjectUserSettings.ini
new file mode 100644
index 0000000000000000000000000000000000000000..8eb0a8b9d53843bdaaf97b57c2f6820ab4d52d6f
--- /dev/null
+++ b/Saved/Config/MacEditor/EditorPerProjectUserSettings.ini
@@ -0,0 +1,672 @@
+[/Script/UnrealEd.EditorStyleSettings]
+bColorVisionDeficiencyCorrection=False
+bColorVisionDeficiencyCorrectionPreviewWithDeficiency=False
+SelectionColor=(R=0.828000,G=0.364000,B=0.003000,A=1.000000)
+bEnableEditorWindowBackgroundColor=False
+EditorWindowBackgroundColor=(R=1.000000,G=1.000000,B=1.000000,A=1.000000)
+bUseGrid=True
+RegularColor=(R=0.035000,G=0.035000,B=0.035000,A=1.000000)
+RuleColor=(R=0.008000,G=0.008000,B=0.008000,A=1.000000)
+CenterColor=(R=0.000000,G=0.000000,B=0.000000,A=1.000000)
+GridSnapSize=16
+GraphBackgroundBrush=(bIsDynamicallyLoaded=False,DrawAs=Image,Tiling=NoTile,Mirroring=NoMirror,ImageType=NoImage,ImageSize=(X=32.000000,Y=32.000000),Margin=(Left=0.000000,Top=0.000000,Right=0.000000,Bottom=0.000000),TintColor=(SpecifiedColor=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),ColorUseRule=UseColor_Specified),OutlineSettings=(CornerRadii=(X=0.000000,Y=0.000000,Z=0.000000,W=1.000000),Color=(SpecifiedColor=(R=0.000000,G=0.000000,B=0.000000,A=0.000000),ColorUseRule=UseColor_Specified),Width=0.000000,RoundingType=HalfHeightRadius,bUseBrushTransparency=False),ResourceObject=None,ResourceName="",UVRegion=(Min=(X=0.000000,Y=0.000000),Max=(X=0.000000,Y=0.000000),bIsValid=False))
+bShowNativeComponentNames=True
+AssetEditorOpenLocation=Default
+bEnableColorizedEditorTabs=True
+CurrentAppliedTheme=134380265FBB4A9CA00A1DC9770217B8
+
+[/Script/UnrealEd.LevelEditorPlaySettings]
+LaptopScreenResolutions=(Description="Apple MacBook Air 11",Width=1366,Height=768,AspectRatio="16:9",bCanSwapAspectRatio=True,ProfileName="")
+LaptopScreenResolutions=(Description="Apple MacBook Air 13\"",Width=1440,Height=900,AspectRatio="16:10",bCanSwapAspectRatio=True,ProfileName="")
+LaptopScreenResolutions=(Description="Apple MacBook Pro 13\"",Width=1280,Height=800,AspectRatio="16:10",bCanSwapAspectRatio=True,ProfileName="")
+LaptopScreenResolutions=(Description="Apple MacBook Pro 13\" (Retina)",Width=2560,Height=1600,AspectRatio="16:10",bCanSwapAspectRatio=True,ProfileName="")
+LaptopScreenResolutions=(Description="Apple MacBook Pro 15\"",Width=1440,Height=900,AspectRatio="16:10",bCanSwapAspectRatio=True,ProfileName="")
+LaptopScreenResolutions=(Description="Apple MacBook Pro 15\" (Retina)",Width=2880,Height=1800,AspectRatio="16:10",bCanSwapAspectRatio=True,ProfileName="")
+LaptopScreenResolutions=(Description="Generic 14-15.6\" Notebook",Width=1366,Height=768,AspectRatio="16:9",bCanSwapAspectRatio=True,ProfileName="")
+MonitorScreenResolutions=(Description="19\" monitor",Width=1440,Height=900,AspectRatio="16:10",bCanSwapAspectRatio=True,ProfileName="")
+MonitorScreenResolutions=(Description="20\" monitor",Width=1600,Height=900,AspectRatio="16:9",bCanSwapAspectRatio=True,ProfileName="")
+MonitorScreenResolutions=(Description="22\" monitor",Width=1680,Height=1050,AspectRatio="16:10",bCanSwapAspectRatio=True,ProfileName="")
+MonitorScreenResolutions=(Description="21.5-24\" monitor",Width=1920,Height=1080,AspectRatio="16:9",bCanSwapAspectRatio=True,ProfileName="")
+MonitorScreenResolutions=(Description="27\" monitor",Width=2560,Height=1440,AspectRatio="16:9",bCanSwapAspectRatio=True,ProfileName="")
+TabletScreenResolutions=(Description="iPad Pro 12.9-inch (3rd gen.)",Width=1024,Height=1366,AspectRatio="~3:4",bCanSwapAspectRatio=True,ProfileName="iPadPro3_129")
+TabletScreenResolutions=(Description="iPad Pro 12.9-inch (2nd gen.)",Width=1024,Height=1366,AspectRatio="~3:4",bCanSwapAspectRatio=True,ProfileName="iPadPro2_129")
+TabletScreenResolutions=(Description="iPad Pro 11-inch",Width=834,Height=1194,AspectRatio="5:7",bCanSwapAspectRatio=True,ProfileName="iPadPro11")
+TabletScreenResolutions=(Description="iPad Pro 10.5-inch",Width=834,Height=1112,AspectRatio="3:4",bCanSwapAspectRatio=True,ProfileName="iPadPro105")
+TabletScreenResolutions=(Description="iPad Pro 12.9-inch",Width=1024,Height=1366,AspectRatio="3:4",bCanSwapAspectRatio=True,ProfileName="iPadPro129")
+TabletScreenResolutions=(Description="iPad Pro 9.7-inch",Width=768,Height=1024,AspectRatio="3:4",bCanSwapAspectRatio=True,ProfileName="iPadPro97")
+TabletScreenResolutions=(Description="iPad (6th gen.)",Width=768,Height=1024,AspectRatio="3:4",bCanSwapAspectRatio=True,ProfileName="iPad6")
+TabletScreenResolutions=(Description="iPad (5th gen.)",Width=768,Height=1024,AspectRatio="3:4",bCanSwapAspectRatio=True,ProfileName="iPad5")
+TabletScreenResolutions=(Description="iPad Air 3",Width=768,Height=1024,AspectRatio="3:4",bCanSwapAspectRatio=True,ProfileName="iPadAir3")
+TabletScreenResolutions=(Description="iPad Air 2",Width=768,Height=1024,AspectRatio="3:4",bCanSwapAspectRatio=True,ProfileName="iPadAir2")
+TabletScreenResolutions=(Description="iPad Mini 5",Width=768,Height=1024,AspectRatio="3:4",bCanSwapAspectRatio=True,ProfileName="iPadMini5")
+TabletScreenResolutions=(Description="iPad Mini 4",Width=768,Height=1024,AspectRatio="3:4",bCanSwapAspectRatio=True,ProfileName="iPadMini4")
+TabletScreenResolutions=(Description="LG G Pad X 8.0",Width=768,Height=1366,AspectRatio="9:16",bCanSwapAspectRatio=True,ProfileName="")
+TabletScreenResolutions=(Description="Asus Zenpad 3s 10",Width=768,Height=1366,AspectRatio="9:16",bCanSwapAspectRatio=True,ProfileName="")
+TabletScreenResolutions=(Description="Huawei MediaPad M3",Width=768,Height=1366,AspectRatio="9:16",bCanSwapAspectRatio=True,ProfileName="")
+TabletScreenResolutions=(Description="Microsoft Surface RT",Width=768,Height=1366,AspectRatio="9:16",bCanSwapAspectRatio=True,ProfileName="")
+TabletScreenResolutions=(Description="Microsoft Surface Pro",Width=1080,Height=1920,AspectRatio="9:16",bCanSwapAspectRatio=True,ProfileName="")
+TelevisionScreenResolutions=(Description="720p (HDTV, Blu-ray)",Width=1280,Height=720,AspectRatio="16:9",bCanSwapAspectRatio=True,ProfileName="")
+TelevisionScreenResolutions=(Description="1080i, 1080p (HDTV, Blu-ray)",Width=1920,Height=1080,AspectRatio="16:9",bCanSwapAspectRatio=True,ProfileName="")
+TelevisionScreenResolutions=(Description="4K Ultra HD",Width=3840,Height=2160,AspectRatio="16:9",bCanSwapAspectRatio=True,ProfileName="")
+TelevisionScreenResolutions=(Description="4K Digital Cinema",Width=4096,Height=2160,AspectRatio="1.90:1",bCanSwapAspectRatio=True,ProfileName="")
+GameGetsMouseControl=False
+UseMouseForTouch=False
+MouseControlLabelPosition=LabelAnchorMode_TopLeft
+ViewportGetsHMDControl=False
+bShouldMinimizeEditorOnNonVRPIE=False
+bEmulateStereo=False
+SoloAudioInFirstPIEClient=False
+EnablePIEEnterAndExitSounds=False
+PlayInEditorSoundQualityLevel=0
+bUseNonRealtimeAudioDevice=False
+bPreferToStreamLevelsInPIE=False
+bPromoteOutputLogWarningsDuringPIE=False
+NewWindowPosition=(X=-1,Y=-1)
+PIEAlwaysOnTop=False
+DisableStandaloneSound=False
+AdditionalLaunchParameters=
+BuildGameBeforeLaunch=PlayOnBuild_Default
+LaunchConfiguration=LaunchConfig_Default
+PackFilesForLaunch=NoPak
+bAutoCompileBlueprintsOnLaunch=True
+bLaunchSeparateServer=False
+PlayNetMode=PIE_Standalone
+RunUnderOneProcess=True
+PlayNetDedicated=False
+PlayNumberOfClients=1
+PrimaryPIEClientIndex=0
+ServerPort=17777
+ClientWindowWidth=640
+AutoConnectToServer=True
+RouteGamepadToSecondWindow=False
+CreateAudioDeviceForEveryPlayer=False
+ClientWindowHeight=480
+ServerMapNameOverride=
+AdditionalServerGameOptions=
+AdditionalLaunchOptions=
+bShowServerDebugDrawingByDefault=True
+ServerDebugDrawingColorTintStrength=0.000000
+ServerDebugDrawingColorTint=(R=0.000000,G=0.000000,B=0.000000,A=1.000000)
+AdditionalServerLaunchParameters=
+ServerFixedFPS=0
+NetworkEmulationSettings=(bIsNetworkEmulationEnabled=False,EmulationTarget=Server,CurrentProfile="Custom",OutPackets=(MinLatency=0,MaxLatency=0,PacketLossPercentage=0),InPackets=(MinLatency=0,MaxLatency=0,PacketLossPercentage=0))
+LastSize=(X=0,Y=0)
+LastExecutedLaunchDevice=Mac@Melanies-Mac.local
+LastExecutedLaunchName=Melanies-Mac.local
+LastExecutedPIEPreviewDevice=
+DeviceToEmulate=
+PIESafeZoneOverride=(Left=0.000000,Top=0.000000,Right=0.000000,Bottom=0.000000)
+
+[MRU]
+MRUItem0=/Game/NewMap
+
+[DetailCustomWidgetExpansion]
+BP_Enemy_C=BP_Enemy_C.TransformCommon.Transform,BP_Enemy_C.Materials.MaterialList,BP_Enemy_C.Physics.ConstraintsGroup
+SkeletalMeshComponent=BP_Enemy_C.TransformCommon.Transform,BP_Enemy_C.Materials.MaterialList,BP_Enemy_C.Physics.ConstraintsGroup
+PawnSensingComponent=BP_Enemy_C.TransformCommon.Transform,BP_Enemy_C.Materials.MaterialList,BP_Enemy_C.Physics.ConstraintsGroup
+BoxComponent=BP_Enemy_C.TransformCommon.Transform,BP_Enemy_C.Materials.MaterialList,BP_Enemy_C.Physics.ConstraintsGroup
+PropertyWrapper=BP_Enemy_C.TransformCommon.Transform,BP_Enemy_C.Materials.MaterialList,BP_Enemy_C.Physics.ConstraintsGroup
+
+[EditorStartup]
+LastLevel=/Game/NewMap
+
+[DetailCategories]
+GeneralProjectSettings.About=True
+GeneralProjectSettings.Publisher=True
+GeneralProjectSettings.Legal=True
+GeneralProjectSettings.Displayed=True
+GeneralProjectSettings.Settings=True
+CryptoKeysSettings.Encryption=True
+CryptoKeysSettings.Signing=True
+GameplayTagsSettings.GameplayTags=True
+GameplayTagsSettings.Advanced Gameplay Tags=True
+GameplayTagsSettings.Advanced Replication=True
+GameMapsSettings.DefaultModes=True
+GameMapsSettings.DefaultMaps=True
+GameMapsSettings.LocalMultiplayer=True
+GameMapsSettings.GameInstance=True
+MoviePlayerSettings.Movies=True
+ProjectPackagingSettings.Packaging=True
+ProjectPackagingSettings.Project=True
+ProjectPackagingSettings.Prerequisites=True
+HardwareTargetingSettings.Target Hardware=True
+HardwareTargetingSettings.Pending Changes=True
+AssetManagerSettings.Asset Manager=True
+AssetManagerSettings.Redirects=True
+AssetToolsSettings.Advanced Copy=True
+AISystem.AISystem=True
+AISystem.Movement=True
+AISystem.EQS=True
+AISystem.Blackboard=True
+AISystem.Behavior Tree=True
+AISystem.PerceptionSystem=True
+AnimationSettings.Compression=True
+AnimationSettings.Performance=True
+AnimationSettings.AnimationAttributes=True
+AnimationSettings.Mirroring=True
+AnimationSettings.AnimationData=True
+AnimationModifierSettings.Modifiers=True
+AudioSettings.Dialogue=True
+AudioSettings.Audio=True
+AudioSettings.Mix=True
+AudioSettings.Quality=True
+AudioSettings.Debug=True
+ChaosSolverSettings.GameInstance=True
+CineCameraSettings.Lens=True
+CineCameraSettings.Filmback=True
+CineCameraSettings.Crop=True
+CollisionProfile.Object Channels=True
+CollisionProfile.Trace Channels=True
+ConsoleSettings.General=True
+ConsoleSettings.AutoComplete=True
+ConsoleSettings.Colors=True
+ControlRigSettings.Shapes=True
+CookerSettings.Cooker=True
+CookerSettings.Textures=True
+CookerSettings.Editor=True
+CrowdManager.Config=True
+DataDrivenConsoleVariableSettings.DataDrivenCVar=True
+DebugCameraControllerSettings.General=True
+EnhancedInputDeveloperSettings.Enhanced Input=True
+InputModifierDeadZone.Settings=True
+InputModifierResponseCurveExponential.Settings=True
+InputModifierFOVScaling.Settings=True
+EnhancedInputDeveloperSettings.Modifier Default Values=True
+InputTriggerDown.Trigger Settings=True
+InputTriggerPressed.Trigger Settings=True
+InputTriggerReleased.Trigger Settings=True
+InputTriggerHold.Trigger Settings=True
+InputTriggerHoldAndRelease.Trigger Settings=True
+InputTriggerTap.Trigger Settings=True
+InputTriggerPulse.Trigger Settings=True
+EnhancedInputDeveloperSettings.Trigger Default Values=True
+EnhancedInputEditorProjectSettings.Default=True
+GameplayDebuggerConfig.Input=True
+GameplayDebuggerConfig.Display=True
+GameplayDebuggerConfig.AddOns=True
+GarbageCollectionSettings.General=True
+GarbageCollectionSettings.Optimization=True
+GarbageCollectionSettings.Debug=True
+Engine.Fonts=True
+Engine.DefaultClasses=True
+Engine.DefaultMaterials=True
+Engine.Settings=True
+Engine.Subtitles=True
+Engine.Blueprints=True
+Engine.Anim Blueprints=True
+Engine.Framerate=True
+Engine.Timecode=True
+Engine.Screenshots=True
+HierarchicalLODSettings.HLODSystem=True
+InputSettings.Bindings=True
+InputSettings.Platforms=True
+InputSettings.ViewportProperties=True
+InputSettings.Input=True
+InputSettings.Mobile=True
+InputSettings.Virtual Keyboard (Mobile)=True
+InputSettings.DefaultClasses=True
+InputSettings.Console=True
+InterchangeProjectSettings.ImportContent=True
+InterchangeProjectSettings.ImportIntoLevel=True
+InterchangeProjectSettings.EditorInterface=True
+InterchangeProjectSettings.Generic=True
+InterchangeProjectSettings.Editor Generic Pipeline Class=True
+LandscapeSettings.Layers=True
+LandscapeSettings.Configuration=True
+LandscapeSettings.Materials=True
+LevelSequenceProjectSettings.Timeline=True
+MeshBudgetProjectSettings.StaticMesh=True
+MetaSoundSettings.AutoUpdate=True
+MetaSoundSettings.Registration=True
+RecastNavMesh.Display=True
+RecastNavMesh.Generation=True
+RecastNavMesh.Query=True
+RecastNavMesh.Runtime=True
+RecastNavMesh.Tick=True
+RecastNavMesh.Collision=True
+RecastNavMesh.HLOD=True
+RecastNavMesh.Physics=True
+RecastNavMesh.Networking=True
+RecastNavMesh.WorldPartition=True
+NavigationSystemV1.Navigation=True
+NavigationSystemV1.NavigationSystem=True
+NavigationSystemV1.Navigation Enforcing=True
+NavigationSystemV1.Agents=True
+NetworkSettings.libcurl=True
+NetworkSettings.World=True
+PhysicsSettings.Replication=True
+PhysicsSettings.Simulation=True
+PhysicsSettings.Optimization=True
+PhysicsSettings.Framerate=True
+PhysicsSettings.Broadphase=True
+PhysicsSettings.ChaosPhysics=True
+PhysicsSettings.Constants=True
+PhysicsSettings.Physical Surface=True
+RendererSettings.Mobile=True
+RendererSettings.Materials=True
+RendererSettings.Culling=True
+RendererSettings.Textures=True
+RendererSettings.VirtualTextures=True
+RendererSettings.WorkingColorSpace=True
+RendererSettings.GlobalIllumination=True
+RendererSettings.Reflections=True
+RendererSettings.Lumen=True
+RendererSettings.Shadows=True
+RendererSettings.HardwareRayTracing=True
+RendererSettings.SoftwareRayTracing=True
+RendererSettings.Nanite=True
+RendererSettings.MiscLighting=True
+RendererSettings.ForwardRenderer=True
+RendererSettings.Translucency=True
+RendererSettings.VR=True
+RendererSettings.Postprocessing=True
+RendererSettings.DefaultSettings=True
+RendererSettings.Optimizations=True
+RendererSettings.Debugging=True
+RendererSettings.Experimental=True
+RendererSettings.Editor=True
+RendererSettings.ShaderPermutationReduction=True
+RendererSettings.Substrate=True
+RendererSettings.MobileShaderPermutationReduction=True
+RendererSettings.Skinning=True
+RendererSettings.PostProcessCalibrationMaterials=True
+RendererOverrideSettings.ShaderPermutationReduction=True
+SlateSettings.ConstraintCanvas=True
+StreamingSettings.PackageStreaming=True
+StreamingSettings.LevelStreaming=True
+StreamingSettings.General=True
+StreamingSettings.Deprecated Settings=True
+TextureEncodingProjectSettings.EncodeSpeedSettings=True
+TextureEncodingProjectSettings.EncodeSpeeds=True
+UserInterfaceSettings.Focus=True
+UserInterfaceSettings.Hardware Cursors=True
+UserInterfaceSettings.Software Cursors=True
+UserInterfaceSettings.DPI Scaling=True
+UserInterfaceSettings.Widgets=True
+WorldPartitionEditorSettings.MapConversion=True
+WorldPartitionEditorSettings.Foliage=True
+WorldPartitionEditorSettings.MiniMap=True
+LevelEditor2DSettings.General=True
+LevelEditor2DSettings.LayerSnapping=True
+EditorProjectAppearanceSettings.Units=True
+EditorProjectAppearanceSettings.ReferenceViewer=True
+BlueprintEditorProjectSettings.Blueprints=True
+BlueprintEditorProjectSettings.Actors=True
+BlueprintEditorProjectSettings.Experimental=True
+BlueprintEditorProjectSettings.Play=True
+ClassViewerProjectSettings.ClassVisibilityManagement=True
+DDCProjectSettings.Warnings=True
+ProxyLODMeshSimplificationSettings.General=True
+MovieSceneToolsProjectSettings.Timeline=True
+MovieSceneToolsProjectSettings.Shots=True
+MovieSceneToolsProjectSettings.TrackSettings=True
+MeshSimplificationSettings.General=True
+PaperImporterSettings.NewAssetSettings=True
+PaperImporterSettings.ImportSettings=True
+PaperImporterSettings.MaterialSettings=True
+EditorPerformanceProjectSettings.ViewportResolution=True
+SourceControlPreferences.SourceControl=True
+SkeletalMeshSimplificationSettings.General=True
+StructViewerProjectSettings.StructVisibilityManagement=True
+TextureImportSettings.VirtualTextures=True
+TextureImportSettings.ImportSettings=True
+UMGEditorProjectSettings.Compiler=True
+UMGEditorProjectSettings.Class Filtering=True
+UMGEditorProjectSettings.Designer=True
+AndroidRuntimeSettings.APK Packaging=True
+AndroidRuntimeSettings.App Bundles=True
+AndroidRuntimeSettings.Build=True
+AndroidRuntimeSettings.Advanced APK Packaging=True
+AndroidRuntimeSettings.DistributionSigning=True
+AndroidRuntimeSettings.GooglePlayServices=True
+AndroidRuntimeSettings.Icons=True
+AndroidRuntimeSettings.LaunchImages=True
+AndroidRuntimeSettings.GraphicsDebugger=True
+AndroidRuntimeSettings.Input=True
+AndroidRuntimeSettings.Audio=True
+AndroidRuntimeSettings.MultiTextureFormats=True
+AndroidRuntimeSettings.TextureFormatPriorities=True
+AndroidRuntimeSettings.Misc=True
+ShaderPlatformQualitySettings.Forward Rendering Overrides=True
+AndroidSDKSettings.SDKConfig=True
+IOSRuntimeSettings.Mobile Provision=True
+IOSRuntimeSettings.BundleInformation=True
+IOSRuntimeSettings.Orientation=True
+IOSRuntimeSettings.Input=True
+IOSRuntimeSettings.FileSystem=True
+IOSRuntimeSettings.Rendering=True
+IOSRuntimeSettings.OS Info=True
+IOSRuntimeSettings.PowerUsage=True
+IOSRuntimeSettings.Devices=True
+IOSRuntimeSettings.Build=True
+IOSRuntimeSettings.Online=True
+IOSRuntimeSettings.Extra PList Data=True
+IOSRuntimeSettings.RequiredIOSIcons=True
+IOSRuntimeSettings.OptionalIOSIcons=True
+IOSRuntimeSettings.RequiredTVOSAssets=True
+IOSRuntimeSettings.OptionalTVOSAssets=True
+IOSRuntimeSettings.LaunchScreen=True
+IOSRuntimeSettings.Audio=True
+IOSRuntimeSettings.Misc=True
+MacTargetSettings.Targeted RHIs=True
+MacTargetSettings.Rendering=True
+MacTargetSettings.Packaging=True
+MacTargetSettings.Splash=True
+MacTargetSettings.Icon=True
+MacTargetSettings.Audio=True
+AndroidFileServerRuntimeSettings.Packaging=True
+AndroidFileServerRuntimeSettings.Deployment=True
+AndroidFileServerRuntimeSettings.Connection=True
+AvfMediaSettings.Debug=True
+DataflowSettings.PinColors=True
+DataflowSettings.NodeColors=True
+FractureModeSettings.Fracture Mode=True
+GeometryCacheStreamerSettings.Geometry Cache Streamer=True
+GooglePADRuntimeSettings.Packaging=True
+ImgMediaSettings.General=True
+ImgMediaSettings.Caching=True
+ImgMediaSettings.EXR=True
+ImgMediaSettings.Proxies=True
+LevelSequenceEditorSettings.Tracks=True
+LevelSequenceEditorSettings.Playback=True
+ModelingToolsEditorModeSettings.Modeling Mode=True
+ModelingComponentsSettings.Modeling Tools=True
+NiagaraSettings.Niagara=True
+NiagaraSettings.Viewport=True
+NiagaraSettings.SimulationCaching=True
+NiagaraSettings.Scalability=True
+NiagaraSettings.Renderer=True
+NiagaraSettings.LightRenderer=True
+NiagaraSettings.SkeletalMeshDI=True
+NiagaraSettings.StaticMeshDI=True
+NiagaraSettings.AsyncGpuTraceDI=True
+NiagaraSettings.SimCache=True
+NiagaraEditorSettings.Niagara=True
+NiagaraEditorSettings.SimulationOptions=True
+NiagaraEditorSettings.Niagara Colors=True
+PaperRuntimeSettings.Experimental=True
+PaperRuntimeSettings.Settings=True
+PythonScriptPluginSettings.Python=True
+PythonScriptPluginSettings.PythonRemoteExecution=True
+ResonanceAudioSettings.Reverb=True
+ResonanceAudioSettings.General=True
+TakeRecorderProjectSettings.Take Recorder=True
+TakeRecorderProjectSettings.Movie Scene Take Settings=True
+TakeRecorderProjectSettings.Microphone Audio Recorder=True
+TakeRecorderProjectSettings.Animation Recorder=True
+TakeRecorderProjectSettings.World Recorder=True
+TcpMessagingSettings.Transport=True
+UdpMessagingSettings.Availability=True
+UdpMessagingSettings.Transport=True
+UdpMessagingSettings.Tunnel=True
+WmfMediaSettings.Media=True
+WmfMediaSettings.Debug=True
+StaticMeshActor.TransformCommon=True
+StaticMeshActor.StaticMesh=True
+StaticMeshActor.Materials=True
+StaticMeshActor.Physics=True
+StaticMeshActor.Collision=True
+StaticMeshActor.Lighting=True
+StaticMeshActor.Rendering=True
+StaticMeshActor.HLOD=True
+StaticMeshActor.PathTracing=True
+StaticMeshActor.Navigation=True
+StaticMeshActor.VirtualTexture=True
+StaticMeshActor.Tags=True
+StaticMeshActor.Cooking=True
+StaticMeshActor.Replication=True
+StaticMeshActor.Networking=True
+StaticMeshActor.WorldPartition=True
+StaticMeshActor.Actor=True
+BP_Teuthisan_C.Tick=True
+BP_Teuthisan_C.Replication=True
+BP_Teuthisan_C.Rendering=True
+BP_Teuthisan_C.Collision=True
+BP_Teuthisan_C.Actor=True
+BP_Teuthisan_C.Input=True
+BP_Teuthisan_C.HLOD=True
+BP_Teuthisan_C.Physics=True
+BP_Teuthisan_C.WorldPartition=True
+BP_Teuthisan_C.Events=True
+SkeletalMeshComponent.Variable=True
+SkeletalMeshComponent.TransformCommon=True
+SkeletalMeshComponent.Sockets=True
+SkeletalMeshComponent.Animation=True
+SkeletalMeshComponent.Mesh=True
+SkeletalMeshComponent.Materials=True
+SkeletalMeshComponent.ComponentTick=True
+SkeletalMeshComponent.Clothing=True
+SkeletalMeshComponent.LeaderPoseComponent=True
+SkeletalMeshComponent.Physics=True
+SkeletalMeshComponent.AnimationRig=True
+SkeletalMeshComponent.Collision=True
+SkeletalMeshComponent.Deformer=True
+SkeletalMeshComponent.Lighting=True
+SkeletalMeshComponent.SkinWeights=True
+SkeletalMeshComponent.HLOD=True
+SkeletalMeshComponent.Rendering=True
+SkeletalMeshComponent.PathTracing=True
+SkeletalMeshComponent.Navigation=True
+SkeletalMeshComponent.VirtualTexture=True
+SkeletalMeshComponent.Tags=True
+SkeletalMeshComponent.ComponentReplication=True
+SkeletalMeshComponent.Activation=True
+SkeletalMeshComponent.Cooking=True
+SkeletalMeshComponent.Events=True
+Texture2D.LevelOfDetail=True
+Texture2D.Compression=True
+Texture2D.Texture=True
+Texture2D.Adjustments=True
+Texture2D.File Path=True
+Texture2D.Compositing=True
+BP_Teuthisan_C.TransformCommon=True
+BP_Teuthisan_C.Networking=True
+BoxComponent.Variable=True
+BoxComponent.TransformCommon=True
+BoxComponent.Sockets=True
+BoxComponent.Shape=True
+BoxComponent.Navigation=True
+BoxComponent.HLOD=True
+BoxComponent.ComponentTick=True
+BoxComponent.Rendering=True
+BoxComponent.PathTracing=True
+BoxComponent.Physics=True
+BoxComponent.Collision=True
+BoxComponent.Tags=True
+BoxComponent.ComponentReplication=True
+BoxComponent.Cooking=True
+BoxComponent.Events=True
+PawnSensingComponent.Variable=True
+PawnSensingComponent.Sockets=True
+PawnSensingComponent.AI=True
+PawnSensingComponent.Tags=True
+PawnSensingComponent.ComponentTick=True
+PawnSensingComponent.ComponentReplication=True
+PawnSensingComponent.Cooking=True
+PawnSensingComponent.Events=True
+BP_ControllerAI_C.Tick=True
+BP_ControllerAI_C.AI=True
+BP_ControllerAI_C.ComponentTick=True
+BP_ControllerAI_C.Tags=True
+BP_ControllerAI_C.Replication=True
+BP_ControllerAI_C.ComponentReplication=True
+BP_ControllerAI_C.Activation=True
+BP_ControllerAI_C.Variable=True
+BP_ControllerAI_C.Cooking=True
+BP_ControllerAI_C.Controller=True
+BP_ControllerAI_C.Actor=True
+BP_ControllerAI_C.Input=True
+BP_ControllerAI_C.HLOD=True
+BP_ControllerAI_C.Physics=True
+BP_ControllerAI_C.WorldPartition=True
+BP_ControllerAI_C.Events=True
+BP_Teuthisan_C.Cooking=True
+BP_Teuthisan_C.DataLayers=True
+BP_Enemy_C.TransformCommon=True
+BP_Enemy_C.Animation=True
+BP_Enemy_C.Mesh=True
+BP_Enemy_C.Tick=True
+BP_Enemy_C.ComponentTick=True
+BP_Enemy_C.Clothing=True
+BP_Enemy_C.LeaderPoseComponent=True
+BP_Enemy_C.Physics=True
+BP_Enemy_C.Collision=True
+BP_Enemy_C.AnimationRig=True
+BP_Enemy_C.Lighting=True
+BP_Enemy_C.Deformer=True
+BP_Enemy_C.SkinWeights=True
+BP_Enemy_C.HLOD=True
+BP_Enemy_C.Rendering=True
+BP_Enemy_C.PathTracing=True
+BP_Enemy_C.Mobile=True
+BP_Enemy_C.Navigation=True
+BP_Enemy_C.RayTracing=True
+BP_Enemy_C.VirtualTexture=True
+BP_Enemy_C.Tags=True
+BP_Enemy_C.AssetUserData=True
+BP_Enemy_C.Replication=True
+BP_Enemy_C.ComponentReplication=True
+BP_Enemy_C.Activation=True
+BP_Enemy_C.Variable=True
+BP_Enemy_C.Cooking=True
+BP_Enemy_C.Character Movement (General Settings)=True
+BP_Enemy_C.Character Movement: Walking=True
+BP_Enemy_C.Character Movement: Jumping / Falling=True
+BP_Enemy_C.Character Movement (Networking)=True
+BP_Enemy_C.Character Movement: Swimming=True
+BP_Enemy_C.Character Movement: Flying=True
+BP_Enemy_C.Character Movement: Custom Movement=True
+BP_Enemy_C.Character Movement (Rotation Settings)=True
+BP_Enemy_C.Character Movement: Physics Interaction=True
+BP_Enemy_C.Character Movement=True
+BP_Enemy_C.Character Movement: Avoidance=True
+BP_Enemy_C.RootMotion=True
+BP_Enemy_C.Character Movement: NavMesh Movement=True
+BP_Enemy_C.NavMovement=True
+BP_Enemy_C.Velocity=True
+BP_Enemy_C.PlanarMovement=True
+BP_Enemy_C.MovementComponent=True
+BP_Enemy_C.Shape=True
+BP_Enemy_C.Character=True
+BP_Enemy_C.Camera=True
+BP_Enemy_C.Pawn=True
+BP_Enemy_C.Actor=True
+BP_Enemy_C.Input=True
+BP_Enemy_C.WorldPartition=True
+BP_Enemy_C.Events=True
+BP_Enemy_C.Materials=True
+BP_Enemy_C.SkeletalMesh=True
+BP_Enemy_C.Optimization=True
+BP_Enemy_C.LOD=True
+BP_Enemy_C.MaterialParameters=True
+BP_Enemy_C.TextureStreaming=True
+EdGraph.Graph=True
+K2Node_CustomEvent.GraphNodeDetail=True
+K2Node_CustomEvent.Graph=True
+K2Node_CustomEvent.Inputs=True
+K2Node_CallFunction.Graph=True
+PropertyWrapper.Variable=True
+PropertyWrapper.DefaultValueCategory=True
+
+[DetailMultiObjectNodeExpansion]
+GeneralProjectSettings=True
+
+[AssetEditorSubsystem]
+CleanShutdown=False
+OpenAssetsAtExit=/Game/Characters/Teuthisan/BP_Teuthisan.BP_Teuthisan
+
+[ContentBrowser]
+AssetDialog.ThumbnailSize=2
+AssetDialog.CurrentViewType=1
+ContentBrowserDrawer.SourcesExpanded=True
+ContentBrowserDrawer.FavoritesAreaExpanded=False
+ContentBrowserDrawer.PathAreaExpanded=True
+ContentBrowserDrawer.CollectionAreaExpanded=False
+ContentBrowserDrawer.FavoritesSearchAreaExpanded=False
+ContentBrowserDrawer.PathSearchAreaExpanded=False
+ContentBrowserDrawer.CollectionSearchAreaExpanded=False
+ContentBrowserDrawer.VerticalSplitter.SlotSize0=0.150000006
+ContentBrowserDrawer.VerticalSplitter.SlotSize1=0.75
+ContentBrowserDrawer.FavoriteSplitter.SlotSize0=0.200000003
+ContentBrowserDrawer.FavoriteSplitter.SlotSize1=0.800000012
+ContentBrowserDrawer.FavoriteSplitter.SlotSize2=0.400000006
+ContentBrowserDrawer.SelectedPaths=/Game/Characters/Teuthisan
+ContentBrowserDrawer.PluginFilters=
+ContentBrowserDrawer.Favorites.SelectedPaths=
+FavoritePaths=
+ContentBrowserDrawer.SelectedCollections=
+ContentBrowserDrawer.ExpandedCollections=
+ContentBrowserDrawer.ThumbnailSize=2
+ContentBrowserDrawer.CurrentViewType=1
+AssetPropertyPicker.ThumbnailSize=2
+AssetPropertyPicker.CurrentViewType=0
+
+[ContentBrowserRecent]
+MRUItem0=/Game/Characters/Teuthisan/BP_Enemy
+MRUItem1=/Game/Characters/Teuthisan/BP_ControllerAI
+MRUItem2=/Game/Characters/Teuthisan/BP_Teuthisan
+MRUItem3=/Game/Characters/Teuthisan/Textures/T_Alien_Torso_S
+MRUItem4=/Game/Characters/Teuthisan/Textures/T_Alien_Torso_SSS_M
+
+[AssetEditorToolkitTabLocation]
+/Game/Characters/Teuthisan/Textures/T_Alien_Torso_SSS_M.T_Alien_Torso_SSS_M=1
+/Game/Characters/Teuthisan/Textures/T_Alien_Torso_S.T_Alien_Torso_S=1
+/Game/Characters/Teuthisan/BP_Teuthisan.BP_Teuthisan=1
+
+[/Script/BlueprintGraph.BlueprintEditorSettings]
+bDrawMidpointArrowsInBlueprints=False
+bShowGraphInstructionText=True
+bHideUnrelatedNodes=False
+bShowShortTooltips=True
+bEnableInputTriggerSupportWarnings=False
+bSplitContextTargetSettings=True
+bExposeAllMemberComponentFunctions=True
+bShowContextualFavorites=False
+bExposeDeprecatedFunctions=False
+bCompactCallOnMemberNodes=False
+bFlattenFavoritesMenus=True
+bAutoCastObjectConnections=False
+bShowViewportOnSimulate=False
+bSpawnDefaultBlueprintNodes=True
+bHideConstructionScriptComponentsInDetailsView=True
+bHostFindInBlueprintsInGlobalTab=True
+bNavigateToNativeFunctionsFromCallNodes=True
+bDoubleClickNavigatesToParent=True
+bEnableTypePromotion=True
+TypePromotionPinDenyList=("string","text")
+BreakpointReloadMethod=RestoreAll
+bEnablePinValueInspectionTooltips=True
+bEnableNamespaceEditorFeatures=True
+bEnableContextMenuTimeSlicing=False
+bFavorPureCastNodes=False
+SaveOnCompile=SoC_Never
+bJumpToNodeErrors=False
+bAllowExplicitImpureNodeDisabling=False
+bShowActionMenuItemSignatures=False
+bBlueprintNodeUniqueNames=False
+bShowDetailedCompileResults=False
+CompileEventDisplayThresholdMs=5
+NodeTemplateCacheCapMB=20.000000
+bShowInheritedVariables=False
+bAlwaysShowInterfacesInOverrides=True
+bShowParentClassInOverrides=True
+bShowEmptySections=True
+bShowAccessSpecifier=False
+Bookmarks=()
+PerBlueprintSettings=()
+bIncludeCommentNodesInBookmarksTab=True
+bShowBookmarksForCurrentDocumentOnlyInTab=False
+GraphEditorQuickJumps=()
+
+[DetailCategoriesAdvanced]
+SkeletalMeshComponent.Animation=False
+
+[PlacementMode]
+RecentlyPlaced=/Game/Characters/Teuthisan/BP_Teuthisan.BP_Teuthisan;
+
+[DetailPropertyExpansion]
+BP_Teuthisan_C=
+BP_Enemy_C=
+Character=
+Pawn=
+
diff --git a/Saved/Config/MacEditor/Engine.ini b/Saved/Config/MacEditor/Engine.ini
new file mode 100644
index 0000000000000000000000000000000000000000..80b08ffd9e8ff8cb634e3bdecb9753202a76e814
--- /dev/null
+++ b/Saved/Config/MacEditor/Engine.ini
@@ -0,0 +1,71 @@
+[Core.System]
+Paths=../../../Engine/Content
+Paths=%GAMEDIR%Content
+Paths=../../../Engine/Plugins/TraceUtilities/Content
+Paths=../../../Engine/Plugins/Bridge/Content
+Paths=../../../Engine/Plugins/VirtualProduction/Takes/Content
+Paths=../../../Engine/Plugins/Animation/ControlRigSpline/Content
+Paths=../../../Engine/Plugins/Animation/IKRig/Content
+Paths=../../../Engine/Plugins/Animation/ControlRig/Content
+Paths=../../../Engine/Plugins/Experimental/MeshLODToolset/Content
+Paths=../../../Engine/Plugins/Experimental/Dataflow/Content
+Paths=../../../Engine/Plugins/Experimental/ChaosNiagara/Content
+Paths=../../../Engine/Plugins/Experimental/PythonScriptPlugin/Content
+Paths=../../../Engine/Plugins/Experimental/GeometryFlow/Content
+Paths=../../../Engine/Plugins/Experimental/UVEditor/Content
+Paths=../../../Engine/Plugins/Experimental/ChaosSolverPlugin/Content
+Paths=../../../Engine/Plugins/Experimental/MeshModelingToolsetExp/Content
+Paths=../../../Engine/Plugins/Experimental/ChaosCaching/Content
+Paths=../../../Engine/Plugins/Experimental/ChaosClothEditor/Content
+Paths=../../../Engine/Plugins/Experimental/FullBodyIK/Content
+Paths=../../../Engine/Plugins/Interchange/Runtime/Content
+Paths=../../../Engine/Plugins/Experimental/GeometryCollectionPlugin/Content
+Paths=../../../Engine/Plugins/Developer/AnimationSharing/Content
+Paths=../../../Engine/Plugins/MovieScene/SequencerScripting/Content
+Paths=../../../Engine/Plugins/Editor/BlueprintHeaderView/Content
+Paths=../../../Engine/Plugins/Editor/GLTFImporter/Content
+Paths=../../../Engine/Plugins/Editor/GeometryMode/Content
+Paths=../../../Engine/Plugins/Editor/ModelingToolsEditorMode/Content
+Paths=../../../Engine/Plugins/Editor/SpeedTreeImporter/Content
+Paths=../../../Engine/Plugins/Enterprise/GLTFExporter/Content
+Paths=../../../Engine/Plugins/Enterprise/DatasmithContent/Content
+Paths=../../../Engine/Plugins/FX/Niagara/Content
+Paths=../../../Engine/Plugins/Runtime/ResonanceAudio/Content
+Paths=../../../Engine/Plugins/Runtime/AudioWidgets/Content
+Paths=../../../Engine/Plugins/Runtime/Synthesis/Content
+Paths=../../../Engine/Plugins/Runtime/MeshModelingToolset/Content
+Paths=../../../Engine/Plugins/Runtime/WaveTable/Content
+Paths=../../../Engine/Plugins/Runtime/AudioSynesthesia/Content
+Paths=../../../Engine/Plugins/Runtime/GeometryProcessing/Content
+Paths=../../../Engine/Plugins/2D/Paper2D/Content
+Paths=../../../Engine/Plugins/Media/MediaPlate/Content
+Paths=../../../Engine/Plugins/Runtime/Metasound/Content
+Paths=../../../Engine/Plugins/Media/MediaCompositing/Content
+Paths=../../../Engine/Plugins/Editor/ObjectMixer/ObjectMixer/Content
+Paths=../../../Engine/Plugins/Editor/ObjectMixer/LightMixer/Content
+
+[/Script/UnrealEd.UnrealEdEngine]
+TemplateMapInfos=(ThumbnailTexture=None,Thumbnail="/Engine/Maps/Templates/Thumbnails/OpenWorld.OpenWorld",Map="/Engine/Maps/Templates/OpenWorld",DisplayName="Open World",Category="OpenWorld")
+TemplateMapInfos=(ThumbnailTexture=None,Thumbnail="/Engine/Maps/Templates/Thumbnails/Basic.Basic",Map="/Engine/Maps/Templates/Template_Default",DisplayName="Basic",Category="")
+
+[/Script/AndroidPlatformEditor.AndroidSDKSettings]
+SDKPath=(Path="")
+NDKPath=(Path="")
+JavaPath=(Path="")
+
+[/Script/UdpMessaging.UdpMessagingSettings]
+EnabledByDefault=False
+EnableTransport=True
+bAutoRepair=True
+MaxSendRate=1.000000
+AutoRepairAttemptLimit=10
+WorkQueueSize=1024
+bStopServiceWhenAppDeactivates=True
+UnicastEndpoint=0.0.0.0:0
+MulticastEndpoint=230.0.0.1:6666
+MessageFormat=CborPlatformEndianness
+MulticastTimeToLive=1
+EnableTunnel=False
+TunnelUnicastEndpoint=
+TunnelMulticastEndpoint=
+
diff --git a/Saved/Config/MacEditor/GameUserSettings.ini b/Saved/Config/MacEditor/GameUserSettings.ini
new file mode 100644
index 0000000000000000000000000000000000000000..db6230c9ba2e309c03afba2e153b02f2bc6cc21d
--- /dev/null
+++ b/Saved/Config/MacEditor/GameUserSettings.ini
@@ -0,0 +1,29 @@
+[/Script/Engine.GameUserSettings]
+bUseVSync=False
+bUseDynamicResolution=False
+ResolutionSizeX=2880
+ResolutionSizeY=1800
+LastUserConfirmedResolutionSizeX=2880
+LastUserConfirmedResolutionSizeY=1800
+WindowPosX=-1
+WindowPosY=-1
+FullscreenMode=1
+LastConfirmedFullscreenMode=1
+PreferredFullscreenMode=1
+Version=5
+AudioQualityLevel=0
+LastConfirmedAudioQualityLevel=0
+FrameRateLimit=0.000000
+DesiredScreenWidth=1280
+bUseDesiredScreenHeight=False
+DesiredScreenHeight=720
+LastUserConfirmedDesiredScreenWidth=1280
+LastUserConfirmedDesiredScreenHeight=720
+LastRecommendedScreenWidth=-1.000000
+LastRecommendedScreenHeight=-1.000000
+LastCPUBenchmarkResult=-1.000000
+LastGPUBenchmarkResult=-1.000000
+LastGPUBenchmarkMultiplier=1.000000
+bUseHDRDisplayOutput=False
+HDRDisplayOutputNits=1000
+
diff --git a/Saved/Config/WorldState/3222581562.json b/Saved/Config/WorldState/3222581562.json
index f634c2753f3b3aec4c44a14dda230fe9fb4f558f..642eb67b17e2c54b47675749e3ff247e85a9e298 100644
Binary files a/Saved/Config/WorldState/3222581562.json and b/Saved/Config/WorldState/3222581562.json differ
diff --git a/Saved/SourceControl/UncontrolledChangelists.json b/Saved/SourceControl/UncontrolledChangelists.json
index 72e5a4fdd8f039ec639a1d6e622c3046278ed364..e641541d80371ea46cb2c89b6ca0481da649a766 100644
--- a/Saved/SourceControl/UncontrolledChangelists.json
+++ b/Saved/SourceControl/UncontrolledChangelists.json
@@ -5,6 +5,11 @@
 			"guid": "00000000000000000000000000000000",
 			"description": "Default Uncontrolled Changelist",
 			"files": [
+				"/Users/mseay/Documents/Unreal Projects/gamedev_project/Content/__ExternalActors__/NewMap/3/UC/7TBIORH5HKE5O9X54UP1V7.uasset",
+				"/Users/mseay/Documents/Unreal Projects/gamedev_project/Content/NewMap.umap",
+				"/Users/mseay/Documents/Unreal Projects/gamedev_project/Content/Characters/Teuthisan/BP_Teuthisan.uasset",
+				"/Users/mseay/Documents/Unreal Projects/gamedev_project/Content/Characters/Teuthisan/BP_ControllerAI.uasset",
+				"/Users/mseay/Documents/Unreal Projects/gamedev_project/Content/Characters/Teuthisan/BP_Enemy.uasset",
 				"C:/Users/brendah5/Documents/Unreal Projects/MyProject4/Content/Untitled_HLOD0_Instancing.uasset",
 				"C:/Users/brendah5/Documents/Unreal Projects/MyProject4/Content/__ExternalActors__/Untitled/C/VR/0LAVFHBFPQHWQIE58DO5WF.uasset",
 				"C:/Users/brendah5/Documents/Unreal Projects/MyProject4/Content/__ExternalObjects__/Untitled/4/HU/B285Y38RMUAD5X0BOB317C.uasset",