Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - ArenMook

Pages: [1] 2 3 ... 1447
Dev Blog / Re: Nov 11, 2017 -- How to edit UnityEngine.dll
« on: April 25, 2018, 03:54:17 PM »
Unity's reference code can't be compiled. Not sure what you're trying to do there.

NGUI 3 Support / Re: Latest Version: 3.11.4 (June 5, 2017)
« on: April 25, 2018, 03:51:12 PM »
- NEW: Popup list can now accept delegates when setting up the items programmatically (ideally anonymous delegates).
- NEW: Added Localization.Format overloads for 3 parameters and less to avoid GC allocations.
- NEW: Added UIWidget.SetColorNoAlpha helper function.
- NEW: color.LinearToGammaSpace() helper extension to match color.GammaToLinear().
- NEW: Added a fast path for updating a widget's collider if the collider is already known, and forced it to be used when the widget gets enabled.
- NEW: Added the "No Outline" option to the symbol coloring style. The symbol won't have an outline even if the text does.
- FIX: Fixed an issue with the font's actual printed size not being printed correctly in inspector in some situations.
- FIX: Random minor fixes from the support forum.
- FIX: Missing localization entry warnings will now only be shown once per keyword.
- FIX: UICamera will no longer keep assigning UICamera.hoveredObject repeatedly while mouse events are enabled. It will now only be assigned if the hovered object changes, or the mouse moves.
- FIX: Fixed some issues with NGUIText.InsertHyperlink/ReplaceLink.
- Merged pull request #26 by Nicki Hansen.
- Checked against Unity 4.7, 5.6, and 2018.1b2.

NGUI 3 Support / Re: Special Characters Break Text Wrapping
« on: March 29, 2018, 12:02:08 PM »
You really should be using emoticons instead.

NGUI 3 Support / Re: and Vector3(1,1,1)
« on: March 29, 2018, 12:00:50 PM »
Zero is an invalid scale. You can't divide by zero, so inverse transform can't be calculated. You're shooting yourself in the foot whenever you use a zero scale. Consider changing it to 0.001 instead.

Your question is also not an NGUI question, and not even a Unity question, but a basic C# question. In C# you need to prefix new object declarations with a "new".

NGUI 3 Support / Re: iPhone X display NGUI support
« on: March 29, 2018, 11:57:34 AM »
He asked in Discord. Just join Tasharen's discord ( and scroll up in the #ngui-support channel to February 19th and you will see the conversation.

Kafar - 02/19/2018
I read NGUI support is moved here, so I put here my post:   Hello,

I read the only one post who talk about this topic ( but it not is for me.
I have a UI Root and inside it many other UIpanels, UIButtons, etc, all anchored but on iPhone X the result is that the gui go partially off to the edge of the screen.

I tried also with this sample project mentioned in the other post but that sample not is for NGUI. My problem is my app run on all Apple and Android devices, then I can't adjust the widget's offsets for iPhone X only because this will impact on all other devices.

So, definitively, there are solutions (in this case) with NGUI?
Many thanks.
p12tic / iOSSafeAreasPlugin
A Unity project containing a native plugin wrapping iOS safe areas APIs
I forgot..... googling I can't found nothing about this
Aren - 02/19/2018

if the device is not iphone x, disable that adjustment script of yours
Kafar - 02/19/2018
Thank @Aren but after I checked the device is a iPhone X I can  adjust UIpanels, UIWidgets, NGUI etc via code?
Aren - 02/19/2018
you should adjust the UICamera's camera's viewport
if you adjust that, you don't need to do anything
basically offset the viewport on the top by X pixels, where X is what's needed
Kafar - 02/19/2018
but.... viewport or Field of View?
I tried to offset the viewport but nothing change, with Field of View yes
Aren - 02/19/2018
Viewport Rect
Kafar - 02/19/2018
yes, Viewport Rect, I changed but nothing change
Viewport Rect accept negative values also?
Aren - 02/19/2018
if you have a sprite anchored across the entire screen, you will see it move when you adjust the viewport rect
simplest script for you is -- have the viewport rect be adjusted to what you need it to be for iphone x, then have your script simply set the rect to 0 and 1's if it's not iphone x
Kafar - 02/19/2018
ok, thanks!
Kafar - 02/19/2018
@Aren I'm sorry but I don't understand.... if I edit values for Viewport Rect X the GUI move to right or left but it not fit. Same thing if I edit Y or W or H. What is wrong?
Aren - 02/19/2018
try setting height to 0.97
there will be empty space on top equal to 0.03 * screen height pixels
Kafar - 02/19/2018
from code is Camera.ViewportToScreenPoint(Vector3)? If yes, the X, Y, W, H and specifically the H where I set it?
Aren - 02/19/2018
select the game object in inspector
set its camera script viewport rect
Kafar - 02/19/2018
no, I need to do in the script, in the case the app don't run on the iphonex
Aren - 02/19/2018
consult unity's documentation for how to set viewport rect via code, or look at the UIViewport script

I expect Windows to work faster, since it uses IO Completion ports, which is a Windows feature. Plus, on Windows it runs using .NET, while on Linux it runs through Mono.

Windows will win.

I'm not aware of anything related to this, so can't say. I don't do anything special.

TNet 3 Support / Re: Latest Version: 3.1.0 (September 22, 2017)
« on: March 26, 2018, 05:42:58 AM »
- NEW: DataNode can now export entire bundles (think AssetBundle, but with DataNode). Just select a folder (or multiple files) and use the Assets->DataNode->Export feature. It's up to you to determine what to do about importing the bundles (I use a custom Prefab Manager in Sightseer for example), but an example import functionality and function is included (Assets->DataNode->Import supports them).
- NEW: DataNode can now export audio clips.
- NEW: DataNode now exports textures in their native compressed state, rather than forcing RGBA.
- NEW: It's now possible to add custom serialization functions for all data types by using extensions, without the need for an interface. Read comments above #define SERIALIZATION_WITHOUT_INTERFACE for more info. This makes it possible to add custom serialization for all Unity and 3rd party data types as well.
- NEW: Made it possible to specify custom protocol handling which would bypass sockets. Immediate use: Steam's networking API.
- NEW: Added a low memory footprint mode to the game server. Use the 'lm' keyword to enable it once the server is running. LM mode means once the last player leaves, channel data will be unloaded. Can save memory at the expense of extra time spent loading channel data when players rejoin.
- NEW: Made it possible to assign a custom connection to both the TNManager, and individual connections of the Game Server. I used it in Sightseer to add support for Steam networking: basically instead of using sockets, TNet can now also use Steam's Networking API.
- NEW: It's now possible to specify the root directory on the file server (game server's parent class) to use for all file-based operations.
- NEW: Numerous DataNode serialization fixes and improvements to make it possible for it to serialize prefabs properly, including iffy types like ParticleSystems.
- NEW: Added a Max Packet Time to the game client that TNet will spend processing packets each Update. Can be used to automatically split up packet processing across multiple frames.
- NEW: Added #define options to the game client to provide packet profiling. If enabled, all incoming packets will show up in the Unity's Profiler.
- NEW: WorkerThread now supports coroutines for the main thread's callback.
- NEW: Replaced TNObject/TNBehaviour's Start functions with a custom setup to avoid a bug in Unity that causes disabling components with a Start() function to take 100+ times longer than normal.
- NEW: Added TNManager.Disconnect(delay). Can be useful if there are still packets that need to be sent out before disconnecting. Will prevent all further packets from being sent out or being received.
- NEW: Added a built-in server side check that prevents multiple players from requesting the same player save file.
- NEW: TNet now keeps a list of sent RFC names with their count while in the editor so that you can track which RFCs happen to be called too frequently.
- NEW: Added Vector2D and Vector3D -- double precision version of Unity's vectors.
- NEW: Added TNManager.Export and Import -- the ability to export and import objects from the server. This effectively sends all the RCC and RFCs from the server to the client that are necessary to import a group of objects in the future. In Sightseer I use it to save entire groups of pre-configured assets (such as a fully equipped player vehicle complete with inventory contents) then instantiate them easily after moving them somewhere.
- NEW: TNet's function calls will now automatically try to convert parameters if they don't quite match. For example changing an RFC to pass a Vector3D instead of a Vector3 will no longer break serialization.
- NEW: Added TNObject.Find(fullID) and TNObject.fullID. It's a combination of channel+object ID in one.
- NEW: Added a new "MODDING" #define. If enabled, TNet will be compiled in a stripped-down mode with serialization intact, but connectivity inoperable. This is meant for making exporter mod DLLs.
- NEW: Object and component references are now serialized using IDs instead of strings for less space and faster lookup.
- FIX: Updating a saved RFC on the server will now move it to the end of the saved RFC list, ensuring that it's called in the correct order on load.
- FIX: Fixed the Tcp Lobby link sending server updates every 5 seconds even if nothing changed. It now sends Ping packets instead.
- FIX: Changed ban and admin lists to be hashsets instead for faster lookups.
- FIX: Fixed DataNode's GetHierarchy causing GC allocations.
- FIX: Calling SetChannelData should now persist, even if nothing was actually instantiated in that channel.
- FIX: DataNode can now contain other DataNode values in its nodes' value field without breaking serialization.
- FIX: HTTP responses now use UTF-8.

Dev Blog / Re: Nov 11, 2017 -- How to edit UnityEngine.dll
« on: March 25, 2018, 01:13:13 AM »
Yes, I tried it in 2017.3 a while back. It worked as expected. You probably just missed something.

NGUI 3 Support / Have a question that hasn't already been answered here?
« on: February 17, 2018, 10:46:00 PM »
NGUI's support forums are a wealth of information that have been filled by 6 years of dedicated support, but times are changing and so should the support. The best place to ask new questions that haven't already been answered on the forums is in Discord: -- look for the #ngui-support section.

For those that don't know, Discord is a text / voice communication program, and it's accessible via your browser.

I hate forums. Always did. Chat is much easier, and with much better response times to boot as I'm always there when I'm awake.

NGUI 3 Support / Re: Is NGUI still actively supported?
« on: February 17, 2018, 10:38:51 PM »
I've been... neglecting the forums lately, I admit. I've moved all support to Discord back in December ( What I've been telling people (and what the's contact form says) is -- if you can't find the answer to your question by googling it / searching's forums, then you're welcome to ask in discord and I'll respond (and if it's a question specifically to me, be sure to tag me with @Aren so I see it).

Dev Blog / Re: July 21, 2017 - Grass
« on: December 31, 2017, 10:38:21 PM »
Yeah, I don't want to deal with support, making all the necessary art, preview vids, and all the other hassle related to submitting to the asset store nowadays. I might release it as a public github project later, however.

NGUI 3 Support / Re: Poor Scrollview Performance
« on: November 29, 2017, 08:47:39 AM »
What's the point of making duplicate posts on the same issue?

NGUI 3 Support / Re: Batching Issue!
« on: November 29, 2017, 08:44:13 AM »
NGUI doesn't use Unity's batching system. It does batching itself automatically.

Dynamic fonts break up batching, so if you have this:

Sprite (depth 0)
Label (depth 1)
Sprite (depth 2)
Label (depth 3) will have 4 draw calls because it's the only way to render everything properly. Instead you should be organizing your UI like this:

Sprite (depth 0)
Sprite (depth 1)
Label (depth 2)
Label (depth 3)

This will result in 2 draw calls because sprites will be batched with sprites and labels will be batched with labels.

If you stop using Unity's dynamic fonts and instead use atlas fonts, as recommended by NGUI's labels, you will draw the entire UI in 1 draw call and the depth order won't matter, making your job easier.

NGUI 3 Support / Re: Issues with Nintendo 3DS
« on: November 29, 2017, 08:40:43 AM »
You should be downloading NGUI from Unity 5.6 rather than 2017. It will download the Unity 5 version for you. That said, 5.4 isn't officially supported anymore by NGUI, so you may need to tweak it to get it working.

Pages: [1] 2 3 ... 1447