{"id":215,"date":"2026-05-29T19:00:55","date_gmt":"2026-05-29T19:00:55","guid":{"rendered":"https:\/\/rivals2.com\/workshop-dev\/?post_type=knowledgebase&#038;p=215"},"modified":"2026-06-18T14:18:19","modified_gmt":"2026-06-18T14:18:19","slug":"generate-csp-character-select-portraits","status":"publish","type":"knowledgebase","link":"https:\/\/rivals2.com\/workshop\/knowledge-base\/character-creation\/generate-csp-character-select-portraits\/","title":{"rendered":"Capturing Character Portraits (CSPs)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Your character will need a CSP (Character Select Portrait) for each palette that you generate. It\u2019s the image that is displayed when you choose a character in the character select screen, and various other parts of the UI. When creating a character mod a template Sandbert CSP is generated for each palette.<\/p>\n\n\n\n<!--more-->\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/T_Cla_Default_Neutral_CSP-1024x1024.png\" alt=\"\" class=\"wp-image-234\" srcset=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/T_Cla_Default_Neutral_CSP-1024x1024.png 1024w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/T_Cla_Default_Neutral_CSP-300x300.png 300w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/T_Cla_Default_Neutral_CSP-150x150.png 150w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/T_Cla_Default_Neutral_CSP-768x768.png 768w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/T_Cla_Default_Neutral_CSP-1536x1536.png 1536w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/T_Cla_Default_Neutral_CSP.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Clairen&#8217;s Default Neutral palette CSP<\/figcaption><\/figure>\n\n\n\n<div style=\"height:37px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"543\" height=\"703\" src=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/image-36.png\" alt=\"\" class=\"wp-image-232 size-full\" srcset=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/image-36.png 543w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/image-36-232x300.png 232w\" sizes=\"auto, (max-width: 543px) 100vw, 543px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\">Upon generating your mod you will have a separate CSP of sandbert assigned to each palette&#8217;s CS file.<\/p>\n<\/div><\/div>\n\n\n\n<div style=\"height:16px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">These can be found in the <strong>Unreal Assets\/Skins\/SkinDefault\/Data\/Palettes\/&#8221;PaletteName&#8221;<\/strong> folders.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"360\" src=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/image-33-1024x360.png\" alt=\"\" class=\"wp-image-222\" srcset=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/image-33-1024x360.png 1024w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/image-33-300x106.png 300w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/image-33-768x270.png 768w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/image-33.png 1160w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"> You can replace these with any image you like, however ROA2 characters use the photobooth tool to capture their CSPs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A <strong>Render Data (RD_&#8221;Name&#8221;_Default_CSS)<\/strong> file will also be created that manages photobooth capture settings found in <strong>UnrealAssets\/Skins\/Default\/Data\/<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"397\" src=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/image-34-1024x397.png\" alt=\"\" class=\"wp-image-223\" srcset=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/image-34-1024x397.png 1024w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/image-34-300x116.png 300w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/image-34-768x298.png 768w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/image-34.png 1095w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This file allows you to setup the pose and camera angle used for capturing the CSP among other details.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"821\" height=\"723\" src=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-29-143105.png\" alt=\"\" class=\"wp-image-227\" srcset=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-29-143105.png 821w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-29-143105-300x264.png 300w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-29-143105-768x676.png 768w\" sizes=\"auto, (max-width: 821px) 100vw, 821px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Character Pose Animation &#8211; Choose an animation &#8211; often a unique animation made expressly for the CSP pose, otherwise gameplay animations can be used<\/li>\n\n\n\n<li>Character Pose Anim Pos &#8211; Choose the point in time during that animation to use for the CSP pose, useful if you are repurposing a gameplay animation<\/li>\n\n\n\n<li>Mesh Effects to Display &#8211; Allows you to display mesh effects on your CSP. Mesh effects must be defined in the CS file first, refer to the <a href=\"https:\/\/rivals2.com\/workshop\/knowledge-base\/character-creation\/mesh-effects\/\" data-type=\"knowledgebase\" data-id=\"614\" target=\"_blank\" rel=\"noreferrer noopener\">Mesh Effects<\/a> documentation for more information.<\/li>\n\n\n\n<li>Outline Thickness Multiplier &#8211; Used to globally adjust the thickness of your outlines in the CSP.<\/li>\n\n\n\n<li>Directional Light Vector &#8211; Allows you to alter the lighting angle, the RGB values correspond with XYZ influence on the angle.<\/li>\n\n\n\n<li>Camera Position Override &#8211; Default values should be able to capture most characters but can be adjusted to refine results.<\/li>\n\n\n\n<li>Field of View Override &#8211; Adjust Camera field of view (Wider or narrower angle camera lens).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Generating your CSPs<\/h2>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"782\" height=\"298\" src=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-29-142547.png\" alt=\"\" class=\"wp-image-219\" srcset=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-29-142547.png 782w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-29-142547-300x114.png 300w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-29-142547-768x293.png 768w\" sizes=\"auto, (max-width: 782px) 100vw, 782px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"881\" height=\"274\" src=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-29-142530.png\" alt=\"\" class=\"wp-image-220\" srcset=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-29-142530.png 881w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-29-142530-300x93.png 300w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-29-142530-768x239.png 768w\" sizes=\"auto, (max-width: 881px) 100vw, 881px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>First ensure that you have replaced the template <strong>Skeletal Mesh<\/strong> in your mod content folder with your own model and have setup their materials and textures. Ensure that the character is loading properly in game and is correctly scaled.<\/li>\n\n\n\n<li>In the Modding UI, right-click on any palette or skin and select generate portraits to generate the CSP images for that selection.<\/li>\n\n\n\n<li>Open the RD_CharacterName_CSS file to assign a pose, change camera positions or make other adjustments to the Portrait Capture as needed.<\/li>\n\n\n\n<li>Recapture the CSPs as needed.<\/li>\n\n\n\n<li>The CSP can be repositioned for different uses throughout the UI so focus on getting a clean image first (no clipping out of frame, clear readable pose) without worrying about how it fits into the UI just yet.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Once you are happy with your CSP you can set up offsets for proper display throughout the UI.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"651\" height=\"160\" src=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/image-95.png\" alt=\"\" class=\"wp-image-773\" srcset=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/image-95.png 651w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/image-95-300x74.png 300w\" sizes=\"auto, (max-width: 651px) 100vw, 651px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Right click on your Character Thumbnail and select Set CSP Offsets.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"718\" height=\"256\" src=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/Screenshot-2026-06-08-102428.png\" alt=\"\" class=\"wp-image-774\" srcset=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/Screenshot-2026-06-08-102428.png 718w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/Screenshot-2026-06-08-102428-300x107.png 300w\" sizes=\"auto, (max-width: 718px) 100vw, 718px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This will bring up an overlay with the UI Properties and UI Offsets drop down menus <strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#f60606\" class=\"has-inline-color\">(These can be easy to miss, refer to the Image above!)<\/mark><\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"718\" src=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/image-97-1024x718.png\" alt=\"\" class=\"wp-image-780\" style=\"width:713px;height:auto\" srcset=\"https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/image-97-1024x718.png 1024w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/image-97-300x210.png 300w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/image-97-768x538.png 768w, https:\/\/rivals2.com\/workshop\/wp-content\/uploads\/2026\/05\/image-97.png 1288w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Use the previews on the left and adjust the values on the right until you are happy with the CSP position.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Char Image Offsets &#8211; Currently Unused<\/li>\n\n\n\n<li>Char Image Face Offsets &#8211; Currently Unused<\/li>\n\n\n\n<li>Char CSP Offsets &#8211; Reposition the CSP in the Player slot on Character select screen<\/li>\n\n\n\n<li>Char CSP Face Offsets &#8211; Reposition the CSP in the gameplay HUD (Player slot in game)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">When you&#8217;re happy with your offsets click Accept to save them.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Your character will need a CSP (Character Select Portrait) for each palette that you generate. It\u2019s the image that is displayed when you choose a character in the character select screen, and various other parts of the UI. When creating a character mod a template Sandbert CSP is generated for each palette.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","template":"","knowledgebase_cat":[4],"knowledgebase_tag":[],"class_list":["post-215","knowledgebase","type-knowledgebase","status-publish","hentry","knowledgebase_cat-character-creation"],"_links":{"self":[{"href":"https:\/\/rivals2.com\/workshop\/wp-json\/wp\/v2\/knowledgebase\/215","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rivals2.com\/workshop\/wp-json\/wp\/v2\/knowledgebase"}],"about":[{"href":"https:\/\/rivals2.com\/workshop\/wp-json\/wp\/v2\/types\/knowledgebase"}],"author":[{"embeddable":true,"href":"https:\/\/rivals2.com\/workshop\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/rivals2.com\/workshop\/wp-json\/wp\/v2\/comments?post=215"}],"version-history":[{"count":22,"href":"https:\/\/rivals2.com\/workshop\/wp-json\/wp\/v2\/knowledgebase\/215\/revisions"}],"predecessor-version":[{"id":1495,"href":"https:\/\/rivals2.com\/workshop\/wp-json\/wp\/v2\/knowledgebase\/215\/revisions\/1495"}],"wp:attachment":[{"href":"https:\/\/rivals2.com\/workshop\/wp-json\/wp\/v2\/media?parent=215"}],"wp:term":[{"taxonomy":"knowledgebase_cat","embeddable":true,"href":"https:\/\/rivals2.com\/workshop\/wp-json\/wp\/v2\/knowledgebase_cat?post=215"},{"taxonomy":"knowledgebase_tag","embeddable":true,"href":"https:\/\/rivals2.com\/workshop\/wp-json\/wp\/v2\/knowledgebase_tag?post=215"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}