Fangame How-to:SonicGDK/Frequently asked questions

From Sonic Retro

A list of commonly asked questions and its answers for those who want to use SonicGDK.


Key/button settings

To change them, open DefaultInput.ini file of \UDKGame\Config folder and search for the "Primary default bindings"; edit them as you wish. Replace "aFixedLook" word with "aLook" for mouse-like smooth look up/down.

Game crashes before starting

"UDK.exe has encountered a problem and has to close"

Make sure you have the last version of DirectX runtime installed; if you don't, download and install it, and test the game. In case the problem persists and you have an ATI Radeon X1000 series graphics card, try this solution:

  1. Open DefaultEngine.ini file of \UDKGame\Config folder.
  2. Copy the next two lines to the end of the opened file, save and test the game:


UDK tutorials

The Unreal Developer Network (UDN) is the official support site for the UDK developers. There you can also find links to video tutorials and other websites.

iPad/iPhone support

SonicGDK is only for PC/Mac; a developer certificate and mobile provision is needed for iOS development.

If I use SonicGDK in my own game, should I give credit?

Yes, an acknowledgement in the product documentation is required. SonicGDK is the result of several years of hard work.

Can I modify movement physics data?

Yes, place a single PawnSonic object in the map and change its "Physics Data" property; or change the available variable called PhysicsData in PawnSonic.uc (defaultproperties block, inherited from SGDKPlayerPawn class) by overriding it in PawnSonic or in your own pawn class.

How does the 2.5D movement work and how may I use it?

Use SGDKSplineActors to define a path to constrain player movement; combine SensorActors and CameraInfos to change the point of view of the camera. Read this tutorial.

I want to code a [insert thing here]; any suggestions?

  • For items use UTPickupFactory and UTInventory as parent classes; don't take the RingActor as a good reference.
  • For moving objects with physics use KActor as parent class or any of its subclasses; UTProjectile as parent class may be useful too.
  • For an invisible holder of information use Info as parent class.

How do I enable "Sonic Physics mode" in my map?

  • To enable "Sonic Physics mode" on a static mesh, use the "Add SGDK StaticMesh" option (select the StaticMesh in the content browser, right-click in the level editor window).
  • To enable "Sonic Physics mode" on CSGs or terrain, use SonicPhysicsVolumes to encompass the walkable surfaces.

Where does the default level music need to be placed?

  1. Place a single MusicInfo object in the map.
  2. Change the "Ambient" properties of the MusicInfo object; an intro track isn't required.

How do I change the HUD graphics or other related 2D graphics?

Place a single HudInfo object in the map and configure it.

Where can I modify the playable characters of the main menu?

Open DefaultGame.ini file of UDKdir\UDKGame\Config folder and go to the bottom part.

  • To add a new character, clone one of the lines that start with "AvailableChars" and change the "ClassName" and "ReadableName" fields.
  • To remove a certain character, put a semicolon at the beginning of the related line.

How do I add unlockable levels to the main menu?

Open DefaultGame.ini file of UDKdir\UDKGame\Config folder and go to the bottom part; clone one of the lines that start with ";MapsSequence", remove the semicolon and change the associated value of the field. Repeat the process for each level; the order matters.