Build 1.73 (August 3, 2018)
- New Video properties for the Home menu (or any menu) – PlayVideoOnce and PlayLoopingVideo. Set either key value to your video name (don’t include the .mp4 extension).  You need to include a Color Sprite in the Home.sks with the name VideoPlaceholder . You can size it however you and and put it above or behind other sprites. Most likely you want it to be 1920 by 1080 and above everything else. Take the transparency all the way down (otherwise you’ll see it when the video ends) This sprite is just used for layout purposes.
Build 1.72
- New Enemy property –Â CollideWithPlayerWhenHurt when set to YES, the player and enemy’s physics bodies still contact each other when the enemy is hurt (by default, the player could walk through the enemy when hurt)
- New Enemy property – HurtImpact a value in {x, y} format to apply an impulse to the enemy when hurt
- New Enemy property – KickWhenDownImpact a value in {x, y} format to apply an impulse to the enemy when already hurt and re-contact occurs. Must be used when CollideWithPlayerWhenHurt is set to YES
- self.removeAllActions() should have been called when BlinkOut occured
- General level settings, ForceCameraToStartAt, value in {x, y} format to force a camera inside an SKReferenceNode to start at specific spot instead of the middle of the scene.
Build 1.71
- Add a Health class for awarding extra health to the player
- New ShowScore Bool property for Enemy, Platform classes. Will show the score when killing an enemy or from a coin dropped from a platform.
- ScoreFont property for Settings, this value will be the font name you want to use for scores that show when collecting coins, or killing enemies
- New options for TileMaps, CreateBodyAsOneWayPlatform, CreateBodyAsTwoWayPlatform, CreateBodyAsMovingPlatform
- Fixed issue where TileMaps of the same name werent getting their properties
- Fixed issue where BoundaryFlip wasn’t working for Players or Enemies when Camera was in SKReferenceNode
Build 1.70
- Enemy refinements – OrientToPlayer now ignores enemy bumpers (to better chase players). This was also causing some weirdness in the code with the enemy turning around from the bumper than going back toward the player.
- DeadZone’s kill the player instantly (as they should), when we added a health meter option to the player, we overlooked that colliding with a DeadZone wasn’t automatically causing death.
- DeadZones can now be children of the camera.
- New Settings property – AutoMoveCamera, Â setting a value in {x,y} format with move the camera automatically. So if a DeadZone is parented to the camera, like on the left side, and the player can’t move forward fast enough in the level, they would die.
- Bullets were colliding with DeadZones, but they probably shouldn’t have been. So we made it so bullets now go through these areas (which are typically invisible anyway)
- New Enemy properties – AttackEvery, AngryAttackEvery, StopToAttack, StopToAngryAttack, StopToShoot, StopToAngryShoot, KillPlayerOnContact, Damage. All documented in the Enemy page.
- New player property – Â PushBackAmountWhenHurt , now that the player can be hurt, we’ve added a default value of 50 to this property, that will push back the player anytime they take damage but are not killed. Set this to 0 if you want no affect. Trust us though, a minimum of 50 is best.
- New Platform properties… CoinAnimation, CoinAllowsRotation, CoinAffectedByGravity, BumpAnimation, PauseWithPlayerContact, UnPauseWithPlayerContact, RotateWithPlayerContact, GravityWithPlayerContact. Â See the platform documentation page for full details.
- New TwoWayPlatform custom class, if the player goes down while on this platform they will go down through it.
- We optimized enemy spawning loop.
- Finally if you’re upgrading your existing game, you might want to move any enemy spawn points (that are children of the camera) closer to the top height of the camera.
Build 1.69
- You can now put the TheCamera (and all your child GUI elements within the camera) in an SKReferenceNode. This reference can be used on every level of your game. So if you change the GUI at all in the reference, it will be updated in all your levels.
- Platforms can now include a RicochetBullet property, which will make bullets bounce off the wall (reverse direction).
Build 1.68
- Your Players dictionaries can now include any names you want (instead of just Player1 and Player2), and your level settings can include the properties Player1Name and Player2Name with values matching the custom named dictionaries in the Players dictionary.
- Also patched up a bug where an Enemy’s attack action wasn’t running if a Saved Action was used for it.
Build 1.67
- Platforms and TileMaps are now “breakable”. The player can jump up underneath and break the platform (which can remove the platform with or without a break animation). Or the platform can drop coins when bumped from underneath. You can even set a platform to break after bumping it for a certain number of coins.
Build 1.66
- New Class – OneWayPlatform added. Yes you can jump UP through platforms now
- Added OnlyAdjustYWithController (makes it so the WeaponSpeedY property is ignored if the player isn’t using an extended controller)
Build 1.65
- Added a brand new demo to the kit. Now includes the original demo level and a retro pixel game.
- Merged the iOS and tvOS Xcode projects into one.  To upgrade either your iOS only or tvOS only projects you can still copy the same Swift files from the newer version to your old version (just be sure you back up first)
- Players can now shoot up or down using the Right Thumbstick of an extended game controller (like the Nimbus)
- You can add property list based enemies in the Scene (just give them a name and Custom Class of Enemy). Previously any “complex” enemy had to be spawn even if it was just a single enemy.
- TileMap Support (click here for details)
- Enemies, Players and SpringBoards can all use Saved Actions for their animations
- Enemies can have health meters (next update we’ll add this for Players too)
- Bullets can have custom Saved Actions for explosions
- Bullets can be animated with Saved Actions
- New Enemy properties (click here to read about each)… OrientToPlayer, ImpulseVector,  CollidesWithOtherEnemies, Friction, HealthMeter, HealthOffset, HealthFadesAfter, ExcludeFromKillCount, RemoveActionsWhenHurt
- New Player properties (click here to read about each)…  – Alpha for Body type, WeaponAnimation, WeaponExplosionAnimation, WeaponSpeedY, RightStickAdjustsSpeedY
Build 1.63
- Swift 3 code
- Added TileMap support for level design
- All animations can be setup by saving actions in the Actions.sks file (so no more defining individual frame names or FPS values in the property list)
- You can now put all settings properties for each level into a Settings dictionary (every setting but SKSFile)
Build 1.62
- Added ExplodeAsBullet property for Enemies and a minor fix with spawning offsets on iOS.
Build 1.61
- Added Spring Boards! Find out more here.
Build 1.6
- Added In-App Purchasing properties for buttons. Find out more at the bottom of this page.
Build 1.52
- Bug fix for Player 2 artwork not using the right art as defined for that level in Co-Op mode (thanks Douglas!)
Build 1.51
- Bug fix for the iOS version, players weren’t always returning to their walking animations after shooting.
- Added new Button property Player1PlaysAsPlayer2 which will switch whoever is normally playing as Player1 to use the Player2 character in the game. Add this property as a Bool value and set it to YES on any button that initiates any level of the game to have the switch occur. Players will be switched until a new game is started.
Build 1.5
- Silenced warnings for Xcode 7.3 / Swift 2.2
Build 1.43
- Bug fix for TreatLikeBullet not being activated when an Enemy was spawned from an Empty Node (vs another Enemy)
Build 1.42
- Patched up an issue where the shooting animations weren’t fully playing on iOS. If you lifted up your finger and noticed the main player’s shooting animation was going directly back to their idle state, then upgrade now.
- Added a property ResetPlatformTime, any number higher than 0, will move platforms back to their initial location using this number as the amount of time to spend moving them back. This property just goes in your main Dictionary for the level. This is useful for platforms that have Dynamic toggled on. So if the player jumps on them, their weight will move the platform down. If the player loses a heart / life, the platform will go back to it’s initial position.
Build 1.41
- In the cleanUpScene function in GameScene.swift we added an action sequence that removes every child from the scene after about 2 seconds. Â An astute customer noticed a memory leak past a certain number of levels, and apparently Sprite Kit must be retaining something even after a scene transitions. Yes you’d assume when transitioning a scene the outgoing scene is completely cleared out. Guess not. So we’re making it remove every node on it’s way out the door. =)