= jMonkeyEngine SDK Documentation
:author:
:revnumber:
:revdate: 2016/03/17 20:48
:experimental:
:keywords: documentation, tool, sdk
ifdef::env-github,env-browser[:outfilesuffix: .adoc]



== Why jMonkeyEngine SDK?


image::sdk/jme3-jmonkeyplatform.png[jme3-jmonkeyplatform.png,width="288",height="180",align="left"]

The jMonkeyEngine SDK (software development kit) is the recommended game development environment for the jMonkeyEngine 3 library.

The jMonkeyEngine SDK is an integrated development environment (IDE) that provides you with unique plugins for creating jMonkeyEngine 3 game content. You can link:https://github.com/jMonkeyEngine/sdk/releases/tag/3.1-stable-FINAL[download and install the jMonkeyEngine SDK] as a ready-to-use complete game development environment, rather than using a generic Java IDE. (<<sdk/what_s_an_ide#,What's an IDE>>?)

Since the jMonkeyEngine SDK is based on the link:http://platform.netbeans.org/[NetBeans Platform] (<<sdk/whynoteclipse#,Why not Eclipse RCP?>>), you have access to all of the developer tools in the link:http://www.netbeans.org/[NetBeans IDE], including a wide variety of deployment formats ranging from browser Applet and WebStart to desktop executables. Although we recommend the jMonkeyEngine SDK, experienced users can work with the jMonkeyEngine JARs in their favorite IDE, and choose to only use the jMonkeyEngine SDK to manage assets and JME3 binaries.


[TIP]
====
Go to `menu:Settings[Keymap]` and choose your favorite keyboard profile: NetBeans default, Eclipse, IntelliJ, or others.
====



=== Documentation


[TIP]
====
To get help and code samples right in the SDK, press `kbd:[F1]`, or press `kbd:[Ctrl]` + `kbd:[i]` to enter a query in the super search box (top right)!
====


The built-in help system lets you browse a local copy of the documentation pulled from this wiki. It also contains code samples and info about installed plugins and generic IDE features.


== All Features and Usecases


=== Video Tutorials

*SDK Use Case Tutorials*

*  link:http://www.youtube.com/watch?v=-OzRZscLlHY[Video: jMonkeyEngine SDK Use Case Demo 1 (Quixote demo)]
*  link:http://www.youtube.com/watch?v=6-YWxD3JByE[Video: jMonkeyEngine SDK Use Case Demo 2 (Models and Materials)]

*SDK Tutorials*

*  link:http://www.youtube.com/watch?v=M1_0pbeyJzI[Video: jMonkeyEngine SDK - Basics]
*  link:http://www.youtube.com/watch?v=nL7woH40i5c[Video: jMonkeyEngine SDK - Importing Models]
*  link:http://www.youtube.com/watch?v=DUmgAjiNzhY[Video: jMonkeyEngine SDK - Dragging&amp;Dropping Nodes]
*  link:http://www.youtube.com/watch?v=ntPAmtsQ6eM[Video: jMonkeyEngine SDK - Scene Composing]
*  link:http://www.youtube.com/watch?v=zgPV3W6dD4s[Video: jMonkeyEngine SDK - Terrain with Collision Shape]
*  link:http://www.youtube.com/watch?v=Feu3-mrpolc[Video: jMonkeyEngine SDK - Working with Materials]
*  link:http://www.youtube.com/watch?v=MNDiZ9YHIpM[Video: jMonkeyEngine SDK - Custom Controls]
*  link:http://www.youtube.com/watch?v=oZnssg8TBWQ[Video: WebStart Deployment]
*  link:http://www.youtube.com/watch?v=D7JM4VMKqPc[Video: Animation and Effect TrackEditing]


[.right.text-left]
image:sdk/jmonkeyplatform-docu-4.png[jmonkeyplatform-docu-4.png,width="421",height="298",align="right"] +
image:jme3-built-in-help.png[jme3-built-in-help.png,width="400",height="260",align="right"]

=== SDK User Guide

*Getting Started*

*  <<sdk/update_center#,Updating jMonkeyEngine SDK>>
*  <<sdk/troubleshooting#,Troubleshooting>>

*Generic Java Development Features*

*  <<sdk/project_creation#,Project Creation>>
*  <<sdk/code_editor#,Code Editor and Palette>>
*  <<sdk/version_control#,File Version Control>>
*  <<sdk/application_deployment#,Application Deployment (JAR, WebStart, Applet, Android)>>
**  <<sdk/default_build_script#,Default Build Script>>
**  <<jme3/android#,Android>>
**  <<jme3/ios#,iOS>>

*  <<sdk/debugging_profiling_testing#,Debugging, Profiling, Testing>>

*Unique Game Development Features*

*  <<sdk/model_loader_and_viewer#,Importing, Viewing, and Converting Models>>
**  <<sdk/asset_packs#,Asset Packs>>

*  <<sdk/scene_explorer#,The SceneExplorer>>
*  <<sdk/scene_composer#,Composing a Scene>>
*  <<sdk/terrain_editor#,Terrain Editor>>
*  <<sdk/sample_code#,Sample Code>>
*  <<sdk/material_editing#,Material Editing>>
*  <<sdk/font_creation#,Creating Bitmap Fonts>>
*  link:https://hub.jmonkeyengine.org/t/effecttrack-and-audiotrack-editing-in-the-sdk/23378[Audio and Effect Track Editing]  
**  link:https://www.youtube.com/watch?v=D7JM4VMKqPc[Video: Effect and AudioTrack editing in jMonkeyEngine 3 sdk]
//*  <<sdk/attachment_bones#,Animation and Attachment Bones Editing>>
*  <<sdk/filters#,Post-Processor Filter Editor and Viewer>>
//*  <<sdk/blender#,Blender Importer>>
*  <<jme3/advanced/application_states#,Application States>>
*  <<jme3/advanced/custom_controls#,Custom Controls>>
*  <<sdk/vehicle_creator#,Vehicle Creator>>


[NOTE]
====
jMonkeyEngine SDK is continuously being improved. Check out this link for a list of changes and improvements for the future: link:https://github.com/jMonkeyEngine/jmonkeyengine/issues/198[changes and improvements for the future]
====



image::jme3/jmonkey-sdk-workflow.png[jmonkey-sdk-workflow.png,width="",height="",align="center"]



== Advanced Usage

*  <<sdk/use_own_jme#,Using your own (modified) version of jME3 in jMonkeyEngine SDK>>
*  <<sdk/development/model_loader#,Create a custom model importer>>
*  <<sdk/log_files#,Log Files>>
*  <<sdk/increasing_heap_memory#,Increasing Heap Memory>>


== Available external plugins

*  <<jme3/contributions#,Contributions>>
*  <<sdk/neotexture#,Neo Texture Editor for procedural textures>>
*  link:http://www.youtube.com/watch?v=yS9a9o4WzL8[Video: Mesh Tool &amp; Physics Editor]
*  And more…


=== Development

*  <<sdk/build_platform#,Building jMonkeyEngine SDK>>
*  <<sdk/development#,Developing plugins for jMonkeyEngine SDK>>


=== Status and Roadmap

See link:https://github.com/jMonkeyEngine/jmonkeyengine/labels/roadmap[this page on GitHub] for links to up-to-date info on current status and features.


== A Little Bit of History
////
Removed links due to not being able to find them...

The jMonkeyEngine SDK first set root during a link:http://www.jmonkeyengine.com/forum/index.php?topic=13070.0[discussion with Normen Hansen]. Although similar projects existed previously, this was the first serious attempt that had the original core team's blessing. For some time, the project was referred to merely as the "link:https://blogs.oracle.com/geertjan/youtube-movie-of-jmonkeyengine-on-netbeans-platform[Game Development Environment], or "GDE" for short. During alpha, we referred to it as link:http://www.jmonkeyengine.com/forum/index.php?topic=13510.0[jMonkeyPlatform], and for beta it was eventually renamed to the jMonkeyEngine SDK.
////

The jMonkeyEngine SDK first set root during a discussion with Normen Hansen. Although similar projects existed previously, this was the first serious attempt that had the original core team's blessing. For some time, the project was referred to merely as the Game Development Environment, or "GDE" for short. During alpha, we referred to it as jMonkeyPlatform, and for beta it was eventually renamed to the jMonkeyEngine SDK.
