<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Kemena3D</title>
	<atom:link href="https://kemena3d.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://kemena3d.com</link>
	<description>Open Source 3D Engine</description>
	<lastBuildDate>Thu, 11 Sep 2025 10:17:59 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://kemena3d.com/site/wp-content/uploads/2025/05/cropped-app-icon-32x32.png</url>
	<title>Kemena3D</title>
	<link>https://kemena3d.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Project Folder Structure</title>
		<link>https://kemena3d.com/project-folder-structure/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=project-folder-structure</link>
		
		<dc:creator><![CDATA[leezhieng]]></dc:creator>
		<pubDate>Thu, 11 Sep 2025 09:16:59 +0000</pubDate>
				<category><![CDATA[Studio]]></category>
		<category><![CDATA[Tutorials]]></category>
		<guid isPermaLink="false">https://kemena3d.com/?p=902</guid>

					<description><![CDATA[<p>Introduction This documentation provides an overview of the folder structure generated by Kemena3D Studio when you create a new project. Upon selecting a location on your PC, the editor automatically sets up several folders and files for you. During development, it’s important to follow certain rules on how the editor manages these files, for example, placing your assets inside the Assets folder, while avoiding manual changes to the Library and Config folders. The following sections explain the purpose of each folder and how they work together to support your project. Main Folders When a new project is created, three folders are automatically generated. Do not rename or remove these folders, as the editor relies on them when reopening the project. Folder Name Description Assets The Assets folder is where you store your game resources, such as 3D models, textures, UI images, etc. Whenever the editor needs an asset, it will check this folder. If you make changes to any files here, the editor will automatically re-import them. Config The Config folder stores your project’s configuration files. These include both the editor’s settings and the publishing options used when building executables for different platforms. Library The Library folder stores all cache data, including asset metadata, thumbnails, and imported resources used by the editor. Modifying or deleting its contents may corrupt the project, so it should remain untouched. We have covered the purpose of the three main folders. Next, let’s examine their contents, including the key files and subfolders they contain. Assets The Assets folder is empty by default. You may add files by dragging them directly into the folder or, preferably, by importing them through the editor. Any changes made to this folder or its subfolders will trigger a file check event, prompting the editor to refresh its file registry and re-import any modified files. It is recommended to move or delete files using the editor itself, as it handles the process cleanly and helps prevent potential issues with your project. Config Coming soon Library If you open the Library folder (not recommended unless necessary), you will find a file named assets.json along with three folders: ImportedAssets, Metadata, and Thumbnails. The following section explains their purposes. Folder Name Description ImportedAssets Contains assets converted for editor use. The editor does not work with raw files in the Assets folder directly, but instead uses the processed versions stored here. Metadata Each asset has an associated metadata file in this folder. Metadata stores settings such as compression format, quality, and export profiles. These settings are used when importing assets from Assets into ImportedAssets, and also during packaging and publishing of the final game. Thumbnails Stores preview thumbnails for certain asset types (meshes, images, materials, particles, worlds). Not all assets will have thumbnails. File Name Description assets.json Registry file that tracks all assets in the project. Version Control When using version control (e.g., Git) for your project, you can safely exclude the ImportedAssets and Thumbnails folders, as their contents are typically large and can be regenerated by the editor when the project is opened. The remaining folders and files should be included in your repository. Note that you may need Git Large File Storage (LFS) for handling asset files, ensure that your Git server supports it.</p>
<p>The post <a href="https://kemena3d.com/project-folder-structure/">Project Folder Structure</a> first appeared on <a href="https://kemena3d.com">Kemena3D</a>.</p>]]></description>
										<content:encoded><![CDATA[<h2 class="wp-block-heading">Introduction</h2>



<p>This documentation provides an overview of the folder structure generated by <strong>Kemena3D Studio</strong> when you create a new project. Upon selecting a location on your PC, the editor automatically sets up several folders and files for you.</p>



<p>During development, it’s important to follow certain rules on how the editor manages these files, for example, placing your assets inside the <strong>Assets</strong> folder, while avoiding manual changes to the <strong>Library</strong> and <strong>Config</strong> folders.</p>



<p>The following sections explain the purpose of each folder and how they work together to support your project.</p>



<h2 class="wp-block-heading">Main Folders</h2>



<figure class="wp-block-image size-full"><img decoding="async" width="111" height="96" src="https://kemena3d.com/site/wp-content/uploads/2025/09/Pasted-1.png" alt="" class="wp-image-908"/></figure>



<p>When a new project is created, three folders are automatically generated. Do not rename or remove these folders, as the editor relies on them when reopening the project.</p>



<figure class="wp-block-table"><table><thead><tr><th>Folder Name</th><th><strong>Description</strong></th></tr></thead><tbody><tr><td>Assets</td><td>The <strong>Assets</strong> folder is where you store your game resources, such as 3D models, textures, UI images, etc. Whenever the editor needs an asset, it will check this folder. If you make changes to any files here, the editor will automatically re-import them.</td></tr><tr><td>Config</td><td>The <strong>Config</strong> folder stores your project’s configuration files. These include both the editor’s settings and the publishing options used when building executables for different platforms.</td></tr><tr><td>Library</td><td>The <strong>Library</strong> folder stores all cache data, including asset metadata, thumbnails, and imported resources used by the editor. Modifying or deleting its contents may corrupt the project, so it should remain untouched.</td></tr></tbody></table></figure>



<p>We have covered the purpose of the three main folders. Next, let’s examine their contents, including the key files and subfolders they contain.</p>



<h4 class="wp-block-heading">Assets</h4>



<p>The <strong>Assets</strong> folder is empty by default. You may add files by dragging them directly into the folder or, preferably, by importing them through the editor. Any changes made to this folder or its subfolders will trigger a file check event, prompting the editor to refresh its file registry and re-import any modified files.</p>



<p>It is recommended to move or delete files using the editor itself, as it handles the process cleanly and helps prevent potential issues with your project.</p>



<h4 class="wp-block-heading">Config</h4>



<p>Coming soon</p>



<h4 class="wp-block-heading">Library</h4>



<figure class="wp-block-image size-full"><img decoding="async" width="148" height="125" src="https://kemena3d.com/site/wp-content/uploads/2025/09/image.png" alt="" class="wp-image-910"/></figure>



<p>If you open the <strong>Library</strong> folder (not recommended unless necessary), you will find a file named <code>assets.json</code> along with three folders: <strong>ImportedAssets</strong>, <strong>Metadata</strong>, and <strong>Thumbnails</strong>. The following section explains their purposes.</p>



<figure class="wp-block-table"><table><thead><tr><th><strong>Folder Name</strong></th><th><strong>Description</strong></th></tr></thead><tbody><tr><td>ImportedAssets</td><td>Contains assets converted for editor use. The editor does not work with raw files in the Assets folder directly, but instead uses the processed versions stored here.</td></tr><tr><td>Metadata</td><td>Each asset has an associated metadata file in this folder. Metadata stores settings such as compression format, quality, and export profiles. These settings are used when importing assets from Assets into ImportedAssets, and also during packaging and publishing of the final game.</td></tr><tr><td>Thumbnails</td><td>Stores preview thumbnails for certain asset types (meshes, images, materials, particles, worlds). Not all assets will have thumbnails.</td></tr></tbody></table></figure>



<figure class="wp-block-table"><table><thead><tr><th>File Name</th><th>Description</th></tr></thead><tbody><tr><td>assets.json</td><td>Registry file that tracks all assets in the project.</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Version Control</h2>



<p>When using version control (e.g., Git) for your project, you can safely exclude the <strong>ImportedAssets</strong> and <strong>Thumbnails</strong> folders, as their contents are typically large and can be regenerated by the editor when the project is opened. The remaining folders and files should be included in your repository.</p>



<ul class="wp-block-list">
<li>✅Assets</li>



<li>✅Config</li>



<li>✅Library
<ul class="wp-block-list">
<li>❌ImportedAssets</li>



<li>✅Metadata</li>



<li>❌Thumbnails</li>



<li>✅assets.json</li>
</ul>
</li>
</ul>



<p>Note that you may need Git Large File Storage (LFS) for handling asset files, ensure that your Git server supports it.</p><p>The post <a href="https://kemena3d.com/project-folder-structure/">Project Folder Structure</a> first appeared on <a href="https://kemena3d.com">Kemena3D</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Installing MinGW via Msys2 (Windows)</title>
		<link>https://kemena3d.com/installing-mingw-via-msys2-windows/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=installing-mingw-via-msys2-windows</link>
		
		<dc:creator><![CDATA[leezhieng]]></dc:creator>
		<pubDate>Fri, 29 Aug 2025 17:24:13 +0000</pubDate>
				<category><![CDATA[SDK]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[cmake]]></category>
		<category><![CDATA[gcc]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[mingw]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[studio]]></category>
		<category><![CDATA[visual]]></category>
		<category><![CDATA[windows]]></category>
		<guid isPermaLink="false">https://kemena3d.com/?p=810</guid>

					<description><![CDATA[<p>Learn how to access the source code of the Kemena3D SDK, retrieve and compile its required dependencies, and build the SDK according to your specific development needs. This guide will walk you through each step to help you get up and running smoothly.</p>
<p>The post <a href="https://kemena3d.com/installing-mingw-via-msys2-windows/">Installing MinGW via Msys2 (Windows)</a> first appeared on <a href="https://kemena3d.com">Kemena3D</a>.</p>]]></description>
										<content:encoded><![CDATA[<h2 class="wp-block-heading">Introduction</h2>



<p>There are several ways to install MinGW on Windows. One of the easiest methods is through <strong>MSYS2</strong>, a package management system that provides tools for installing, managing, and updating components from the GCC ecosystem on Windows. With MSYS2, you can easily set up and maintain packages such as CMake, GCC, MinGW, CPython, OpenSSL, FFmpeg, and many others, making it a more convenient option for Windows users.</p>



<h2 class="wp-block-heading">Installing Msys2</h2>



<p>Visit <a href="https://www.msys2.org" target="_blank" rel="noopener" title="">https://www.msys2.org</a> and in the first step of their installation guide, click the download link (e.g. <em>Download the installer: msys2-x86_64-20250622.exe</em>). Install MSYS2 into your preferred folder and complete the setup process.</p>



<figure class="wp-block-image size-full is-resized"><img fetchpriority="high" decoding="async" width="800" height="489" src="https://kemena3d.com/site/wp-content/uploads/2025/08/image-2.png" alt="" class="wp-image-814" style="width:517px;height:auto" srcset="https://kemena3d.com/site/wp-content/uploads/2025/08/image-2.png 800w, https://kemena3d.com/site/wp-content/uploads/2025/08/image-2-300x183.png 300w, https://kemena3d.com/site/wp-content/uploads/2025/08/image-2-768x469.png 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<p>After that, skip the second step on their website, as it usually does not work. Instead, follow the instructions provided in the next step below.</p>



<h2 class="wp-block-heading">Installing MinGW</h2>



<p>Once the installation is complete, the installer will prompt you to run MSYS2. Click <strong>Yes</strong> to proceed. If you accidentally close it, you can launch it again from the installation folder by opening <code>msys2.exe</code>.</p>



<p>An important step that the official website does not mention is running the command:</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>pacman -Sy</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #88C0D0">pacman</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">-Sy</span></span></code></pre></div>



<p>This updates the repository list. Without this step, the installation command will fail. You may need to run the update command multiple times until no further updates are available.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="925" height="500" src="https://kemena3d.com/site/wp-content/uploads/2025/08/image-1.png" alt="" class="wp-image-813" srcset="https://kemena3d.com/site/wp-content/uploads/2025/08/image-1.png 925w, https://kemena3d.com/site/wp-content/uploads/2025/08/image-1-300x162.png 300w, https://kemena3d.com/site/wp-content/uploads/2025/08/image-1-768x415.png 768w" sizes="(max-width: 925px) 100vw, 925px" /></figure>



<p>Next, run the following command to install MinGW. Unlike the website’s guide, this will install the complete toolchain package set. When prompted to choose which package to install, simply press <strong>Enter</strong> to skip the selection and install everything:</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>pacman -S --needed base-devel mingw-w64-x86_64-toolchain</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #88C0D0">pacman</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">-S</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">--needed</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">base-devel</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">mingw-w64-x86_64-toolchain</span></span></code></pre></div>



<p>When you run the command, you’ll see an interface similar to the screenshot shown below.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="925" height="500" src="https://kemena3d.com/site/wp-content/uploads/2025/08/image.png" alt="" class="wp-image-812" srcset="https://kemena3d.com/site/wp-content/uploads/2025/08/image.png 925w, https://kemena3d.com/site/wp-content/uploads/2025/08/image-300x162.png 300w, https://kemena3d.com/site/wp-content/uploads/2025/08/image-768x415.png 768w" sizes="(max-width: 925px) 100vw, 925px" /></figure>



<p>Once the installation is complete, you can close MSYS2. To verify that MinGW was installed successfully, check whether the mingw folder contains files (for example: <code>C:\msys64\mingw64\bin</code>). If it’s not empty, the installation was successful.</p>



<h2 class="wp-block-heading">Installing CMake</h2>



<p>In addition, you can install CMake from the MSYS2 package manager if you don&#8217;t already have it installed:</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>pacman -S mingw-w64-x86_64-cmake</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #88C0D0">pacman</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">-S</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">mingw-w64-x86_64-cmake</span></span></code></pre></div>



<p>Let the process run for a while, and soon you’ll have CMake working together with MinGW</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="925" height="500" src="https://kemena3d.com/site/wp-content/uploads/2025/08/image-4.png" alt="" class="wp-image-836" srcset="https://kemena3d.com/site/wp-content/uploads/2025/08/image-4.png 925w, https://kemena3d.com/site/wp-content/uploads/2025/08/image-4-300x162.png 300w, https://kemena3d.com/site/wp-content/uploads/2025/08/image-4-768x415.png 768w" sizes="(max-width: 925px) 100vw, 925px" /></figure>



<h2 class="wp-block-heading">Setting System Environment Variable</h2>



<p>On Windows, you need to add the MSYS2 MinGW path to the system PATH environment variable so that the Command Prompt can locate the MinGW and CMake executables. Navigate to Control Panel → System Properties → Environment Variables.</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="546" height="572" src="https://kemena3d.com/site/wp-content/uploads/2025/08/image-5.png" alt="" class="wp-image-840" style="width:332px;height:auto" srcset="https://kemena3d.com/site/wp-content/uploads/2025/08/image-5.png 546w, https://kemena3d.com/site/wp-content/uploads/2025/08/image-5-286x300.png 286w" sizes="(max-width: 546px) 100vw, 546px" /></figure>



<p>Afterwards, ensure that you add the proper path (e.g. <em>C:\msys64\mingw64\bin</em>) to the <code>PATH</code> environment variable, in either the <code>System variables</code> or <code>User variables</code> section.</p>



<p>That’s it! You can now try compiling the Kemena3D SDK or Kemena3D Studio. Happy coding!</p><p>The post <a href="https://kemena3d.com/installing-mingw-via-msys2-windows/">Installing MinGW via Msys2 (Windows)</a> first appeared on <a href="https://kemena3d.com">Kemena3D</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Building Kemena3D SDK (Linux &#8211; Ubuntu)</title>
		<link>https://kemena3d.com/building-kemena3d-sdk-linux/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=building-kemena3d-sdk-linux</link>
		
		<dc:creator><![CDATA[leezhieng]]></dc:creator>
		<pubDate>Fri, 27 Jun 2025 19:11:17 +0000</pubDate>
				<category><![CDATA[SDK]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[cmake]]></category>
		<category><![CDATA[gcc]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">https://kemena3d.com/?p=705</guid>

					<description><![CDATA[<p>Learn how to access the source code of the Kemena3D SDK, retrieve and compile its required dependencies, and build the SDK according to your specific development needs. This guide will walk you through each step to help you get up and running smoothly.</p>
<p>The post <a href="https://kemena3d.com/building-kemena3d-sdk-linux/">Building Kemena3D SDK (Linux – Ubuntu)</a> first appeared on <a href="https://kemena3d.com">Kemena3D</a>.</p>]]></description>
										<content:encoded><![CDATA[<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow" style="border-width:1px;padding-top:15px;padding-right:15px;padding-bottom:15px;padding-left:15px">
<p class="has-vivid-red-color has-text-color has-link-color wp-elements-9afc96a74f1b7ab8eb4cb2910d873c22">⚠️The SDK build process has undergone major changes, now using Python scripts instead of batch scripts. As a result, this tutorial is outdated. The documentation will be updated when time permits, thank you for your patience.</p>
</blockquote>



<h2 class="wp-block-heading">Prerequisite Software</h2>



<p>Before getting started, make sure to install the necessary prerequisite software. This includes a compiler appropriate for your target platform, as well as Git for cloning the source code from the repository.</p>



<figure class="wp-block-table is-style-regular"><table class="has-white-background-color has-background"><thead><tr><th>Operating System</th><th>Software</th></tr></thead><tbody><tr><td>Linux</td><td>&#8211; Git and Github CLI (optional)<br>&#8211; GCC 14 and above (and other tools in build-essential package)<br>&#8211; CMake 3.10 or above<br>&#8211; Curl (for downloading packages)<br>&#8211; OpenGL development libraries (libgl1-mesa-dev libglu1-mesa-dev)<br>&#8211; Other linux dependencies <a href="https://github.com/libsdl-org/SDL/blob/main/docs/README-linux.md" title="">https://github.com/libsdl-org/SDL/blob/main/docs/README-linux.md</a></td></tr></tbody></table></figure>



<p><em>(Note: We&#8217;re using Ubuntu for this tutorial, but the tools and dependencies should be similar across most Linux distributions. The only differences you might notice are in the screenshots, which can vary depending on the desktop environment used.)</em></p>



<h2 class="wp-block-heading">Obtaining Source Code</h2>



<p>To build the Kemena3D SDK from source, the first step is to obtain the SDK’s source code. You can either download an official stable release from <a href="https://kemena3d.com/downloads" title="">https://kemena3d.com/downloads</a>, or access the latest development version directly from our GitHub repository at <a href="https://github.com/leezhieng/kemena3d" title="">https://github.com/leezhieng/kemena3d</a>.</p>



<p>After cloning the Git repository or extracting the source code from the ZIP archive, you’ll find a directory structure containing folders such as <code>Assets</code>, <code>Demo</code>, <code>Dependencies</code>, <code>Source</code> and <code>Tools</code>. Below is an overview of the purpose of each folder:</p>



<figure class="wp-block-table is-style-regular"><table class="has-white-background-color has-background"><thead><tr><th>Folder</th><th>Description</th></tr></thead><tbody><tr><td>Assets</td><td>This folder contains various test assets that you can use to experiment with and evaluate the engine’s features. Please note that each asset may be distributed under a different license, some may not permit use in commercial projects. Be sure to review the <code>README</code> file included in each asset&#8217;s folder for specific licensing details.</td></tr><tr><td>Demo</td><td>Here you’ll find the source code for the demo projects designed to showcase Kemena3D in action. You can also download a pre-built version of the demo from our official website if you prefer to try it without building from source.</td></tr><tr><td>Dependencies</td><td>All external libraries required by the engine are managed here. To respect the individual licenses of these libraries, we do not include or fork them directly in the repository. Instead, we provide a shell script that automates downloading and building the necessary dependencies with configurable options for your build environment.</td></tr><tr><td>Source</td><td>This folder contains the complete source code for the Kemena3D SDK, including all engine core classes. The source code for AngelScript is directly bundled in this directory, in accordance with the author’s recommendation and licensing terms, which permit redistribution.</td></tr><tr><td>Tools</td><td>This folder contains a collection of tools to help you prepare and process your assets. For example skybox generator, normal map generator, image converter, and other utilities designed to streamline your asset pipeline and enhance development workflow.</td></tr></tbody></table></figure>



<p><em>(Note: This project includes only the SDK. The full editor is maintained as a separate project, which you can access at <a href="https://github.com/leezhieng/kemena3d-studio" title="">https://github.com/leezhieng/kemena3d-studio</a>.)</em></p>



<h2 class="wp-block-heading">Downloading and Building Dependencies</h2>



<p>One of the most challenging aspects of building a C++ project is managing dependencies. To simplify this process, we’ve provided an easy-to-use shell script that automatically downloads and builds all required dependencies based on a few simple configuration options. You can find this script in the <code>Dependencies</code> folder, each supported operating system has its own version of the script.</p>



<figure class="wp-block-table is-style-regular"><table class="has-white-background-color has-background"><thead><tr><th>Operating System</th><th>Shell Script</th></tr></thead><tbody><tr><td>Linux</td><td>download_dep_linux.sh</td></tr></tbody></table></figure>



<p><em>(Note: Refers to the operating system you’re using for development, not the platform you’re targeting. For example, if you’re developing on Windows but building your project for Android, you should still run <code>download_dep_windows.bat</code>.) </em></p>



<p>By default, the script may not be executable because all files are treated as plain text unless explicitly marked otherwise. To make it executable, right-click the file, open the <strong>Properties</strong> window, and ensure the <strong>&#8220;Executable as Program&#8221;</strong> option is enabled.</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="427" height="600" src="https://kemena3d.com/site/wp-content/uploads/2025/06/image-21.png" alt="" class="wp-image-738" style="width:299px;height:auto" srcset="https://kemena3d.com/site/wp-content/uploads/2025/06/image-21.png 427w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-21-214x300.png 214w" sizes="(max-width: 427px) 100vw, 427px" /></figure>



<p>Even after enabling the option, double-clicking the file may still not run it as a program. Instead, right-click the file and select the new <strong>&#8220;Run as a Program&#8221;</strong> option to execute it.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="439" height="324" src="https://kemena3d.com/site/wp-content/uploads/2025/06/image-18.png" alt="" class="wp-image-732" srcset="https://kemena3d.com/site/wp-content/uploads/2025/06/image-18.png 439w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-18-300x221.png 300w" sizes="(max-width: 439px) 100vw, 439px" /></figure>



<p>When you run the shell script, you’ll see an interface similar to the screenshot shown below.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="819" height="582" src="https://kemena3d.com/site/wp-content/uploads/2025/06/image-19.png" alt="" class="wp-image-733" srcset="https://kemena3d.com/site/wp-content/uploads/2025/06/image-19.png 819w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-19-300x213.png 300w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-19-768x546.png 768w" sizes="(max-width: 819px) 100vw, 819px" /></figure>



<p><em>(Note: If you&#8217;re coming from Windows or macOS, you might notice that Linux shell script offers only 2 options instead of 3. This is because Linux typically uses a single compiler <strong>GCC</strong>, unlike other platforms that may offer alternatives like MSVC or Xcode.)</em></p>



<p>Before proceeding with the download and compilation of dependencies, the shell script will prompt you with a few configuration options:</p>



<ol class="wp-block-list">
<li><strong>Static or Dynamic Linking</strong><br>Decide whether to link the dependencies <strong>statically</strong> (embed all required functionality directly into the executable) or <strong>dynamically</strong> (link via SOs at runtime).<br>We recommend static linking in most cases, as the licenses of the included dependencies typically allow it. However, some use cases, such as integrating with other modules under restrictive licenses (e.g., the Qt Community Edition, which doesn&#8217;t permit static linking in certain scenarios), may require dynamic linking instead.</li>



<li><strong>Configure Assimp Settings</strong><br>Choose how you want to configure <strong>Assimp</strong> support:
<ul class="wp-block-list">
<li>Include <strong>all supported 3D model formats</strong> (import and export), ideal for use in game editors or tools where broad format support is needed.</li>



<li>Enable <strong>read-only GLTF format support only</strong>, which is recommended if you want a smaller executable and only need GLTF support for runtime use.<br><em>(Note: You can customize this option in the shell script if you need a different format besides GLTF.)</em></li>
</ul>
</li>
</ol>



<p></p>



<p>Once you’ve selected your preferred build options, the shell script will begin downloading all required dependencies, either by cloning their repositories or fetching official stable releases, and then proceed to build them based on your chosen configuration.</p>



<p>The entire process typically takes around 15 to 20 minutes, depending on your system and internet speed. Feel free to sit back and relax while the script takes care of the setup for you.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="821" height="583" src="https://kemena3d.com/site/wp-content/uploads/2025/06/image-22.png" alt="" class="wp-image-739" srcset="https://kemena3d.com/site/wp-content/uploads/2025/06/image-22.png 821w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-22-300x213.png 300w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-22-768x545.png 768w" sizes="(max-width: 821px) 100vw, 821px" /></figure>



<p>You may encounter some warnings during the compilation process. However, as long as the build completes without errors, these warnings can generally be ignored and won&#8217;t affect the functionality of the engine or its dependencies.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="819" height="582" src="https://kemena3d.com/site/wp-content/uploads/2025/06/image-23.png" alt="" class="wp-image-750" srcset="https://kemena3d.com/site/wp-content/uploads/2025/06/image-23.png 819w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-23-300x213.png 300w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-23-768x546.png 768w" sizes="(max-width: 819px) 100vw, 819px" /></figure>



<p>If you need to change the build configuration or perform a clean build of the dependencies, you can <strong>safely delete all subfolders</strong> inside the <code>Dependencies</code> directory. Then, simply re-run the shell script to start the setup process from scratch. This approach is recommended to prevent any potential configuration conflicts or build issues.</p>



<h2 class="wp-block-heading">Building the SDK from Source Code</h2>



<p>To build the Kemena3D SDK, navigate back to the root directory where you&#8217;ll find the CMakeLists.txt file, this is where all the build settings are defined. While you&#8217;re free to run CMake manually using this file, we’ve made the process easier by providing a pre-configured shell script. Just like with the dependencies, each supported operating system comes with its own version of the script for convenience.</p>



<figure class="wp-block-table is-style-regular"><table class="has-white-background-color has-background"><thead><tr><th>Operating System</th><th>Shell Script</th></tr></thead><tbody><tr><td>Linux</td><td>build_sdk_linux.sh</td></tr></tbody></table></figure>



<p>Just like before, you’ll be prompted to choose whether to build the SDK as a static or dynamic library. Once you&#8217;ve made your selection, the build process will begin.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="818" height="581" src="https://kemena3d.com/site/wp-content/uploads/2025/06/image-24.png" alt="" class="wp-image-753" srcset="https://kemena3d.com/site/wp-content/uploads/2025/06/image-24.png 818w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-24-300x213.png 300w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-24-768x545.png 768w" sizes="(max-width: 818px) 100vw, 818px" /></figure>



<p>This step is usually much quicker than building the dependencies. In most cases, it only takes a minute or two to complete.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="819" height="582" src="https://kemena3d.com/site/wp-content/uploads/2025/06/image-25.png" alt="" class="wp-image-757" srcset="https://kemena3d.com/site/wp-content/uploads/2025/06/image-25.png 819w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-25-300x213.png 300w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-25-768x546.png 768w" sizes="(max-width: 819px) 100vw, 819px" /></figure>



<p>After successfully completing the build process without any errors, the compiled library files will be located in the <code>/Source/lib/Debug</code> and <code>/Source/lib/Release</code> directories.</p>



<p>The types of files generated, such as <code>.lib</code>, <code>.a</code>, or <code>.dll</code> will depend on your chosen linking method (static or dynamic).</p>



<ul class="wp-block-list">
<li>For <strong>static builds</strong>, you’ll typically see <code>.lib</code> (on Visual Studio) or <code>.a</code> (on MinGW, Linux, macOS).</li>



<li>For <strong>dynamic builds</strong>, you’ll see <code>.dll</code> on Windows and <code>.so</code> or <code>.dylib</code> on Linux/macOS, along with their corresponding import libraries (<code>.lib</code> or <code>.a</code>).</li>
</ul>



<p></p>



<p>Congratulations! You’ve successfully built the Kemena3D SDK! It&#8217;s now fully ready to be integrated into your projects. Whether you&#8217;re developing a game, visualization tool, or interactive application, you can now start leveraging the full power of the engine in your development workflow.</p><p>The post <a href="https://kemena3d.com/building-kemena3d-sdk-linux/">Building Kemena3D SDK (Linux – Ubuntu)</a> first appeared on <a href="https://kemena3d.com">Kemena3D</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Building Kemena3D SDK (macOS)</title>
		<link>https://kemena3d.com/building-kemena3d-sdk-macos/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=building-kemena3d-sdk-macos</link>
		
		<dc:creator><![CDATA[leezhieng]]></dc:creator>
		<pubDate>Fri, 27 Jun 2025 13:26:55 +0000</pubDate>
				<category><![CDATA[SDK]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[cmake]]></category>
		<category><![CDATA[gcc]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[homebrew]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[make]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[xcode]]></category>
		<guid isPermaLink="false">https://kemena3d.com/?p=651</guid>

					<description><![CDATA[<p>Learn how to access the source code of the Kemena3D SDK, retrieve and compile its required dependencies, and build the SDK according to your specific development needs. This guide will walk you through each step to help you get up and running smoothly.</p>
<p>The post <a href="https://kemena3d.com/building-kemena3d-sdk-macos/">Building Kemena3D SDK (macOS)</a> first appeared on <a href="https://kemena3d.com">Kemena3D</a>.</p>]]></description>
										<content:encoded><![CDATA[<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow" style="border-width:1px;padding-top:15px;padding-right:15px;padding-bottom:15px;padding-left:15px">
<p class="has-vivid-red-color has-text-color has-link-color wp-elements-9afc96a74f1b7ab8eb4cb2910d873c22">⚠️The SDK build process has undergone major changes, now using Python scripts instead of batch scripts. As a result, this tutorial is outdated. The documentation will be updated when time permits, thank you for your patience.</p>
</blockquote>



<h2 class="wp-block-heading">Prerequisite Software</h2>



<p>Before getting started, make sure to install the necessary prerequisite software. This includes a compiler appropriate for your target platform, as well as Git for cloning the source code from the repository.</p>



<figure class="wp-block-table is-style-regular"><table class="has-white-background-color has-background"><thead><tr><th>Operating System</th><th>Software</th></tr></thead><tbody><tr><td>macOS</td><td>&#8211; Git<br>&#8211; Xcode 16 or above<br>&#8211; Homebrew (optional, for installing CMake and GCC)<br>&#8211; CMake 3.10 or above<br>&#8211; GCC (if not using Xcode)</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Obtaining Source Code</h2>



<p>To build the Kemena3D SDK from source, the first step is to obtain the SDK’s source code. You can either download an official stable release from <a href="https://kemena3d.com/downloads" title="">https://kemena3d.com/downloads</a>, or access the latest development version directly from our GitHub repository at <a href="https://github.com/leezhieng/kemena3d" title="">https://github.com/leezhieng/kemena3d</a>.</p>



<p>After cloning the Git repository or extracting the source code from the ZIP archive, you’ll find a directory structure containing folders such as <code>Assets</code>, <code>Demo</code>, <code>Dependencies</code>, <code>Source</code> and <code>Tools</code>. Below is an overview of the purpose of each folder:</p>



<figure class="wp-block-table is-style-regular"><table class="has-white-background-color has-background"><thead><tr><th>Folder</th><th>Description</th></tr></thead><tbody><tr><td>Assets</td><td>This folder contains various test assets that you can use to experiment with and evaluate the engine’s features. Please note that each asset may be distributed under a different license, some may not permit use in commercial projects. Be sure to review the <code>README</code> file included in each asset&#8217;s folder for specific licensing details.</td></tr><tr><td>Demo</td><td>Here you’ll find the source code for the demo projects designed to showcase Kemena3D in action. You can also download a pre-built version of the demo from our official website if you prefer to try it without building from source.</td></tr><tr><td>Dependencies</td><td>All external libraries required by the engine are managed here. To respect the individual licenses of these libraries, we do not include or fork them directly in the repository. Instead, we provide a shell script that automates downloading and building the necessary dependencies with configurable options for your build environment.</td></tr><tr><td>Source</td><td>This folder contains the complete source code for the Kemena3D SDK, including all engine core classes. The source code for AngelScript is directly bundled in this directory, in accordance with the author’s recommendation and licensing terms, which permit redistribution.</td></tr><tr><td>Tools</td><td>This folder contains a collection of tools to help you prepare and process your assets. For example skybox generator, normal map generator, image converter, and other utilities designed to streamline your asset pipeline and enhance development workflow.</td></tr></tbody></table></figure>



<p><em>(Note: This project includes only the SDK. The full editor is maintained as a separate project, which you can access at <a href="https://github.com/leezhieng/kemena3d-studio" title="">https://github.com/leezhieng/kemena3d-studio</a>.)</em></p>



<h2 class="wp-block-heading">Downloading and Building Dependencies</h2>



<p>One of the most challenging aspects of building a C++ project is managing dependencies. To simplify this process, we’ve provided an easy-to-use shell script that automatically downloads and builds all required dependencies based on a few simple configuration options. You can find this script in the <code>Dependencies</code> folder, each supported operating system has its own version of the script.</p>



<figure class="wp-block-table is-style-regular"><table class="has-white-background-color has-background"><thead><tr><th>Operating System</th><th>Shell Script</th></tr></thead><tbody><tr><td>macOS</td><td>download_dep_mac.command</td></tr></tbody></table></figure>



<p><em>(Note: Refers to the operating system you’re using for development, not the platform you’re targeting. For example, if you’re developing on Windows but building your project for Android, you should still run <code>download_dep_windows.bat</code>.) </em></p>



<p>The first time you run the shell script, you might see a security warning stating that it can&#8217;t be opened. To proceed, you’ll need to manually allow it from the <strong>Privacy &amp; Security</strong> settings page.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="249" height="249" src="https://kemena3d.com/site/wp-content/uploads/2025/06/image-5.png" alt="" class="wp-image-662" srcset="https://kemena3d.com/site/wp-content/uploads/2025/06/image-5.png 249w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-5-150x150.png 150w" sizes="(max-width: 249px) 100vw, 249px" /></figure>



<p>Go to <strong>Settings </strong>→ <strong>Privacy &amp; Security</strong> → <strong>Security</strong> and click <strong>Open Anyway</strong>.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="673" height="586" src="https://kemena3d.com/site/wp-content/uploads/2025/06/image-7.png" alt="" class="wp-image-663" srcset="https://kemena3d.com/site/wp-content/uploads/2025/06/image-7.png 673w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-7-300x261.png 300w" sizes="(max-width: 673px) 100vw, 673px" /></figure>



<p>If you still can’t run the shell script and encounter the error message shown below, you’ll need to run a terminal command to grant execution permission. This is a macOS security measure designed to protect your system.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="248" height="281" src="https://kemena3d.com/site/wp-content/uploads/2025/06/image-11.png" alt="" class="wp-image-684"/></figure>



<p>Use the <code>cd</code> command to navigate to the <code>Dependencies</code> folder inside the Kemena3D SDK directory, then run</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>chmod +x download_dep_mac.command</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #88C0D0">chmod</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">+x</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">download_dep_mac.command</span></span></code></pre></div>



<p></p>



<p>to grant execute permission. The shell script should now be ready to run.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="553" height="351" src="https://kemena3d.com/site/wp-content/uploads/2025/06/image-12.png" alt="" class="wp-image-685" srcset="https://kemena3d.com/site/wp-content/uploads/2025/06/image-12.png 553w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-12-300x190.png 300w" sizes="(max-width: 553px) 100vw, 553px" /></figure>



<p>Run the shell script again, this time, you’ll see an interface similar to the screenshot shown below.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="683" height="442" src="https://kemena3d.com/site/wp-content/uploads/2025/06/image-1.png" alt="" class="wp-image-660" srcset="https://kemena3d.com/site/wp-content/uploads/2025/06/image-1.png 683w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-1-300x194.png 300w" sizes="(max-width: 683px) 100vw, 683px" /></figure>



<p>Before proceeding with the download and compilation of dependencies, the shell script will prompt you with a few configuration options:</p>



<ol class="wp-block-list">
<li><strong>Select a Compiler</strong><br>Choose whether to build the dependencies using <strong>XCode</strong> or <strong>GCC</strong>. This selection must match the compiler you&#8217;re using to build your project.</li>



<li><strong>Static or Dynamic Linking</strong><br>Decide whether to link the dependencies <strong>statically</strong> (embed all required functionality directly into the executable) or <strong>dynamically</strong> (link via DYLIBs at runtime).<br>We recommend static linking in most cases, as the licenses of the included dependencies typically allow it. However, some use cases, such as integrating with other modules under restrictive licenses (e.g., the Qt Community Edition, which doesn&#8217;t permit static linking in certain scenarios), may require dynamic linking instead.</li>



<li><strong>Configure Assimp Settings</strong><br>Choose how you want to configure <strong>Assimp</strong> support:
<ul class="wp-block-list">
<li>Include <strong>all supported 3D model formats</strong> (import and export), ideal for use in game editors or tools where broad format support is needed.</li>



<li>Enable <strong>read-only GLTF format support only</strong>, which is recommended if you want a smaller executable and only need GLTF support for runtime use.<br><em>(Note: You can customize this option in the shell script if you need a different format besides GLTF.)</em></li>
</ul>
</li>
</ol>



<p></p>



<p>Once you’ve selected your preferred build options, the shell script will begin downloading all required dependencies, either by cloning their repositories or fetching official stable releases, and then proceed to build them based on your chosen configuration.</p>



<p>The entire process typically takes around 15 to 20 minutes, depending on your system and internet speed. Feel free to sit back and relax while the script takes care of the setup for you.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="552" height="351" src="https://kemena3d.com/site/wp-content/uploads/2025/06/image-9.png" alt="" class="wp-image-675" srcset="https://kemena3d.com/site/wp-content/uploads/2025/06/image-9.png 552w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-9-300x191.png 300w" sizes="(max-width: 552px) 100vw, 552px" /></figure>



<p>You may encounter some warnings during the compilation process. However, as long as the build completes without errors, these warnings can generally be ignored and won&#8217;t affect the functionality of the engine or its dependencies.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="611" height="390" src="https://kemena3d.com/site/wp-content/uploads/2025/06/image-10.png" alt="" class="wp-image-681" srcset="https://kemena3d.com/site/wp-content/uploads/2025/06/image-10.png 611w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-10-300x191.png 300w" sizes="(max-width: 611px) 100vw, 611px" /></figure>



<p>If you encounter the following error <code>xcrun: error: unable to find utility "metal", not a developer tool or in PATH</code> and the build fails, you’ll need to open the terminal and run this command:</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #88C0D0">sudo</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">xcode-select</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">--switch</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">/Applications/Xcode.app/Contents/Developer</span></span></code></pre></div>



<p></p>



<p>That should fix the error above.</p>



<p>If you need to change the build configuration or perform a clean build of the dependencies, you can <strong>safely delete all subfolders</strong> inside the <code>Dependencies</code> directory. Then, simply re-run the shell script to start the setup process from scratch. This approach is recommended to prevent any potential configuration conflicts or build issues.</p>



<h2 class="wp-block-heading">Building the SDK from Source Code</h2>



<p>To build the Kemena3D SDK, navigate back to the root directory where you&#8217;ll find the CMakeLists.txt file, this is where all the build settings are defined. While you&#8217;re free to run CMake manually using this file, we’ve made the process easier by providing a pre-configured shell script. Just like with the dependencies, each supported operating system comes with its own version of the script for convenience.</p>



<figure class="wp-block-table is-style-regular"><table class="has-white-background-color has-background"><thead><tr><th>Operating System</th><th>Shell Script</th></tr></thead><tbody><tr><td>macOS</td><td>build_sdk_mac.command</td></tr></tbody></table></figure>



<p>Just like before, you’ll be prompted to choose two options: the compiler you want to use and whether to build the SDK as a static or dynamic library. Once you&#8217;ve made your selections, the build process will begin.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="637" height="403" src="https://kemena3d.com/site/wp-content/uploads/2025/06/image-14.png" alt="" class="wp-image-697" srcset="https://kemena3d.com/site/wp-content/uploads/2025/06/image-14.png 637w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-14-300x190.png 300w" sizes="(max-width: 637px) 100vw, 637px" /></figure>



<p>This step is usually much quicker than building the dependencies. In most cases, it only takes a minute or two to complete.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="689" height="429" src="https://kemena3d.com/site/wp-content/uploads/2025/06/image-15.png" alt="" class="wp-image-699" srcset="https://kemena3d.com/site/wp-content/uploads/2025/06/image-15.png 689w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-15-300x187.png 300w" sizes="(max-width: 689px) 100vw, 689px" /></figure>



<p>After successfully completing the build process without any errors, the compiled library files will be located in the <code>/Source/lib/Debug</code> and <code>/Source/lib/Release</code> directories.</p>



<p>The types of files generated, such as <code>.lib</code>, <code>.a</code>, or <code>.dll</code> will depend on your chosen linking method (static or dynamic).</p>



<ul class="wp-block-list">
<li>For <strong>static builds</strong>, you’ll typically see <code>.lib</code> (on Visual Studio) or <code>.a</code> (on MinGW, Linux, macOS).</li>



<li>For <strong>dynamic builds</strong>, you’ll see <code>.dll</code> on Windows and <code>.so</code> or <code>.dylib</code> on Linux/macOS, along with their corresponding import libraries (<code>.lib</code> or <code>.a</code>).</li>
</ul>



<p></p>



<p>Congratulations! You’ve successfully built the Kemena3D SDK! It&#8217;s now fully ready to be integrated into your projects. Whether you&#8217;re developing a game, visualization tool, or interactive application, you can now start leveraging the full power of the engine in your development workflow.</p><p>The post <a href="https://kemena3d.com/building-kemena3d-sdk-macos/">Building Kemena3D SDK (macOS)</a> first appeared on <a href="https://kemena3d.com">Kemena3D</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Building Kemena3D SDK (Windows)</title>
		<link>https://kemena3d.com/building-kemena3d-sdk-windows/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=building-kemena3d-sdk-windows</link>
		
		<dc:creator><![CDATA[leezhieng]]></dc:creator>
		<pubDate>Wed, 25 Jun 2025 06:20:41 +0000</pubDate>
				<category><![CDATA[SDK]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[cmake]]></category>
		<category><![CDATA[gcc]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[mingw]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[studio]]></category>
		<category><![CDATA[visual]]></category>
		<category><![CDATA[windows]]></category>
		<guid isPermaLink="false">https://kemena3d.com/?p=398</guid>

					<description><![CDATA[<p>Learn how to access the source code of the Kemena3D SDK, retrieve and compile its required dependencies, and build the SDK according to your specific development needs. This guide will walk you through each step to help you get up and running smoothly.</p>
<p>The post <a href="https://kemena3d.com/building-kemena3d-sdk-windows/">Building Kemena3D SDK (Windows)</a> first appeared on <a href="https://kemena3d.com">Kemena3D</a>.</p>]]></description>
										<content:encoded><![CDATA[<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow" style="border-width:1px;padding-top:15px;padding-right:15px;padding-bottom:15px;padding-left:15px">
<p class="has-vivid-red-color has-text-color has-link-color wp-elements-9afc96a74f1b7ab8eb4cb2910d873c22">⚠️The SDK build process has undergone major changes, now using Python scripts instead of batch scripts. As a result, this tutorial is outdated. The documentation will be updated when time permits, thank you for your patience.</p>
</blockquote>



<h2 class="wp-block-heading">Prerequisite Software</h2>



<p>Before getting started, make sure to install the necessary prerequisite software. This includes a compiler appropriate for your target platform, as well as Git for cloning the source code from the repository.</p>



<figure class="wp-block-table is-style-regular"><table class="has-white-background-color has-background"><thead><tr><th>Operating System</th><th>Software</th></tr></thead><tbody><tr><td>Windows</td><td>&#8211; Git and TortoiseGit (optional)<br>&#8211; Visual Studio 2022 Community Edition with &#8220;Game Development with C++&#8221; modules<br>&#8211; MinGW 14 or above (if not using Visual Studio)<br>&#8211; CMake 3.10 or above</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Obtaining Source Code</h2>



<p>To build the Kemena3D SDK from source, the first step is to obtain the SDK’s source code. You can either download an official stable release from <a href="https://kemena3d.com/downloads" title="">https://kemena3d.com/downloads</a>, or access the latest development version directly from our GitHub repository at <a href="https://github.com/leezhieng/kemena3d" title="">https://github.com/leezhieng/kemena3d</a>.</p>



<p>After cloning the Git repository or extracting the source code from the ZIP archive, you’ll find a directory structure containing folders such as <code>Assets</code>, <code>Demo</code>, <code>Dependencies</code>, <code>Source</code> and <code>Tools</code>. Below is an overview of the purpose of each folder:</p>



<figure class="wp-block-table is-style-regular"><table class="has-white-background-color has-background"><thead><tr><th>Folder</th><th>Description</th></tr></thead><tbody><tr><td>Assets</td><td>This folder contains various test assets that you can use to experiment with and evaluate the engine’s features. Please note that each asset may be distributed under a different license, some may not permit use in commercial projects. Be sure to review the <code>README</code> file included in each asset&#8217;s folder for specific licensing details.</td></tr><tr><td>Demo</td><td>Here you’ll find the source code for the demo projects designed to showcase Kemena3D in action. You can also download a pre-built version of the demo from our official website if you prefer to try it without building from source.</td></tr><tr><td>Dependencies</td><td>All external libraries required by the engine are managed here. To respect the individual licenses of these libraries, we do not include or fork them directly in the repository. Instead, we provide a batch script that automates downloading and building the necessary dependencies with configurable options for your build environment.</td></tr><tr><td>Source</td><td>This folder contains the complete source code for the Kemena3D SDK, including all engine core classes. The source code for AngelScript is directly bundled in this directory, in accordance with the author’s recommendation and licensing terms, which permit redistribution.</td></tr><tr><td>Tools</td><td>This folder contains a collection of tools to help you prepare and process your assets. For example skybox generator, normal map generator, image converter, and other utilities designed to streamline your asset pipeline and enhance development workflow.</td></tr></tbody></table></figure>



<p><em>(Note: This project includes only the SDK. The full editor is maintained as a separate project, which you can access at <a href="https://github.com/leezhieng/kemena3d-studio" title="">https://github.com/leezhieng/kemena3d-studio</a>.)</em></p>



<h2 class="wp-block-heading">Downloading and Building Dependencies</h2>



<p>One of the most challenging aspects of building a C++ project is managing dependencies. To simplify this process, we’ve provided an easy-to-use batch script that automatically downloads and builds all required dependencies based on a few simple configuration options. You can find this script in the <code>Dependencies</code> folder, each supported operating system has its own version of the script.</p>



<figure class="wp-block-table is-style-regular"><table class="has-white-background-color has-background"><thead><tr><th>Operating System</th><th>Batch Script</th></tr></thead><tbody><tr><td>Windows</td><td>download_dep_windows.bat</td></tr></tbody></table></figure>



<p><em>(Note: Refers to the operating system you’re using for development, not the platform you’re targeting. For example, if you’re developing on Windows but building your project for Android, you should still run <code>download_dep_windows.bat</code>.) </em></p>



<p>When you run the batch script, you’ll see an interface similar to the screenshot shown below.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="577" src="https://kemena3d.com/site/wp-content/uploads/2025/06/image-1024x577.png" alt="" class="wp-image-440" srcset="https://kemena3d.com/site/wp-content/uploads/2025/06/image-1024x577.png 1024w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-300x169.png 300w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-768x433.png 768w, https://kemena3d.com/site/wp-content/uploads/2025/06/image.png 1115w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Before proceeding with the download and compilation of dependencies, the batch script will prompt you with a few configuration options:</p>



<ol class="wp-block-list">
<li><strong>Select a Compiler</strong><br>Choose whether to build the dependencies using <strong>Visual Studio 2022 Community Edition</strong> or <strong>MinGW</strong>. This selection must match the compiler you&#8217;re using to build your project.</li>



<li><strong>Static or Dynamic Linking</strong><br>Decide whether to link the dependencies <strong>statically</strong> (embed all required functionality directly into the executable) or <strong>dynamically</strong> (link via DLLs at runtime).<br>We recommend static linking in most cases, as the licenses of the included dependencies typically allow it. However, some use cases, such as integrating with other modules under restrictive licenses (e.g., the Qt Community Edition, which doesn&#8217;t permit static linking in certain scenarios), may require dynamic linking instead.</li>



<li><strong>Configure Assimp Settings</strong><br>Choose how you want to configure <strong>Assimp</strong> support:
<ul class="wp-block-list">
<li>Include <strong>all supported 3D model formats</strong> (import and export), ideal for use in game editors or tools where broad format support is needed.</li>



<li>Enable <strong>read-only GLTF format support only</strong>, which is recommended if you want a smaller executable and only need GLTF support for runtime use.<br><em>(Note: You can customize this option in the batch script if you need a different format besides GLTF.)</em></li>
</ul>
</li>
</ol>



<p></p>



<p>Once you’ve selected your preferred build options, the batch script will begin downloading all required dependencies, either by cloning their repositories or fetching official stable releases, and then proceed to build them based on your chosen configuration.</p>



<p>The entire process typically takes around 15 to 20 minutes, depending on your system and internet speed. Feel free to sit back and relax while the script takes care of the setup for you.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1024" height="577" src="https://kemena3d.com/site/wp-content/uploads/2025/06/image-2.png" alt="" class="wp-image-449" srcset="https://kemena3d.com/site/wp-content/uploads/2025/06/image-2.png 1024w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-2-300x169.png 300w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-2-768x433.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>You may encounter some warnings during the compilation process. However, as long as the build completes without errors, these warnings can generally be ignored and won&#8217;t affect the functionality of the engine or its dependencies.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="577" src="https://kemena3d.com/site/wp-content/uploads/2025/06/image-3-1024x577.png" alt="" class="wp-image-467" srcset="https://kemena3d.com/site/wp-content/uploads/2025/06/image-3-1024x577.png 1024w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-3-300x169.png 300w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-3-768x433.png 768w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-3.png 1115w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>If you need to change the build configuration or perform a clean build of the dependencies, you can <strong>safely delete all subfolders</strong> inside the <code>Dependencies</code> directory. Then, simply re-run the batch script to start the setup process from scratch. This approach is recommended to prevent any potential configuration conflicts or build issues.</p>



<h2 class="wp-block-heading">Building the SDK from Source Code</h2>



<p>To build the Kemena3D SDK, navigate back to the root directory where you&#8217;ll find the CMakeLists.txt file, this is where all the build settings are defined. While you&#8217;re free to run CMake manually using this file, we’ve made the process easier by providing a pre-configured batch script. Just like with the dependencies, each supported operating system comes with its own version of the script for convenience.</p>



<figure class="wp-block-table is-style-regular"><table class="has-white-background-color has-background"><thead><tr><th>Operating System</th><th>Batch Script</th></tr></thead><tbody><tr><td>Windows</td><td>build_sdk_windows.bat</td></tr></tbody></table></figure>



<p>Just like before, you’ll be prompted to choose two options: the compiler you want to use and whether to build the SDK as a static or dynamic library. Once you&#8217;ve made your selections, the build process will begin.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="577" src="https://kemena3d.com/site/wp-content/uploads/2025/06/image-4-1024x577.png" alt="" class="wp-image-578" srcset="https://kemena3d.com/site/wp-content/uploads/2025/06/image-4-1024x577.png 1024w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-4-300x169.png 300w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-4-768x433.png 768w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-4.png 1115w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>This step is usually much quicker than building the dependencies. In most cases, it only takes a minute or two to complete.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="577" src="https://kemena3d.com/site/wp-content/uploads/2025/06/image-6-1024x577.png" alt="" class="wp-image-585" srcset="https://kemena3d.com/site/wp-content/uploads/2025/06/image-6-1024x577.png 1024w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-6-300x169.png 300w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-6-768x433.png 768w, https://kemena3d.com/site/wp-content/uploads/2025/06/image-6.png 1115w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>After successfully completing the build process without any errors, the compiled library files will be located in the <code>/Source/lib/Debug</code> and <code>/Source/lib/Release</code> directories.</p>



<p>The types of files generated, such as <code>.lib</code>, <code>.a</code>, or <code>.dll</code> will depend on your chosen linking method (static or dynamic).</p>



<ul class="wp-block-list">
<li>For <strong>static builds</strong>, you’ll typically see <code>.lib</code> (on Visual Studio) or <code>.a</code> (on MinGW, Linux, macOS).</li>



<li>For <strong>dynamic builds</strong>, you’ll see <code>.dll</code> on Windows and <code>.so</code> or <code>.dylib</code> on Linux/macOS, along with their corresponding import libraries (<code>.lib</code> or <code>.a</code>).</li>
</ul>



<p></p>



<p>Congratulations! You’ve successfully built the Kemena3D SDK! It&#8217;s now fully ready to be integrated into your projects. Whether you&#8217;re developing a game, visualization tool, or interactive application, you can now start leveraging the full power of the engine in your development workflow.</p><p>The post <a href="https://kemena3d.com/building-kemena3d-sdk-windows/">Building Kemena3D SDK (Windows)</a> first appeared on <a href="https://kemena3d.com">Kemena3D</a>.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
